随机数在计算时,种子是更新回去的。理论上玩家只能通过保留变化,影响后续的随机数计算序列。
这是随机数计算的过程,RandA,RandB保留上次计算结果,每次计算都要更新:
seg001:3DA0 _sub_Rand00 proc far ; CODE XREF: _sub_RandAX+7P
seg001:3DA0 push 41C6h
seg001:3DA3 push 4E6Dh
seg001:3DA6 push ds:_word_RandB
seg001:3DAA push ds:_word_RandA
seg001:3DAE call __aFlmul
seg001:3DB3 add ax, 3039h
seg001:3DB6 adc dx, 0
seg001:3DB9 mov ds:_word_RandA, ax
seg001:3DBC mov ds:_word_RandB, dx
seg001:3DC0 mov ax, dx
seg001:3DC2 and ah, 7Fh
seg001:3DC5 retf
seg001:3DC5 _sub_Rand00 endp