Thema: Delphi Game of Life

Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 15. Jun 2003, 15:32
Moin Luckie,

ich gehe mal davon aus, dass der Fehler darin besteht, dass Du auf <> 0 testest, dabei aber nicht berücksichtigst, wenn x bzw. y an den jeweiligen Rand stossen, so dass z.B. für x = Field-1 nicht das Feld mit x+1 getestet werden darf.
Auch wenn die Vermutung falsch ist:
Man muss nicht nur berücksichtigen, wieviele Nachbarn ein Feld hat, sondern auch, ob es gefüllt ist oder nicht.
  1. Wenn ein Feld gefüllt ist, und 2 oder 3 Nachbarn hat bleibt das Feld gefüllt.
  2. Wenn ein Feld leer ist, und genau 3 Nachbarn hat, wird das Feld gefüllt.
  3. In allen anderen Fällen wird das Feld gelöscht, bzw. bleibt leer


Ist jetzt nur eine Vermutung, da die eigentliche Deklaration und die Art wie's gefüllt wird fehlen.

Ich hatte das letztens auch mal gemacht, und dabei ein (boolean) Array genommen, bei dem ich in jeder Richtung zwei Felder dazugenommen habe, so dass sich ein leerer Rand um die eigentliche "Welt" ergibt.
Dann kann man sich die Abfrage sparen, ob sich das Betreffende Feld auf einem Randfeld befindet.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat