随机按钮位置反应游戏

时间:2014-09-24 08:46:03

标签: c# button random location

我正在尝试创建一个反应游戏,由Windows窗体,随机显示按钮和TestBox组成,以计算命中数。

到目前为止,这是我的代码。当我调试变量" i"收到值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#的新手,我搜索了很多,但我想我无法找到我的错误。

1 个答案:

答案 0 :(得分: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;
}