Der Zufallszahlengenerator und seine falsche Verwendung
Übersicht

PacManiBetreff: Der Zufallszahlengenerator und seine falsche Verwendung |
![]() 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" |
![]() 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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
aber man kann so auch schöne muster erzeugen ![]() |
||
PacMani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das stimmt, gerade in dem C#-Beispiel in der oberen Zeile ![]() ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group