Scratch 1.4 中使用了哪个随机数生成器,在源代码中哪里可以找到它的实现?如果它只是 libc 的random()
,请指出它被调用的地方。
问问题
120 次
1 回答
4
Scratch 1.x 是用 Squeak Smalltalk 编写的。您可以按照这些说明从 Scratch 中获取源代码。
该pick random () to ()
块在 Scratch-Objects -> ScriptableScratchMorph (instance) -> other ops -> 中定义randomFrom:to:
。基本的基本代码有
t5 _ RandomGen next * (t4 - t3) + t3.
现在,什么是RandomGen
?事实证明,它在 Scratch 中(在类初始化中)被定义为只是 Squeak 的Random
.
根据Squeak wiki:
random-number-generator 是一个 Park-Miller 生成器,它在 Random 类中实现。
Scratch 还要求在某些列表块中使用随机数,您可以在其中对“任何”列表项进行操作。这是在list ops -> lineNum:forList:
.
于 2015-09-18T14:50:29.980 回答