Der Zufallszahlengenerator und seine falsche Verwendung
Übersicht BlitzBasic FAQ und Tutorials
PacManiBetreff: Der Zufallszahlengenerator und seine falsche Verwendung |
Mo, Sep 10, 2012 22:19 Antworten mit Zitat |
|
---|---|---|
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: 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
feiderehemals "Decelion" |
Di, Sep 11, 2012 16:43 Antworten mit Zitat |
|
---|---|---|
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 |
Di, Sep 11, 2012 17:15 Antworten mit Zitat |
|
---|---|---|
aber man kann so auch schöne muster erzeugen | ||
PacMani |
Di, Sep 11, 2012 18:34 Antworten mit Zitat |
|
---|---|---|
Das stimmt, gerade in dem C#-Beispiel in der oberen Zeile Vielleicht fummelt ja jemand was mit Farben zurecht | ||
Übersicht BlitzBasic FAQ und Tutorials
Powered by phpBB © 2001 - 2006, phpBB Group