解決方法がわからない問題が 2 つあります。
diceThrow()
サイコロをランダムに振って 1 ~ 6 の答えを複数回出すことになっていますが、1 ~ 6 の答えは 1 つだけで、それを行うだけです。すなわち (6、6、6、6、6、6 など)
と については、「 」またはのrollDice()
定義が不十分なだけかどうかはわかりませんが、 の場合、プログラムを終了してリセットする必要があります。i
maxRolls
i > maxRolls
これらのいずれかを修正する方法についてのアドバイスは大歓迎です、ありがとう!
//somewhere else in code
int maxRolls = RollsNumber();
int throwresult = diceThrow();
int i;
//*******************************
private void rollButton_Click(object sender, EventArgs e)
{
rollDice();
wagerTextBox.Text = null;
wagerTextBox.Text = scoreTextBox.Text;
diceThrow();
MessageBox.Show(Convert.ToString(throwresult));
if (maxRolls < i)
{
MessageBox.Show("You got too greedy.");
//reset the form
}
}
// Decides the maximum number of rolls before the player loses
static public int RollsNumber()
{
Random rolls = new Random();
return rolls.Next(1, 10);
}
// Throws the dice
static public int diceThrow()
{
Random dice = new Random();
return dice.Next(1, 7);
}
private void rollDice()
{
for (i = 0; i <= maxRolls; i++)
{
int wager = Convert.ToInt32(wagerTextBox.Text);
int score = wager * 100;
scoreTextBox.Text = Convert.ToString(score);
}
}
} }