【问题标题】:Random Button Location Reeaction Game随机按钮位置反应游戏
【发布时间】:2014-09-24 08:46:02
【问题描述】:

我正在尝试创建一个反应游戏,由一个 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# 新手,我搜索了很多,但我想我找不到我的错误。

【问题讨论】:

  • 您希望点击处理程序运行一个移动按钮一次的方法。 (并将移动总数保存在私有字段或类似字段中。

标签: c# button random location


【解决方案1】:

正是因为这条线。

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;
}

【讨论】:

  • 感谢您的回答。那么,我该如何解决这个问题?
  • 哇。非常感谢尼拉夫卡马尼!你真的帮了我很多! :-)
猜你喜欢
  • 1970-01-01
  • 2021-02-28
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 2021-07-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多