Forum: Mikrocontroller und Digitale Elektronik Zufallszahlen speichern Bascom AVR


von JanniXZ (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich bin aktuell als Schüler mit einem Projekt beschäftigt, dass eine 
Würfelsimulation erfordert. Das Programm im Anhang weißt ein Problem 
auf: Wenn ich es auf meinen Mikrocontroller rüberlade und abspiele, 
läuft das ganze folgend ab:
Wenn ich den Taster an Portd.2 drücke blinken zufällig LEDs auf.
Wenn ich den Taster dann loslasse, dann bleibt eine LED an, das wäre 
dann das Würfelergebnis.
Da die LEDs aber nicht sehr schnell aufblinken, kann ein Mensch mit 
guten Reflexen eventuell steuern, was er würfelt.
Daher die Frage:
Ist es programmtechnisch möglich, das Aufblinken der LEDs vor dem 
Anzeigen des Ergebnisses rauszustreichen? Also prinzipiell den Wert der 
Zufallszahl (im Programm Z) auf den ersten Wert festzusetzen?

Danke im Vorraus für Antworten :)

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

JanniXZ schrieb:
> Wenn ich den Taster an Portd.2 drücke blinken zufällig LEDs auf.
 Nein.

> Wenn ich den Taster dann loslasse, dann bleibt eine LED an, das wäre
> dann das Würfelergebnis.
 Ja.


JanniXZ schrieb:
> Da die LEDs aber nicht sehr schnell aufblinken, kann ein Mensch mit
> guten Reflexen eventuell steuern, was er würfelt.

 Nö, kann er nicht.
 Aufblinken hat nichts mit Ergebnis zu tun, höchstens mit Prellen.

von Weinbauer (Gast)


Lesenswert?

Rund hat leider nicht viel mit Zufall zu tun ... Wozu nutzt du die 
Variable w?
hättest du den b.0 für den Taster und d.2 als led genommen hättest du 
dir viele set bz. Reset sparen können

von Mai (Gast)


Lesenswert?

Pack das "Gosub Ergebnis" hinter das "End If", dann wird während des 
Tastendrucks nichts angezeigt.

Damit es zufälliger wird:
Pack zwischen "If Pind.2....." und "While" ein "Randomize Timer"

von Mai (Gast)


Lesenswert?

Mai schrieb:
> Pack das "Gosub Ergebnis" hinter das "End If", dann wird während
> des
> Tastendrucks nichts angezeigt.
>
> Damit es zufälliger wird:
> Pack zwischen "If Pind.2....." und "While" ein "Randomize Timer"
Der Timer sollte natürlich vorher aktiviert werden.
Steht aber alles in der Bascom-Hilfe zum Thema RND bzw. Randomize.

von Joachim R. (bastelbaer)


Angehängte Dateien:

Lesenswert?

Mal ne andere Version als Anregung. Dort ist es so dass nach Loslassen 
des Tasters die LEDs "auslaufen". Daher ist es nicht möglich die Zahl zu 
erraten.
Und bei jedem Tastendruck wird der Zufallszahlengenerator mit dem Timer 
neu geladen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.