f**********n 发帖数: 828 | 1 大神们帮我看看吧:
我有一个puzzle game,每次都从数据库里随机取一个puzzle出来。总的puzzle pool也
不大,N=40.
一局游戏大概也就玩20个puzzle吧,可是却有很多重复,同一个问题出现五六次的也有
,2--4次的也有。感觉实在是不太随机啊?
query就是正常的select puzzleid from puzzles order by rand() limit 1
这是什么原因导致的呢?谢谢!!
PS. 我不愿意一次性选好多条puzzle到游戏里,然后一条一条的展示。所以这个方法可
以排除。 |
c***z 发帖数: 6348 | 2 choose the no replacement option? |
s*********h 发帖数: 6288 | |
f**********n 发帖数: 828 | 4 每次query都是独立的,怎么用这个option啊?
【在 c***z 的大作中提到】 : choose the no replacement option?
|
f**********n 发帖数: 828 | 5 同问。。
【在 s*********h 的大作中提到】 : 求问真随机的方法……
|
s*********h 发帖数: 6288 | 6 我的意思是……目前计算机的随机还没有一个是真随机的吧……
【在 f**********n 的大作中提到】 : 同问。。
|
c***z 发帖数: 6348 | 7 right
【在 s*********h 的大作中提到】 : 我的意思是……目前计算机的随机还没有一个是真随机的吧……
|
c***z 发帖数: 6348 | 8 not an expert
maybe remember the results?
【在 f**********n 的大作中提到】 : 每次query都是独立的,怎么用这个option啊?
|
k*z 发帖数: 4704 | |
X***o 发帖数: 125 | 10 有卖真随机数据的,你那小游戏用不着吧?
【在 k*z 的大作中提到】 : 求真随机方法,顺便求大牛收养。
|
|
|
d******k 发帖数: 4295 | 11 你没有设置seed,为了随机一点可以用当前的秒数当seed
select puzzleid from puzzles order by rand(datetime.now.second) limit 1
【在 f**********n 的大作中提到】 : 大神们帮我看看吧: : 我有一个puzzle game,每次都从数据库里随机取一个puzzle出来。总的puzzle pool也 : 不大,N=40. : 一局游戏大概也就玩20个puzzle吧,可是却有很多重复,同一个问题出现五六次的也有 : ,2--4次的也有。感觉实在是不太随机啊? : query就是正常的select puzzleid from puzzles order by rand() limit 1 : 这是什么原因导致的呢?谢谢!! : PS. 我不愿意一次性选好多条puzzle到游戏里,然后一条一条的展示。所以这个方法可 : 以排除。
|
k*z 发帖数: 4704 | 12 从来就没有真的随机数存在过吧。如果真有赌场都发了。
【在 X***o 的大作中提到】 : 有卖真随机数据的,你那小游戏用不着吧?
|
u*h 发帖数: 397 | 13
从40个不同的游戏里, 随机选20个. 同一个问题重复出现的概率大概是99.7%.
要么你一次性选好多条, 要么你增加一个判断机制, 比如记录已经展示过的puzzleid,
如果有重复, 再从新选一个, 直到出现新的.
【在 f**********n 的大作中提到】 : 大神们帮我看看吧: : 我有一个puzzle game,每次都从数据库里随机取一个puzzle出来。总的puzzle pool也 : 不大,N=40. : 一局游戏大概也就玩20个puzzle吧,可是却有很多重复,同一个问题出现五六次的也有 : ,2--4次的也有。感觉实在是不太随机啊? : query就是正常的select puzzleid from puzzles order by rand() limit 1 : 这是什么原因导致的呢?谢谢!! : PS. 我不愿意一次性选好多条puzzle到游戏里,然后一条一条的展示。所以这个方法可 : 以排除。
|
z****e 发帖数: 54598 | 14 你要能发明真随机方法
cs最高奖基佬奖一定是你的
可能还能同时获得物理学炸药奖
费儿子奖也有望 |
f**********n 发帖数: 828 | 15 谢谢!!~~
【在 d******k 的大作中提到】 : 你没有设置seed,为了随机一点可以用当前的秒数当seed : select puzzleid from puzzles order by rand(datetime.now.second) limit 1
|