好。对于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,如果有帮助的话。
答案 0 :(得分:4)
试试这个,您需要声明target
public
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)
{
}
}
答案 1 :(得分:1)
您必须将int target
放在public Form()
之外。在您的活动中,将target
更改为target.ToString()
。
答案 2 :(得分:1)
括号{}
定义范围。您已在构造函数(target
)的范围内声明了Form1
变量。因此,为了使它在整个类中可访问,您可以使它成为类级变量。例如
int target;
public Form1()
{
InitializeComponent();
Random r = new Random();
target = r.Next(0, 100);
}
(虽然如果你打算再次使用Random
对象,你也希望将它作为类级变量。此外,您正在尝试将int
与字符串进行比较。它应该是
if (txtGuess.Text == target.ToString())
{
}
答案 3 :(得分:0)
那是因为target
是构造函数的本地,因此无法在其他任何地方看到。在target
中设置Form1
字段。因为这是家庭作业,我会让你自己尝试一下;如果你还是难过,请告诉我们。