我想要生成1到10之间的随机数。但是我遇到了一些错误。
public Form1()
{
InitializeComponent();
}
int randomNumber = (0, 11);
int attempts = 0;
public int RandomNumber
{
get
{
return randomNumber;
}
set
{
randomNumber = value;
}
}
全部在0,11下用逗号表示 - > struct System.Int32表示32位有符号整数< - 。在11下它说 - >标识符预期语法错误,','预期< - 。现在,如果我只是喜欢int randomNumber = 0;然后它会工作正常,仍然有多个猜测,猜测计数加起来应该是,并且标签太高太低。只是数字总是0。
另外我怎样才能将它发送到我没有点击猜测按钮的地方,我可以点击键盘输入?
private void button1_Click_1(object sender, EventArgs e)
{
try
{
if (int.Parse(textBox1.Text) > RandomNumber) label1.Text = "Too high.";
else if (int.Parse(textBox1.Text) < RandomNumber) label1.Text = "Too low.";
else
{
label1.Text = "You won.";
textBox1.Enabled = false;
label2.Text = "Attempts: 0";
textBox1.Text = String.Empty;
MessageBox.Show("You won in " + attempts + " attempts, press generate to play again.", "Winner!");
attempts = 0;
label2.Text = "Attempts: " + attempts.ToString();
return;
}
attempts++;
label2.Text = "Attempts: " + attempts.ToString();
}
catch { MessageBox.Show("Please enter a number."); }
}
答案 0 :(得分:1)
您可以使用类似下面代码的内容生成1到10之间的随机数
Random randomNumberGenrator = new Random();
int num = randomNumberGenrator.Next(10) + 1;
答案 1 :(得分:1)
要生成随机数,您必须使用System.Random类。您的语法可能如下所示:
System.Random rng = new System.Random(<insert seed if you want>);
int randomNumber = rng.Next(1,11);
你必须做rng.Next(1,11),因为下限是include(1是可能的结果),上限是exclude(11没有被添加到可能结果的池中)。
要实现您的Enter快捷键,您必须在Forms KeyPress事件中添加一个方法,您可以在该事件中调用button1_clicked方法。
button1_Clicked_1(this, System.EventArgs.Empty);
最后,您必须将表单“KeyPreview”属性设置为true。
答案 2 :(得分:0)
看看this。
使用Random类生成随机数。
private Random _rnd = new Random();
private int RandomNumber
{
get
{
return _rnd.Next(0,11);
}
set
{
this = value;
}
}