1

我有一些使用 picaxes 网站上的随机数函数的简单代码(稍作修改)

symbol counter = b7
symbol randword = b5
for counter = 0 to 10

let randword = timer
random randword

write counter, b5
next counter

end

出于某种原因,在 picaxe 编辑器版本 5 上,这可以完美运行,但在 picaxe 编辑器 6 上,它所做的只是给出 2,不是很随机,我不知道为什么。

非常感谢任何帮助

谢谢

4

1 回答 1

1

检查PICAXE BASIC 语言手册显示您的代码可能存在一些问题:

  • 必须timer先使用命令初始化系统变量,settimer然后才能使用它
  • 根据您使用的预加载值,在一次循环迭代和下一次循环迭代之间的短时间内settimer, 的值timer可能没有改变,这将为您提供相同的结果random
  • random应与字变量(w0、w1 等)一起使用,而不是字节变量

我认为手动输入random建议你应该做的,虽然我同意如果你是随机数生成的新手并不完全清楚,是在你第一次random调用它时播种,然后用它自己的前一个播种之后每次的值:timer

symbol counter = b5

let w3 = timer         ; w3 is the word variable consisting of b6 and b7
for counter = 0 to 10

random w3
;  ...do something with the value of w3 (but don't change w3 itself)...

next counter

然而,说了这么多之后,一个或其他版本的 PICAXE 编程编辑器中的模拟器肯定有可能timer在所有情况下都不能正确模拟行为。如果您无法让代码在真正的 PICAXE 上运行,请将此问题提交到PICAXE 论坛,Revolution Education 支持人员和其他知识渊博的用户将会看到该问题。

于 2017-02-14T22:39:33.867 回答