我是编程的新手,我正试图在C#中建立一个模具滚轴游戏。
该程序询问用户的边数,然后用随机数掷骰子。
我有以下伪代码:
我的问题是如何通过在用户指定的范围内生成随机数来掷骰子?
答案 0 :(得分:2)
System.Random
类通常用于生成随机随机数。
它有一个名为Next
的方法的重载,它生成一个大于或等于0
且严格小于传递的整数参数的随机整数。
因此,如果用户选择了n
侧面骰子,并且您有Random
r
的实例,
r.Next(n) + 1
将生成1
和n
之间的随机整数。
优良作法是创建Random
的单个实例并重复使用它,因为如果您创建多个实例,它们将生成相同的数字。
答案 1 :(得分:1)
Random random = new Random();
int randomNumber = random.Next(1, userInput);
有一件事让你知道,随机函数不是随机的,它是随机的,但每次都是以相同的随机顺序..我会让你看看你最喜欢的搜索引擎播种;)
答案 2 :(得分:0)
获取0到100之间的随机整数,其中不包含100:
Random random = new Random();
int randomNumber = random.Next(0, 100);
答案 3 :(得分:0)
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
。
答案 4 :(得分:0)
System.Random,特别是System.Random.Next(Int32, Int32)应该让你开始。
Random.Next(Int32, Int32)
Returns a random number within a specified range.