我有一些简单的代码使用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,而不是非常随机,我不知道为什么。
任何帮助非常感谢
由于
答案 0 :(得分:1)
检查PICAXE BASIC language manual会显示代码可能出现的一些问题:
timer
命令初始化settimer
系统变量才能使用它settimer
时使用的预加载值,timer
的值可能在一次循环迭代和下一次循环之间的短时间内没有变化,这将给出相同的结果random
random
应该与单词变量(w0,w1等)一起使用,而不是字节变量我认为random
的手册条目暗示你应该这样做,虽然我同意如果你不熟悉随机数生成并不是很清楚,那就是种子{{1}用random
第一个时间调用它,然后每次用它自己的先前值为它播种:
timer
然而在说完所有这些之后,PICAXE编程编辑器的一个版本或其他版本中的模拟器当然无法正确模拟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上运行代码,请将此问题转到PICAXE forum,革命教育支持人员以及其他知识渊博的用户将会看到它。