显示随机数

tin*_*tes 2 c# 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);            
      }
Run Code Online (Sandbox Code Playgroud)

=========另外一个问题,如果我想显示一个数字范围,例如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;
        } 
Run Code Online (Sandbox Code Playgroud)

程序中有问题

==============

你好,再次感谢纳撒尼尔的回复.但我试过这个:

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");
}
Run Code Online (Sandbox Code Playgroud)

我想做的是设计一个猜测数字的程序.所以这是第一部分.

====

嗨,再次,这是我的最终代码:如果你能提供反馈,我会很高兴我能做得更好.谢谢.我认为我接下来要做的就是限制用户输入输入的次数.这意味着,他们只能猜出正确的数字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;
    }
}
Run Code Online (Sandbox Code Playgroud)

Nat*_*ath 10

这条线:

int returnNunmber = RandomNumber(1, 10); 
Run Code Online (Sandbox Code Playgroud)

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

int.TryParse(textBox1.Text, out returnNumber);
Run Code Online (Sandbox Code Playgroud)

行,它会将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);            
  }
Run Code Online (Sandbox Code Playgroud)