2014-09-24 98 views
0

我正在尝试创建一个反应游戏,它由一个Windows窗体,一个随机出现的按钮和一个TestBox来计算命中。随机按钮位置Reeaction游戏

这是我的代码到目前为止。当我调试它的变量“我”收到值9,为什么?!

private void button1_Click(object sender, EventArgs e) 
{ 
    int i; 
    Random x = new Random(); 
    for (i = 0; i < 10; i++) 
    { 
     Point pt = new Point(
      int.Parse(x.Next(400).ToString()), 
      int.Parse(x.Next(250).ToString()) 
      ); 
     button1.Location = pt; 
     textBox1.Text = "Hits: " + i; 


    } 

} 

我是C#的新手,我搜索了很多,但我想我找不到我的错误。

+0

您希望点击处理程序运行一次移动按钮的方法。 (并保留在私人领域或类似的存储移动的总数 – ne1410s 2014-09-24 08:53:22

回答

0

这是因为这条线。

textBox1.Text = "Hits: " + i; 

你把上面的句子中循环,所以当循环停止的“i”变量值9,将显示在文本框中。

点击按钮后,将按钮位置移动10次,然后将“i”的值放入文本框中。

为使其正确无误,请在代码中进行以下更正。

int i=0; // Define i at class level 
private void button1_Click(object sender, EventArgs e) 
{  
    Random x = new Random(); 

     i++; 
     Point pt = new Point(
      int.Parse(x.Next(400).ToString()), 
      int.Parse(x.Next(250).ToString()) 
      ); 
     button1.Location = pt; 
     textBox1.Text = "Hits: " + i; 
} 
+0

感谢您的回答。所以,我该如何解决这个问题? – Michael 2014-09-24 08:50:16

+0

哇,非常感谢Nirav Kamani!你真的帮了我很多!:-) – Michael 2014-09-24 08:55:53