isValidMove Henne fertig
parent
0ce6fe08a8
commit
2e9615fb71
|
@ -8,18 +8,19 @@ public class Hennen extends Spielfigur {
|
|||
|
||||
// generell sehr fehleranfällig, mit Regex Filter Struktur vom String vorgeben
|
||||
public boolean isValidMove(String zug, Spiel spiel) {
|
||||
char[][] spielbrettArray = new char[10][10];;
|
||||
char[][] spielbrettArray = new char[10][10];
|
||||
spielbrettArray = spiel.getSpielbrettArray();
|
||||
//Form vom Zug: "5,5 4,5"
|
||||
// Form vom Zug: "5,5 4,5"
|
||||
|
||||
// Zug wurde getätigt....
|
||||
// Werte als Char
|
||||
|
||||
//Zug wurde getätigt....
|
||||
//Werte als Char
|
||||
char startKoordinate1 = zug.charAt(0);
|
||||
char startKoordinate2 = zug.charAt(2);
|
||||
char zielKoordinate1 = zug.charAt(4);
|
||||
char zielKoordinate2 = zug.charAt(6);
|
||||
|
||||
//Werte als int
|
||||
// Werte als int
|
||||
int startKoord1 = Character.getNumericValue(startKoordinate1);
|
||||
int startKoord2 = Character.getNumericValue(startKoordinate2);
|
||||
int zielKoord1 = Character.getNumericValue(zielKoordinate1);
|
||||
|
@ -28,20 +29,45 @@ public class Hennen extends Spielfigur {
|
|||
int[] neueStartKoords = spiel.wandelPassendUm(startKoord1, startKoord2);
|
||||
int[] neueZielKoords = spiel.wandelPassendUm(zielKoord1, zielKoord2);
|
||||
|
||||
//Werte angepasst auf unser Board
|
||||
int neueStartX = neueStartKoords[0];
|
||||
int neueStartY = neueStartKoords[1];
|
||||
int neueZielX = neueZielKoords[0];
|
||||
int neueZielY = neueZielKoords[1];
|
||||
// Werte angepasst auf unser Board, die Form des Zuges hat sich geändert von X,Y
|
||||
// auf Y,X
|
||||
int neueStartY = neueStartKoords[0];
|
||||
int neueStartX = neueStartKoords[1];
|
||||
int neueZielY = neueZielKoords[0];
|
||||
int neueZielX = neueZielKoords[1];
|
||||
|
||||
// Zug fehleingabe
|
||||
if (neueStartKoords == null || neueZielKoords == null) {
|
||||
System.out.println("Fehleingabe");
|
||||
return false;
|
||||
|
||||
//Fehler Spielsymbol beim Start oder Zeil falsch
|
||||
if (spielbrettArray[neueStartX][neueStartY] != 'X')
|
||||
// Fehler Spielsymbol beim Start oder Ziel falsch
|
||||
} else if (spielbrettArray[neueStartY][neueStartX] != 'X'
|
||||
|| spielbrettArray[neueZielY][neueZielX] != '\u25A1') {
|
||||
System.out.println("Symbole an stellen falsch");
|
||||
return false;
|
||||
|
||||
// Henne darf nicht zurückgehen, ZielY muss kleiner als Start sein
|
||||
} else if (neueZielY > neueStartY) {
|
||||
System.out.println("darf nicht rückwärts gehen");
|
||||
return false;
|
||||
|
||||
// Henne darf seitlich gehen, nach rechts
|
||||
} else if (neueStartX < neueZielX) {
|
||||
if ((neueStartY == neueZielY) && ((neueStartX + 1) != neueZielX)) {
|
||||
System.out.println("darf nur ein feld seitwärts gehen");
|
||||
return false;
|
||||
}
|
||||
// Henne darf seitlich gehen, nach links
|
||||
} else if (neueStartX > neueZielX) {
|
||||
if ((neueStartY == neueZielY) && ((neueStartX - 1) != neueZielX)) {
|
||||
System.out.println("darf nur ein feld seitwärts gehen");
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
System.out.println("Hennenmethode aufgerufen");
|
||||
// return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ public class Spiel {
|
|||
spielbrettArray[3][2] = '\u25A1';
|
||||
spielbrettArray[3][3] = '\u25A1';
|
||||
spielbrettArray[3][4] = '\u25A1';
|
||||
spielbrettArray[3][5] = '\u25A1';
|
||||
spielbrettArray[3][5] = 'X';
|
||||
spielbrettArray[3][6] = '\u25A1';
|
||||
spielbrettArray[3][7] = '\u25A1';
|
||||
spielbrettArray[3][8] = '\u25A1';
|
||||
|
|
Loading…
Reference in New Issue