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