问题描述
- javascript可以生成随机数种子吗
-
我在做个游戏,前端是javascript,后端是php
战斗开始的时候php发送所有数据到前端,并生成一个随机数种子
然后所有的数据全由javascript来计算,直到战斗结束才上传数据到php验算防作弊
但是伤害判定中要用到很多随机数,如果没有种子,php在验算的时候和js的随机数不一样。
js到底有没有随机数种子啊,如果没有的话,有没有什么算法能模拟出php按种子随机数的原理呢
解决方案
php种子随机数的原理
官方文档说的很清楚
http://php.net/manual/zh/function.srand.php
可以看出是根据时间产生的。
因此因为时间你不知道,知道原理也得不到种子。
不过如果得到种子,理论上来说,你可以得到随机数序列。
PHP应该用的是线性同余法产生的随机数。
http://zh.wikipedia.org/wiki/%E7%B7%9A%E6%80%A7%E5%90%8C%E9%A4%98%E6%96%B9%E6%B3%95
解决方案二:
js没有你说的什么种子。。可以随机到指定范围的数字
<script type="text/javascript">
function rnd(min,max){
var tmp=min;
if(max<min){min=max;max=tmp;}
return Math.floor(Math.random()*(max-min+1)+min);
}
alert(rnd(1,10))
alert(rnd(10,20))
</script>
解决方案三:
获取当前时间做随机种子
时间: 2024-10-29 06:12:26