关于游戏随机数系统(指Utilities.UnifiedRandom.cs里的UnifiedRandom方法),这个方法本身的来源,应当是微软.NET Framework源码,微软的源码中引用的来源则是Numerical Recipes in C (2nd Ed.),这本书我找着了电子版,其提供的源码如下:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=644922c36d34349b74066e8df9eb1521/a277885494eef01f7b4ddb1ca5fe9925be317d82.jpg?tbpicau=2025-02-17-05_d48283e27124eee0b0630c308f2de9a4)
一个超奇怪的不同是变量inextp,这个值在书中是31,但微软和relogic的源码里都写成了是21,而且这个常数是特殊的(根据Knuth的书,不过我没去看,估计想看懂也得费老大劲)。
BUG是源于这个笔误吗?如果是的话,其实锅可能不是relogic,而是微软的23333