haitao:
随机种子是运行时一次性设的。初始化时先取得所有名单,减去已经中奖名单,再随机交换
[阅读: 306] 2010-01-31 02:38:04
随机种子是运行时一次性设的。
初始化时先取得所有名单到sslist,减去已经此时中奖的名单,再随机交换:
for i:=0 to sslist.count-1 do
{
s:=sslist[i];
p:=random(sslist.count);
sslist[i]:=sslist[p];
sslist[p]:=s;
}
这个过程可以多执行几遍
最后真正参与摇奖的sslist会输出到log,的确是随机的
每次取一个随机数random(sslist.count),以它对应的名字作为显示,延时 xx ms
闪的延时可以设置,一般是50ms
而慢不怕,因为按停之后,会再取一个随机数random(sslist.count),以它对应的名字作为输出、真正的中奖者。。。。。。。。而不是按停时最后显示的那个名字
感觉这样的随机性已经非常充分了