Ich hoffe er ist für euch Verständlich. Mein derzeitiges Problem liegt in der Funktion next_gen(), den es wird keine Neue Generation erstellt. ;( Und ich weiß nicht mehr weiter mir raucht schon den ganzen Tag der Kopf.
Stell ich vielleicht die Falschen IF fragen in der next_gen() Function?
Du solltest eventuell die ORs gruppieren, zudem könnte es ein Problem sein, dass du
nicht in jedem for-Schleifen Durchgang machst. (Hab das Game of Life auch gerade letztens in C++ programmiert.)
Kann sein, dass ich mich irre, aber wäre es nicht am einfachsten, die umliegenden Felder zusammenzurechnen? Die Summe müsste dann doch die Anzahl der lebenden Nachbarn sein, oder?
Im übrigen machst du einen Regelverstoß: Du berechnest die nächste Generation nicht parallel. cells[i][gen+1] beeinflusst die Berechnung von cells[i+1][gen], was nicht der Fall sein darf. (ich hoffe, das war verständlich)
Außerdem... sehe ich es richtig, dass du mit einem begrenzten Feld von 3*3 arbeitest? O_O
Und ich würde mit PHP ein Bild generieren (mit den image* Funktionen), aber das ist natürlich Ansichtssache. ^^
IMO machst du das mit den Nachbarn immer noch viiel zu kompliziert. Wenn 0 eine tote Zelle und 1 eine lebendige Zelle ist, könntest du es auch einfach so machen: