骰子游戏的随机数

Big*_*ete 4 c# random silverlight dice windows-phone-7

可能重复:
随机字符串生成 - 一个接一个地生成两个给出相同的结果

我正在为Windows Phone 7编写一个简单的骰子游戏,它涉及同时滚动两个骰子.这是我的骰子滚动代码:

 private int DiceRoll()
    {
        int result;
        Random rnd = new Random();

        result = rnd.Next(1, 7);
        return result;
    }
Run Code Online (Sandbox Code Playgroud)

然后我有这个代码,当点击一个按钮时掷骰子:

   private void roll_Click(object sender, RoutedEventArgs e)
    {
        roll1 = DiceRoll();
        roll2 = DiceRoll();}
Run Code Online (Sandbox Code Playgroud)

我的问题是两个人都得到了相同的结果.

任何想法我怎么能得到一个滚动算法,通常会返回不同的结果,但偶尔会返回相同的?

Ano*_*mie 11

默认种子为Random基于当前时间.引用文档,

因此,通过调用默认构造函数紧密连续创建的不同Random对象将具有相同的默认种子值,因此将生成相同的随机数集.使用单个Random对象生成所有随机数可以避免此问题.

这正是你应该做的:创建一个Random实例并用它来生成所有的随机数.