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实例并用它来生成所有的随机数.
归档时间: |
|
查看次数: |
22462 次 |
最近记录: |