gpt4 book ai didi

c# - 在 C# 中显示随机数

转载 作者:行者123 更新时间:2023-11-30 19:00:51 26 4
gpt4 key购买 nike

我正在尝试设计一种可以猜数字的代码。我定义了要在我的列表框中显示的数字范围。我开始写 Random(1,10) 但如果我输入 11,它仍然会写在我的列表框中。我怎样才能只写从我的范围内选择的数字,即 1-10?

这是我的部分代码:

     private void btnOk_Click(object sender, EventArgs e)
{

string yourNumber;
yourNumber = textBox1.Text.Trim();

int returnNumber = RandomNumber(1, 10);
int.TryParse(textBox1.Text, out returnNumber);
listBox1.Items.Add(returnNumber);
}

附加问题

如果我想显示一个数字范围,例如 1-10,我该如何执行以下操作?用户将键入 11,程序将不接受。

我做了这样的事情:

        int returnNumber = RandomNumber(1, 10);    

string yourNumber;
yourNumber = textBox1.Text.Trim();


if(Int32.TryParse(textBox1.Text>=1)) && (Int32.TryParse(textBox1.Text<=10));
{
listBox1.Items.Add(yourNumber);
textBox1.Text = string.Empty;
}

程序有问题。

更新

对于 Nathaniel,我尝试了这个:

int returnNumber=RandomNumber(1,10);
int counter=1;
int yourNumber;

Int32.TryParse(textBox1.Text.Trim(), out yourNumber);
if (yourNumber >=1 && yourNumber <= 10)
{
listBox1.Items.Add(yourNumber);
}
else
{
MessageBox.Show("Please enter a number between 1-10");
}

我想做的是设计一个猜数字的程序。这是第一部分。

更新

这是我的最终代码,可以改进吗?我想接下来我要做的是限制用户输入的次数。也就是说,他们只能猜对数字 3 次或 5 次。不确定在哪里实现它

  namespace Guessing_Game
{
public partial class Form1 : Form
{
private static int randomNumber;
private const int rangeNumberMin = 1;
private const int rangeNumberMax = 10;

public Form1()
{
InitializeComponent();
randomNumber = GenerateNumber(rangeNumberMin, rangeNumberMax);
}


private int GenerateNumber(int min,int max)
{
Random random = new Random();
return random.Next(min, max);
}

private void btnOk_Click(object sender, EventArgs e)
{
int yourNumber = 0;

Int32.TryParse(textBox1.Text.Trim(), out yourNumber);

if (yourNumber>= rangeNumberMin && yourNumber<=rangeNumberMax)
{
listBox1.Items.Add(yourNumber);
if (yourNumber > randomNumber)
{
listBox2.Items.Add("No the Magic Number is lower than your number");
}

if (yourNumber < randomNumber)
{
listBox2.Items.Add("No, the Magic Number is higher than your number");
}

if(yourNumber==randomNumber)
{
listBox2.Items.Add("You guessed the Magic Number!");
btnRestart.Enabled = true;
}
}
else
{
MessageBox.Show("Please enter a number between " + rangeNumberMin + " to " + rangeNumberMax);
}
}

private void btnRestart_Click(object sender, EventArgs e)
{
listBox2.Items.Clear();
listBox1.Items.Clear();
textBox1.Text = null;
randomNumber = GenerateNumber(rangeNumberMin, rangeNumberMax);
btnRestart.Enabled = false;
}
}

最佳答案

行:

int returnNunmber = RandomNumber(1, 10); 

什么都不做,因为在下一行中,returnNumber 被用作输出变量,并且将是 textBox1 中的任何数字。删除

int.TryParse(textBox1.Text, out returnNumber);

行,它会将一个从 1 到 10 的随机数添加到您的列表框。

编辑::::要回答您的其他问题,请尝试:

private void btnOk_Click(object sender, EventArgs e)
{
string yourNumber;
yourNumber = textBox1.Text.Trim();
int returnNumber;
int.TryParse(textBox1.Text, out returnNumber);
if( returnNumber < 1 || returnNumber > 10) {
returnNumber = RandomNumber(1, 10);
}
listBox1.Items.Add(returnNumber);
}

关于c# - 在 C# 中显示随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/933077/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com