-1
그래서 저는 도박으로 게임을하고 있습니다 (두 개의 주사위가 7을 합친다면 승리합니다, 그렇지 않으면 잃을 것입니다). 내가 얻는 문제는 내 베팅 칩을 줄이거 나 늘리는 방법을 모른다는 것입니다. 칩을 100으로 시작하고 10 칩을 더 얻으면 이기면 10 칩을 가져갈 것입니다. 그러나 승리 또는 패배의 경우, 내 칩은 110 또는 90으로 이동합니다. 어떻게하면 내 프로그램이 원래 칩 번호가 아닌 가장 최근의 칩 금액에 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
}
}
당신은 버튼을 클릭
Chips
변수마다 초기화하는
'int chips = 100;'을 'private void button_Click (object sender, RoutedEventArgs e)'위의 행으로 이동하십시오. 그게 효과가 있니? – mjwills
[메서드를 호출 할 때 [변수를 0으로 재설정]의 가능한 중복] (https://stackoverflow.com/questions/7744497/variables-reset-to-zero-when-i-call-a-method) – mjwills
범위 및 변수 수명이 변수와 함께 작동하는 방식을 더 잘 이해해야합니다. 나는 그 주제에 관해 더 많이 읽는 것으로 시작할 것입니다. –