Der Zufallszahlengenerator und seine falsche Verwendung

Übersicht BlitzBasic FAQ und Tutorials

Neue Antwort erstellen

PacMani

Betreff: Der Zufallszahlengenerator und seine falsche Verwendung

BeitragMo, Sep 10, 2012 22:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

hier ein etwas "wissenschaftlicherer" Beitrag von mir. Ausgangspunkt ist dieser Artikel:
http://boallen.com/random-numbers.html

Ich habe ähnliches mal mit dem Blitz-Zufallsgenerator und dem von .NET 3.5 ausprobiert.
Diese haben zum Glück bei richtiger Benutzung keine Macken - also wenn man den Seed nur einmal vor Durchlauf der Zeichenschleife setzt.
Ich habe dann absichtlich falsche Verwendung von SeedRnd() hervorgerufen, indem ich
1. Bei jedem Setzen eines Pixels SeedRnd() auf die aktuellen MilliSecs() setze
2. Den SeedRnd() bei jedem Durchlauf um 1 erhöhe.

Das ganze sieht dann so aus:
user posted image

Also Leutz, nutzt Zufallszahlengeneratoren richtig und setzt MilliSecs() nur am Anfang des Programms, wenn nicht aus anderen Gründen (Laden eines Spiels durch Zufallszahlen) benötigt wird.

Hier übrigens der Code von Methode 2:
Code: [AUSKLAPPEN]
Graphics3D(512, 512)

Global img = CreateImage(512, 512)
SetBuffer(ImageBuffer(img))

Global seed = 0
For y = 0 To 511
    For x = 0 To 511
        If Rand(0, 1) = 1 Then
            SeedRnd(seed)
            WritePixel(x, y, $ffffffff)
            seed = seed + 1
        End If
    Next
Next

SetBuffer(BackBuffer())
DrawImage(img, 0, 0)
Flip()

WaitKey()
End


Gruß,
Pac-Man
  • Zuletzt bearbeitet von PacMani am Di, Sep 11, 2012 16:47, insgesamt einmal bearbeitet
 

feider

ehemals "Decelion"

BeitragDi, Sep 11, 2012 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke dafür!
Sehr interessanter Artikel und gut erkennbares Beispiel - Als Anfänger habe ich SeedRnd() so oft wie möglich aufgerufen. Wurde dann von einem Mitglied dieses Forums informiert, dass dies überflüssig sei - und wie ich jetzt sehe, sogar "zufallsverhindernd".

lg
Dece
 

bjh

BeitragDi, Sep 11, 2012 17:15
Antworten mit Zitat
Benutzer-Profile anzeigen
aber man kann so auch schöne muster erzeugen Wink

PacMani

BeitragDi, Sep 11, 2012 18:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Das stimmt, gerade in dem C#-Beispiel in der oberen Zeile Smile Vielleicht fummelt ja jemand was mit Farben zurecht Wink

Neue Antwort erstellen


Übersicht BlitzBasic FAQ und Tutorials

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group