Moin Luckie,
Zitat von
Luckie:
Ich teste nicht auf <> 0 sondern addiere die Werte aller Nachbarfelder auf.
das meinte ich nicht.
Du testest z.B. y <> 0 und prüfst dann ein Feld [...,y+1].
Ist y = Fields-1 wird also das Feld [...,Fields] getestet.
Da nun aber das high(array) = Fields-1 ist müsste das auf eine
AV laufen (was es bei mir auch tut).
Was aber alles nichts an der falschen Auswertung der Summe ändert.
Erst mal prüfen, ob ein Feld gefüllt ist.
Ist es gefüllt wird geprüft, ob es 2 oder 3 Nachbarn hat und entsprechend geleert oder gefüllt gelassen.
Ist das Feld hingegen leer, so bleibt es das, wenn es nicht genau 3 Nachbarn hat.
Ich hab' Deine Abfrage mal um die Prüfung der Ränder ergänzt, und die entscheidende Abfrage korrigiert.
Bei mir funzt der Rotor.