生成可在任何地方加入的随机数

Nog*_*ogg 1 c# random

这是我的代码的开头:

 public partial class Form1 : Form
{
    static Random random = new Random();
    int prevnum;
    int currentnum;

    public int GenerateRandomNumber()
    {
        return random.Next(1, 1000);
    }
    public Form1()
    {
        int randomNumber = random.Next(1, 1000);
        InitializeComponent();

    }

    private void enterButton_Click(object sender, EventArgs e)
    {
        currentnum = Convert.ToInt32(guessBox.Text);

        if (randomNumber < currentnum)
        {
            warmOrColdLabel.Text = "Too High";

            if (currentnum > prevnum)
            {
                guessBox.BackColor = Color.Blue;
                prevnum = currentnum;
            }
            else
            {
                guessBox.BackColor = Color.Red;
                prevnum = currentnum;
            }
        }
        if (randomNumber > currentnum)
        {
            warmOrColdLabel.Text = "Too Low";

            if (currentnum > prevnum)
            {
                guessBox.BackColor = Color.Blue;
                prevnum = currentnum;
            }
            else
            {
                guessBox.BackColor = Color.Red;
                prevnum = currentnum;
            }
        }
        if (randomNumber == currentnum)
        {
            guessBox.Enabled = false;
            enterButton.Enabled = false;
            playAgainButton.Enabled = true;
        }

    }

    private void playAgainButton_Click(object sender, EventArgs e)
    {
        enterButton.Enabled = true;
        guessBox.Enabled = true;
        playAgainButton.Enabled = false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是得到一个随机数,它总是输出0.我只需要一个随机数,我可以放入不同的按钮等.我究竟做错了什么?

编辑:必须是1到1000之间的随机数.

jon*_*sca 6

你实际上没有在RandomNumberHandler()任何地方打电话 此外,您需要在调用中指定您的范围.Next()(例如,random.Next(1000)+1获取1到1000之间的数字).

public partial class Form1 : Form
{
  //other stuff from before
  int randomNumber; //move this here

 public Form1()
 {
    randomNumber = random.Next(1, 1000);  //assign it here
    InitializeComponent();

 }
Run Code Online (Sandbox Code Playgroud)

  • @Nogg:如果@ jonsca的回答回答了你的问题,你应该接受它作为答案(点击复选标记). (2认同)