Also mein Problem ist, ich muss dieses Labyrinth-Spiel erstellen. Alles funktioniert gut, außer nach Süden im "Labyrinth". Also scanne ich wo der Spieler hingehen möchte und bearbeite dabei den Platz des Players "P" in einem Array. Dies funktioniert gut, um nach Norden, Osten oder Westen, aber nicht nach Süden zu gehen.Java Maze Spiel Fehler in nur eine Richtung gehen, mit Array
Hintergrund zum Code: Also habe ich ein 11 * 11 Array und in einem der Elemente ist das gleich P. Basierend auf Benutzereingaben geht dieses P nach Norden oder Süden oder Osten oder Westen, vorausgesetzt es gibt keine Wand (angezeigt als ---).
for (int i = 0; i < currentPos.length; i++) {
for (int j = 0; j < currentPos[0].length; j++) {
if (currentPos[i][j].equals("P")) {
if (direction.equals("north")) {
if (currentPos[i - 1][j].equals("---")) {
continue;
} else {
currentPos[i][j] = " ";
currentPos[i - 2][j] = "P";
break;
}
}
if (direction.equals("south")) {
if (currentPos[i + 1][j].equals("---")) {
continue;
} else {
currentPos[i][j] = " ";
currentPos[i + 2][j] = "P";
break;
}
}
}
}
}
Der Import Teil wäre die [i-2] [j] oder [i + 2] [j] Teil I guess. Ich habe hier nur zwei Richtungen platziert, aber die anderen 2 funktionieren gut mit [i] [j-2] und [i] [j + 2].
Bevor ich nach Wänden suchte (die if [i-1] [j] .equals ("---")) {), würde der Süden immer einen Fehler außerhalb der Grenzen geben. Jetzt, wo ich nach einer Wand suche, geht es einfach nach Süden, bis es an eine Wand stößt.
Danke, Alter! Lief wie am Schnürchen. Danke für die Erklärung, war wirklich nützlich! – Joris