-1
私はゲームを賭けて賭けに取り組んでいます(2つの賭けを合わせて7つにすると勝ちますが、そうでなければあなたは負けます)。私が得ている問題は、私の賭けのチップをどのように減らすか上昇させるかを知らないということです。私はスタートチップを100に設定しました。勝利すれば10チップが得られます。もしあなたが負けば、あなたから10チップが取られます。しかし、当選した場合や負けた場合、私のチップは110または90になります。どうすれば私のプログラムは元の100ではなく、最新のチップ量に10チップを加えたり追加したりすることができます。C#WPF賭けゲームの賞金の問題
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void button_Click(object sender, RoutedEventArgs e)
{
#region dice throw
Random num = new Random();
int Number = new int();
int Number1 = new int();
int Chips = 100;
Number1 = num.Next(1, 7);
dice1.Text = Number1.ToString();
Number = num.Next(1, 7);
dice2.Text = Number.ToString();
#endregion
#region Win/lose
if (Number + Number1 >= 7)
{
if (bet10.IsChecked == true)
{
totalChips.Text = Chips.ToString();
Chips = Chips + 10;
}
if (bet20.IsChecked == true)
{
Chips = Chips + 20;
totalChips.Text = Chips.ToString();
}
if (bet50.IsChecked == true)
{
Chips = Chips + 50;
totalChips.Text = Chips.ToString();
}
winloseblock.Text = "You Win!";
}
else
{
if (bet10.IsChecked == true)
{
Chips = Chips - 10;
totalChips.Text = Chips.ToString();
}
if (bet20.IsChecked == true)
{
Chips = Chips - 20;
totalChips.Text = Chips.ToString();
}
if (bet50.IsChecked == true)
{
Chips = Chips - 50;
totalChips.Text = Chips.ToString();
}
winloseblock.Text = "You lose!";
}
#endregion
}
}
'int Chips = 100;'を 'private void button_Click(object sender、RoutedEventArgs e)'の上の行に移動します。それはそれを動作させるか? – mjwills
[メソッドを呼び出すと変数がゼロにリセットされる]の可能な複製(https://stackoverflow.com/questions/7744497/variables-reset-to-zero-when-i-allall-a-method) – mjwills
スコープと変数のライフタイムが変数でどのように機能するかをよりよく理解する必要があります。私はその話題についてもっと読んで始めます。 –