我創建了一個要求用戶猜測數字的表單。我在100個整數上創建了一個數組,創建了一個方法來獲得隨機數來填充數組。所有工作正常,但我需要創建另一種方法,一旦做出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();
}
然後,我有兩個按鈕看,如果猜測是正確的,並讓他們再猜。
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();
}
我再次調用該方法,因此它不會爲每個猜測生成相同的數字。
所以你只需要保留一個計數器來進行猜測次數,並在100時再次填充數組呢? – 2013-05-14 14:24:36
你可能只需要調用'getNumbers()',只要他們猜對了。 – ja72 2013-05-14 16:39:34