decimal i_random = new Random().Next(100);
decimal i_guess = numericUpDown1.Value;
decimal i_count =0; for (i_count = 0; i_count < 10; i_count++)
{
if (i_guess < i_random)
{
MessageBox.Show("太小了.");
continue;
}
else if (i_guess > i_random)
{
MessageBox.Show("太大了.");
continue;
//return;
}
}
if (i_guess == i_random && i_count != 10)
{
MessageBox.Show("不错,猜对了!");
}
else if (i_guess == i_random && i_count == 10)
{
MessageBox.Show("在这功败垂成的时候,你猜对了!");
}
else if (i_count == 10 && i_guess != i_random)
{
MessageBox.Show("对不起,你已经猜了十次,不能再猜了.");
//Console.WriteLine(i_random);
}
Console.WriteLine(i_random);
第一 循环比如数字猜第一次没对 ,然后要猜第2次时候,一直不能输入数字,都是直接就执行第2次比较了,没空隙去NUMBER控键里写数字,加RETURN虽然能写数字了,可是原始的i_random 就会换数字。
第二 代码最后一步的 报正确答案:Console.WriteLine(i_random);
无法输出,如果加个LABLE控键,又说INT无法和STRING互相转换。
如何实现呢?
decimal i_guess = numericUpDown1.Value;
decimal i_count =0; for (i_count = 0; i_count < 10; i_count++)
{
if (i_guess < i_random)
{
MessageBox.Show("太小了.");
continue;
}
else if (i_guess > i_random)
{
MessageBox.Show("太大了.");
continue;
//return;
}
}
if (i_guess == i_random && i_count != 10)
{
MessageBox.Show("不错,猜对了!");
}
else if (i_guess == i_random && i_count == 10)
{
MessageBox.Show("在这功败垂成的时候,你猜对了!");
}
else if (i_count == 10 && i_guess != i_random)
{
MessageBox.Show("对不起,你已经猜了十次,不能再猜了.");
//Console.WriteLine(i_random);
}
Console.WriteLine(i_random);
第一 循环比如数字猜第一次没对 ,然后要猜第2次时候,一直不能输入数字,都是直接就执行第2次比较了,没空隙去NUMBER控键里写数字,加RETURN虽然能写数字了,可是原始的i_random 就会换数字。
第二 代码最后一步的 报正确答案:Console.WriteLine(i_random);
无法输出,如果加个LABLE控键,又说INT无法和STRING互相转换。
如何实现呢?
label1.Text = i_random.ToString();
for (i_count = 0; i_count < 10; i_count++)
{
if (i_guess < i_random)
{
MessageBox.Show("太小了.");
continue;
}
else if (i_guess > i_random)
{
MessageBox.Show("太大了.");
continue;
这里不能中途修改数字,一次输入完猜的数字,它连续报10次错误,大家意思还明白就是我我应该是错了,报一次错误,我修改,他又判断,连续10次;而不是他上来就判断10次不给我修改数据的机会。第2个问题楼上解决了不用麻烦大家了,代码多就研究这段就行
decimal i_count = 0; private void button1_Click(object sender, EventArgs e)
{
if (i_count == 0) // 第一次就重新生成随机数
{
i_random = new Random().Next(100);
label1.Text = "?";
}
i_count++;
if (numericUpDown1.Value == i_random) // 正确
{
if (i_count < 10)
MessageBox.Show("不错,猜对了!");
else MessageBox.Show("在这功败垂成的时候,你猜对了!");
label1.Text = i_random.ToString();
i_count = 0; // 重新计算
}
else if (i_count >= 10)
{
MessageBox.Show("对不起,你已经猜了十次,不能再猜了.");
label1.Text = i_random.ToString();
i_count = 0; // 重新计算
}
else if (numericUpDown1.Value < i_random)
{
MessageBox.Show("太小了.");
}
else if (numericUpDown1.Value > i_random)
{
MessageBox.Show("太大了.");
}
}