很多游戏里有关机率的东西,一般算法及原现... | 问答 | 问答 | 果壳网 科技有意思
很多游戏里有关机率的东西,一般算法及原现是什么?如何模拟自然界的随机过程?
+ 加入我的果篮
技术图书译者,音乐人
几率的算法有很多,最简单的一种莫过于下面这个:设一次攻击命中率为75%:x = rand(); // 假设rand()函数可产生一个0-1之间的随机数if (x & 0.75) {
// TODO: 命中} else {
// TODO: Miss}当然,计算机中的随机数不是真正的随机数,而是从一个随机数表中查出来的,但我们可以通过使用改变种子的方式来让这种方式产生尽量随机的随机数。通常情况下可以用时间戳做种子来产生随机数。
补充一下馒头的回答。为了游戏的可持续发展,除了正常用随机函数`rand`进行“机率”的模拟之外,为了避免人品爆发的玩家们一日暴富,还会对已经出现几率统计,然后调整下一次`rand`返回的概率。比如一个事件的机率设为 0.1 ,在十次内,如果出现了一次,那么十次内剩余的`rand`结果无论怎么样也不会满足条件。
后回答问题,你也可以用以下帐号直接登录
(C)2016果壳网&&&&京ICP证100430号&&&&京网文[-239号&&&&新出发京零字东150005号&&&&
违法和不良信息举报邮箱:&&&&举报***: