我要告诉你的是,乱数是变化的,并且是无规律的变化,这也就是为什么它俗称"乱"数的原因.
) e& q+ e3 V5 e5 t1 `& D7 X
8 a6 k: q1 `6 k% F6 R* M2 U. y6 J时刻变化的是乱数,所有游戏数值与百分比有关的都要靠它来判定.
" Y9 P* _9 x( M2 f7 b$ k/ ?$ Q我来说明一下火焰纹章的乱数.
W& s4 x& G$ V5 {7 x" ^/ I# e- p- f1 s
一个角色,攻击另外一个敌人的时候.
| h9 t+ B. ^' K2 x- i' Z系统会自动随机出一个100以内不等于0的正整数.
2 L0 N. }" S6 v4 G假定这个角色的命中率为75.0 Q/ F5 ~8 z9 t# O+ ?4 _
100则为必中,那么75的命中率应该算很高了吧?
+ I0 g: @) u6 C- q很好,那么接下来,如何设置乱数与游戏数值,好让75容易命中?' A# o! d, s/ ?
% x: p( a" Z" L5 {8 n& A2个方案:
9 k3 f7 t9 H9 W8 B4 g
) T: i3 Y% t# R8 y4 }第一方案:如果乱数大于命中率,则判定为命中.- D9 C# C# o% b. A4 `9 |$ O& @
分析:这样一来,如果要命中,那么除非随机出现的数字为包括75在内的从75到99这25个数.100个数字里随机出现这25个数中的任意的几率为25%.显然与命中率75相去甚远.
5 Z+ U: \' E1 I' @8 y1 A6 Q( K2 U9 ^) h3 L ?& T
第二方案:如果乱书小于命中率,则判定为命中.3 D s9 F4 F* x
分析:换成这样的话,如果想命中敌人,那么随机出现的数字就必须是不包括0在内的从1到75这75个数.100个数字里随机出现前75个数中的任意一个数的概率为75%,与命中率75相符.' M# X; m0 f- f4 j* U
4 K3 f; e$ `- K: X) ^
你说把命中率设置为10就更容易命中,那就是第一个方案,不过这个方案是错误的,不仅在分析上出错,在游戏里就会表现为,命中率数值高的角色(比如命中率95)在实际游戏中的命中率要比命中率数值低的角色(比如命中率60)的实际命中率要低./ R* S% V# @4 [0 x0 ~3 W, D- I
这样就大错特错了.