【发布时间】:2013-03-12 11:57:45
【问题描述】:
我想做的是让我正在创建的游戏每 5 秒随机更改一次角色。 我通过计时器得到了这个工作,唯一的问题是我不希望他们重复,我目前正在处理虚拟代码,所以它只是改变屏幕颜色,但我怎样才能让它不重复它刚刚调用的号码?
if (timer <= 0)
{
num = rand.Next(2);
timer = 5.0f;
}
这是当前代码,然后在抽奖中我刚刚完成了“如果 num 等于某个数字,则更改背景颜色”。
我尝试添加一个 prev_num 检查器,但我无法让它正常工作(在这里)
if (timer <= 0)
{
prev_number = num;
num = rand.Next(2);
if (prev_number == num)
{
num = rand.Next(2);
}
else
{
timer = 5.0f;
}
}
【问题讨论】:
-
一个真正的随机数将包括重复,因此尝试排除这意味着该数字不是真正随机的
-
@JoeW 我认为这就是重点,否则 rand.Next() 就足够了
-
@Hannesh 点是不是随机的随机数?
-
@JoeW 至少在定义上不是随机的
-
@JoeW,最终目标是从字符集中选择一个随机字符,不包括当前字符。不只是为了得到任何随机数。无论如何,
rand.Next(2)不太可能是真正随机的,无论您尝试什么。