
虽然如今我们可以利用各种熵源来营造相当不错的随机感,但 1980 年代的家用电脑就没那么幸运了。尽管如此,当时的随机数生成器足以应付游戏之类的应用,正如[CoCo Town] YouTube 频道所展示的那样。
CoCo 是 TRS-80 彩色计算机的昵称,尽管名字相似,但它与 TRS-80 完全没有任何共同之处。它的 BASIC 版本称为Color BASIC ,与许多其他版本一样,它基于 Microsoft BASIC,因此视频中的描述也适用于许多其他 BASIC 版本。在视频中,我们首先对浮点格式进行了基本概述,然后使用一个用 Color BASIC 编写的测试程序,演示了 Color BASIC 用于RND
函数的算法示例。
如视频中所述,所使用的算法似乎是线性同余生成器,这是一种伪随机生成器,对硬件资源的要求极低。当然,它的主要缺点是它会很快开始重复,尤其是在输出位数有限的情况下。这使得它即使在今天,对于像简单的游戏逻辑这样只需要一些变化而不追求密码安全级别的随机性的应用来说,也是一个不错的选择。
感谢[Stephen Walters]提供的提示。
原文: https://hackaday.com/2025/08/08/exploring-the-trs-80s-color-basics-random-number-function/