关于c#:Die Roller,用户选择侧面数量

Die Roller with user selecting number of sides

我是编程的新手,我正在尝试用C#构建一个模具滚轴游戏。

该程序询问用户的边数,然后掷一个随机数的骰子。

我有以下伪代码:

  • 询问用户的边数。
  • 用随机数滚动模具,最大范围是边数。
  • 告诉用户滚动的号码
  • 我的问题是如何在用户指定的范围内生成随机数来掷骰子?


    System.Random类通常用于生成随机随机数。

    它有一个名为Next的方法的重载,它生成一个大于或等于0且严格小于传递的整数参数的随机整数。

    因此,如果用户选择n侧面骰子,并且您有一个Random r的实例,

    1
    r.Next(n) + 1

    将生成1n之间的随机整数。

    最好创建一个Random的单个实例并重用它,因为如果你创建多个实例,它们将生成相同的数字。


    1
    2
    Random random = new Random();
    int randomNumber = random.Next(1, userInput);

    有一件事让你知道,随机函数不是随机的,它是随机的,但每次都是以相同的随机顺序..我会让你看看你最喜欢的搜索引擎播种;)


    System.Random,特别是System.Random.Next(Int32,Int32)应该可以帮助您入门。

    1
    2
    Random.Next(Int32, Int32)
    Returns a random number within a specified range.

    1
    2
    3
    4
    5
    public int RollDice(int iNoSides)
    {
      var rand = new Random();
      return rand.Next(iNoSides) + 1
    }

    一个简单的谷歌random number c#会让你或多或少得到这个确切的代码。

    编辑

    您可以从其他答案和评论中获得MSDN文档的链接,我知道您的新编程,但最好的学习方法是尽可能努力地获得一些东西。如果你进入一个你的思维不能再运作的状态,在Stack上发布你的问题的尝试将使人们通常更高兴他们真正帮助被卡住的人

    编辑2

    按照@Rawling的评论,我意识到该方法的重载声明Next(n)返回Non-negative number less than the specified maximum


    要获得0到100之间的随机整数,而不包括100:

    1
    2
    Random random = new Random();
    int randomNumber = random.Next(0, 100);