ユーザーに数字を推測させるフォームを作成しました。100 int の配列を作成し、乱数を取得して配列を埋めるメソッドを作成しました。すべて正常に動作していますが、100 回の推測が行われると配列を 0 にリセットする別のメソッドを作成する必要があり、現在のセットアップを続行できるようです。ボタンをクリックするたびに再起動するだけでなく、アレイがいっぱいになっていることを確認するにはどうすればよいですか?その後、リセットするにはどうすればよいですか? 繰り返しますが、これは私のすべての要件を満たしていないだけでうまくいきます。
これが私の配列とメソッドのコードであり、どこでそれを呼び出しているかです:
int[] rndArray = new int[100];
int wrong = 1;
int right = 1;
public void getNumbers()
{
Random random = new Random();
for (int x = 0; x < rndArray.Length; x++)
{
rndArray[x] = random.Next(1, 100);
}
}
public Form1()
{
getNumbers();
InitializeComponent();
}
次に、推測が正しかったかどうかを確認し、もう一度推測できるようにする 2 つのボタンがあります。
private void Guess_Click(object sender, EventArgs e)
{
bool num = true;
for (int x = 0; x < rndArray.Length; x++)
{
if (Convert.ToInt32(textBox1.Text) == rndArray[x])
{
result.Text = "You Win!";
num = true;
}
else
{
result.Text = "Sorry - you loose; the number is: " + rndArray[x];
num = false;
}
}
if (num == true)
correct.Text = "Correct: " + right++;
else
incorrect.Text = "Incorrect: " + wrong++;
mouseHere.Enabled = false;
Guess.Enabled = false;
nextGuess.Enabled = true;
}
private void nextGuess_Click(object sender, EventArgs e)
{
mouseHere.Enabled = true;
Guess.Enabled = true;
nextGuess.Enabled = false;
hint.Text = "??";
textBox1.Text = "";
result.Text = "";
getNumbers();
}
メソッドを再度呼び出したので、推測ごとに同じ数が生成されません。