Conways Spiel des Lebens - Letztes Problem?

Antitainer

Neues Mitglied
Nabend zusammen.

Komme mit meinem "Game of Life" nicht weiter...Spielregeln

Java:
public boolean naechsteGeneration() {

	boolean naechsteGeneration = true;
	boolean[][] kopie = new boolean[kantenlaenge][kantenlaenge];

	for (int i = 0; i < gitter.length; i++) {

		for (int j = 0; j < gitter.length; j++) {

			int nachbarn = getAnzahlLebenderNachbarn(i, j);
			boolean lebt = lebt(i, j);
			boolean status = false;

			if (lebt == true) {
				if (nachbarn == 2 || nachbarn == 3) {
					status = true;
				}
			} else if (lebt != true && nachbarn == 3) {
				status = true;
			}
			kopie[i][j] = status;
		}
	}
	if (equals(kopie) == true) {
		naechsteGeneration = false;
	}
	return naechsteGeneration;
}

Bekomme in Zeile 21 ein "java.lang.ArrayIndexOutOfBoundsException: 0" laut Konsole und komme einfach nicht drauf, wo bzw. wieso er ausserhalb der Indices schreibt..
Danach folgt dann die korrekte Ausgabe der ersten Generation.

In einer zweiten Klasse setze ich drei lebende Zellen und wenn ich dann ausgeben() aufrufe schmiert er mit obriger Exception ab.

Anbei die gesamte Klasse.

Vielen Dank
 

Marco13

Top Contributor
Die System.out.println's, mit denen du diesen Fehler NICHT gefunden hast, würde ich gerne mal sehen
Java:
/* Konstruktoren */
    public Gitter(int kantenlaenge) {
        this.kantenlaenge = kantenlaenge; // !!!!!!!!!!!!!
 ....
 

Antitainer

Neues Mitglied
Hi,

vielen Dank!

Hab dummerweise, nicht jeden Schritt per System.out.println(); getestet...
Passiert mir sicherlich nicht noch einmal, dafür ebenfalls meinen Dank.
 

Neue Themen


Oben