2017-02-09 3 views
1

Ich habe einigen einfachen Code, um die Zufallszahl-Funktion von picaxes Website (leicht angepasst)PICAXE 28x1 Zufallszahlengenerator

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

let randword = timer 
random randword 

write counter, b5 
next counter 

end 

Aus irgendeinem Grunde auf PICAXE Editor Version 5 das funktioniert perfekt, aber auf PICAXE Editor 6 alle es mit Es gibt 2's, nicht sehr zufällig, ich habe keine Ahnung warum.

Jede Hilfe sehr geschätzt

Dank

+0

Laufen Sie dies in der Simulation oder auf einem echten PICAXE? – nekomatic

+0

Simulation und PICAXE für Editor 6 und nur Simulation für Editor 5 im Moment. – pythonstudent

+0

Außerdem habe ich eine Warteschleife hinzugefügt, die erfordert, dass Sie eine Taste drücken, um das Programm zu starten, so dass die Laufzeit zufällig sein sollte – pythonstudent

Antwort

1

die PICAXE BASIC language manual Überprüfung zeigt einige mögliche Probleme mit Ihrem Code:

  • die timer Systemvariable hat mit dem settimer Befehl initialisiert werden, bevor Sie können Verwenden Sie es
  • je nachdem, welchen Vorspannungswert Sie mit settimer verwenden, der Wert timer kann in der kurzen Zeit zwischen einer Schleife Iteration und den nächsten hat auch nicht geändert, die Ihnen das gleiche Ergebnis von random
  • random mit einer Wortgröße verwendet werden geben soll (w0, w1, usw.) kein Bytevariablen
  • wenn Sie neu sind die Zufallszahlenerzeugung

Was ich die manuelle Eingabe denke für random ist darauf hindeutet, Sie tun sollen, obwohl ich es nicht ganz klar zustimme, ist random mit timer der ersten Zeit auf Saatgut Sie rufe es auf, dann beginne es jedes Mal mit seinem eigenen vorherigen Wert:

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 

jedoch nach all dies zu sagen, ist es durchaus möglich, dass der Simulator in der einen oder anderen Version des PICAXE Programming Editor nicht das Verhalten von timer in allen Fällen korrekt simulieren. Wenn Sie den Code nicht für eine echte PICAXE verwenden können, wenden Sie sich an die folgende Adresse: PICAXE forum. Dort werden sie von Supportmitarbeitern von Revolution Education und anderen sachkundigen Benutzern gesehen.