Forum: Mikrocontroller und Digitale Elektronik 2x RND (Bascom)


von Alexander (Gast)


Lesenswert?

Folgendes...
Das Programm soll 2 Zufallszahlen bilden und diese bilden dann die 
Koordinaten für einen Punkt auf dem Display.
Das Display ist 131 Pixel Hoch und 175 Pixel Breit
------------------
Dim A As Integer
Dim B As Integer
Do
   A = Rnd(175)
   B = Rnd(131)
   Call Lcd_plot(a , B , 0 , Black) // (x,y,dicke,farbe)-dicke = 1 Pixel
Loop
Return
-----------------
Fehler ist das ich im Speicher A nur ungerade Zahlen bekomme und im 
Speicher B nur gerade Zahlen. Folglich wird jeder zweite Pixel des 
Displays nicht schwarz beschrieben.
Wenn ich nur eine RND Funktion nutze, also z.B. nur A zufällig bestimmen 
lasse, funktioniert es fehlerfrei.

Hoffe mir kann einer helfen.

Gruß Alex

von Schrotti (Gast)


Lesenswert?

Es sind berechnete Zufallszahlen. Hilfe zum Befehl lesen bildet:

Notice that it is a software based generated number. And each time you 
will restart your program the same sequence will be created.

You can use a different SEED value by dimensioning and assigning 
___RSEED yourself:

Dim ___rseed as word : ___rseed = 10234

Dim I as word : I = rnd(10)

When your application uses a timer you can assign ___RSEED with the 
timer value. This will give a better random number.


Du brauchst also noch ein "wirklich" zufälliges Element, z.B. 
ADC-Rauschen.

von Alexander (Gast)


Lesenswert?

Sorry hab das jetzt mal versucht aber es haut nicht wirklich hin.
Hat das jemand schonmal gemacht und ein Anwenungsbeispiel für mich?

Gruß Alex

von Lupin (Gast)


Lesenswert?

Mach doch einfach folgendes:

A = Rnd(175*2) / 2
B = Rnd(131*2) / 2

von Alexander (Gast)


Lesenswert?

OMG Lupin...
Da hätte ich auch drauf kommen können!^^
Danke so haut es logischer Weiße auch hin, einfach und unkompliziert.

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.