-1

好的。对于本周我和我的班级正在做的 iLab,我们正在使用 GUI。我们必须设计的第二个程序是猜谜游戏。该程序应该随机生成一个从 0 到 100 的数字,并将该数字传递给以后使用。这是我已经拥有的代码。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Guessing_game
{
    public partial class Form1 : Form

    {
        int target();
        public Form1()
        {
            InitializeComponent();
            Random r = new Random();
            int target = r.Next(0, 100);
        }

        private void btnEvaluate_Click(object sender, EventArgs e)
        {
            if (txtGuess.Text == target)
            {

            }
        }
    }
}

}

请注意,“btnEvaluate_Click”区域尚未完成。这是因为程序应该可以访问的变量“Target”以后无法读取。

在阅读了一些评论后,我能够调整代码,所以我又得到了一个错误:“字段'Guessing_game.Form1.target'从未分配给,并且将始终具有其默认值0”如果有人要试着复制这个,我可以告诉你确切的写法。GUI 应该有一个标签、一个文本框和一个按钮。该按钮需要获取赋予“目标”的值,以便它可以检查用户对目标值的猜测。如果有帮助,我正在使用 Visual Studio 2010。

4

4 回答 4

4

试试这个,你需要声明target公开

    Random r = new Random();
    int target = r.Next(0, 100);
    public Form1()
    {
        InitializeComponent();
    }

    private void btnEvaluate_Click(object sender, EventArgs e)
    {
        if (txtGuess.Text == target)
        {

        }
    }
于 2013-10-07T21:08:01.843 回答
1

int target你必须把public Form(). 在您的活动中,更改targettarget.ToString().

于 2013-10-07T21:07:46.123 回答
1

括号{}定义了一个范围。您已经在构造函数 ( )target的范围内声明了变量。Form1因此,为了使其在整个类中可访问,您可以将其设为类级别变量。例如

int target;
public Form1()
{
   InitializeComponent();
   Random r = new Random();
   target = r.Next(0, 100);
}

(尽管如果您打算Random再次使用该对象,您也希望将其设为类级别变量)。此外,您正在尝试将 anint与字符串进行比较。它应该是

if (txtGuess.Text == target.ToString())
{

}
于 2013-10-07T21:10:39.480 回答
0

这是因为target对于构造函数来说是本地的,因此在其他任何地方都看不到。而是在target其中创建一个字段。Form1因为这是作业,我会让你自己试试;让我们知道您是否仍然感到困惑。

于 2013-10-07T21:10:05.120 回答