【学习拓展】C语言 随机数应用:伪随机机制

一、总论

1.伪随机机制的意义

1.1 什么是伪随机机制

日常生活中大家都喜欢玩单机或者网络游戏,而在这些游戏中常常会存在随机,比如暴击率20%或者被动击晕15%等等,而在这些随机事件中,我们往往被告知这些随机事件也能分成两类:一类是固定的概率,常被称为“真随机”,另一类是根据游戏行为有变化的概率,则叫做“伪随机”。我们都知道计算机只能产生伪随机数,那么这里的“真随机”和“伪随机”也不是我们通常对于计算机生成随机数的随机性质的定义,而是关于这个可见概率的具体实施方法。

1.2 为什么要使用伪随机机制

所谓的“真随机”在足够大的样本下,其中某一段的连续样本会距离整体期望产生较大的偏差,简单地说,就是“脸黑,怎么一直不暴击”或者“怎么脸那么好,一直在爆击”。而“伪随机”则在具体的游戏进程中对概率进行了及时的修正,以图实现足够稳定的样本子序列。举个简单的例子的话,就是当你打不出爆击时会增加下一次的概率,而你连续打出爆击时则会降低概率,虽然这对于某些运气好的玩家来说可能是一个噩耗,但是总体上来说,这挽救了某些运气实在太糟糕的朋友。

2. 一个合理的伪随机机制的数据

2.1 以一个被动击晕技能为模版

假设这个技能来自某款知名ARPG游戏,并且这个技能在某个前版本里被修正成了伪随机机制
被动击晕:概率25%
显然这个数据的大小是和我们玩的各类游戏中的被动都十分接近的,所以这个样本有其代表性

2.2 伪随机机制的实现数据

首先需要感谢前辈们为我们分析出了WAR3这款经典的RTS游戏内的伪随机实现过程,我们可直接套用这个关系来实现我们的伪随机机制。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值