Moin,
ich versuche gerade die Minen rekursiv aufzudecken. Ich habe ein paar Infos neben den Lines geschrieben, damit die Ausdrücke ein wenig besser zu lesen sind.
[CODE lang="java" title="Rekursionsversuch"]public void revealZero(int x, int y) {
char h;
h = (minen.suche(new Koordinate(x, y))); //hier wird geguckt, was die Nachbarfelder sind
if (x < 0 || x > 11 || y < 0 || y > 15) //hier wird geguckt, ob man innerhalb des Spielfeldes ist
return;
if (h == '0') { //hier wird geguckt, ob man auf eine 0 gestoßen ist
revealZero(x + 1, y); //alle 4 Richtungen werden rekursiv aufgerufen
revealZero(x - 1, y);
revealZero(x, y - 1);
revealZero(x, y + 1);
anzeige.set(x,y,h); //hier wird das Symbol (indem Fall 0) gespeichert und in einer anderen Methode mit anzeige.get(x,y) wiedergegeben
//ich muss irgendwie das anzeige.set(x,y,h) benutzen, sonst hat anzeige.get an der Stelle kein Char
} else {
return;
}[/CODE]
Vielleicht hat jemand ein paar Tipps.
Danke Zeppi
ich versuche gerade die Minen rekursiv aufzudecken. Ich habe ein paar Infos neben den Lines geschrieben, damit die Ausdrücke ein wenig besser zu lesen sind.
[CODE lang="java" title="Rekursionsversuch"]public void revealZero(int x, int y) {
char h;
h = (minen.suche(new Koordinate(x, y))); //hier wird geguckt, was die Nachbarfelder sind
if (x < 0 || x > 11 || y < 0 || y > 15) //hier wird geguckt, ob man innerhalb des Spielfeldes ist
return;
if (h == '0') { //hier wird geguckt, ob man auf eine 0 gestoßen ist
revealZero(x + 1, y); //alle 4 Richtungen werden rekursiv aufgerufen
revealZero(x - 1, y);
revealZero(x, y - 1);
revealZero(x, y + 1);
anzeige.set(x,y,h); //hier wird das Symbol (indem Fall 0) gespeichert und in einer anderen Methode mit anzeige.get(x,y) wiedergegeben
//ich muss irgendwie das anzeige.set(x,y,h) benutzen, sonst hat anzeige.get an der Stelle kein Char
} else {
return;
}[/CODE]
Vielleicht hat jemand ein paar Tipps.
Danke Zeppi