Eing. Koordinaten auf unser Board angepasst, chars -> ints umgewandelt

pull/5/head
robinschumann 2022-11-28 20:49:55 +01:00
parent faab8c8aca
commit f2842fa621
3 changed files with 482 additions and 1 deletions

View File

@ -8,7 +8,32 @@ public class Hennen extends Spielfigur {
// generell sehr fehleranfällig, mit Regex Filter Struktur vom String vorgeben
public static boolean isValidMove(String zug) {
// public boolean isValidMove(String zug) {
//Form vom Zug: "5,5 4,5"
//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
int startKoord1 = Character.getNumericValue(startKoordinate1);
int startKoord2 = Character.getNumericValue(startKoordinate2);
int zielKoord1 = Character.getNumericValue(zielKoordinate1);
int zielKoord2 = Character.getNumericValue(zielKoordinate2);
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];
System.out.println("Hennenmethode aufgerufen");
// return false;

View File

@ -171,6 +171,443 @@ public class Spiel {
return spielbrettArray;
}
public static int[] wandelPassendUm(int umwandeln1, int umwandeln2) {
// Erlaubte Koordinaten sind:
// 3,0 / 4,0 / 5,0 - 3,1 / 4,1 / 5,1 - 3,2 / 4,2 / 5,2
// 0,3 / 1,3 / 2,3 / 3,3 / 4,3 / 5,3 / 6,3 / 7,3 / 8,3
// 0,4 / ...
// 0,5 / ...
// 3,6 / 4,6 / 5,6 - 3,7 / 4,7 / 5,7 - 3,8 / 4,8 / 5,8
// Fälle 3,0 / 4,0 / 5,0
if (umwandeln1 == 3 && umwandeln2 == 0) {
umwandeln1 = 8;
umwandeln2 = 4;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 4 && umwandeln2 == 0) {
umwandeln1 = 8;
umwandeln2 = 5;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 5 && umwandeln2 == 0 ) {
umwandeln1 = 8 ;
umwandeln2 = 6 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
// Fälle 3,1 / 4,1 / 5,1
if (umwandeln1 == 3 && umwandeln2 == 1 ) {
umwandeln1 = 7 ;
umwandeln2 = 4 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 4 && umwandeln2 == 1 ) {
umwandeln1 = 7 ;
umwandeln2 = 5 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 4 && umwandeln2 == 1 ) {
umwandeln1 = 7 ;
umwandeln2 = 6 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
// Fälle 3,2 / 4,2 / 5,2
if (umwandeln1 == 3 && umwandeln2 == 2 ) {
umwandeln1 = 6 ;
umwandeln2 = 4 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 4 && umwandeln2 == 2 ) {
umwandeln1 = 6 ;
umwandeln2 = 5 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 5 && umwandeln2 == 2 ) {
umwandeln1 = 6 ;
umwandeln2 = 6 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
// Fälle 0,3 - 8,3
if (umwandeln1 == 0 && umwandeln2 == 3 ) {
umwandeln1 = 5 ;
umwandeln2 = 1 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 1 && umwandeln2 == 3 ) {
umwandeln1 = 5 ;
umwandeln2 = 2 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 2 && umwandeln2 == 3 ) {
umwandeln1 = 5 ;
umwandeln2 = 3 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 3 && umwandeln2 == 3 ) {
umwandeln1 = 5 ;
umwandeln2 = 4 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 4 && umwandeln2 == 3 ) {
umwandeln1 = 5 ;
umwandeln2 = 5 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 5 && umwandeln2 == 3 ) {
umwandeln1 = 5 ;
umwandeln2 = 6 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 6 && umwandeln2 == 3 ) {
umwandeln1 = 5 ;
umwandeln2 = 7 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 7 && umwandeln2 == 3 ) {
umwandeln1 = 5 ;
umwandeln2 = 8 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 8 && umwandeln2 == 3 ) {
umwandeln1 = 5 ;
umwandeln2 = 9 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
// Fälle 0,4 - 8,4
if (umwandeln1 == 0 && umwandeln2 == 4 ) {
umwandeln1 = 4 ;
umwandeln2 = 1 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 1 && umwandeln2 == 4 ) {
umwandeln1 = 4 ;
umwandeln2 = 2 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 2 && umwandeln2 == 4 ) {
umwandeln1 = 4 ;
umwandeln2 = 3 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 3 && umwandeln2 == 4 ) {
umwandeln1 = 4 ;
umwandeln2 = 4 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 4 && umwandeln2 == 4 ) {
umwandeln1 = 4 ;
umwandeln2 = 5 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 5 && umwandeln2 == 4 ) {
umwandeln1 = 4 ;
umwandeln2 = 6 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 6 && umwandeln2 == 4 ) {
umwandeln1 = 4 ;
umwandeln2 = 7 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 7 && umwandeln2 == 4 ) {
umwandeln1 = 4 ;
umwandeln2 = 8 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 8 && umwandeln2 == 4 ) {
umwandeln1 = 4 ;
umwandeln2 = 9 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
// Fälle 0,5 - 8,5
if (umwandeln1 == 0 && umwandeln2 == 5 ) {
umwandeln1 = 3 ;
umwandeln2 = 1 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 1 && umwandeln2 == 5 ) {
umwandeln1 = 3 ;
umwandeln2 = 2 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 2 && umwandeln2 == 5 ) {
umwandeln1 = 3 ;
umwandeln2 = 3 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 3 && umwandeln2 == 5 ) {
umwandeln1 = 3 ;
umwandeln2 = 4 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 4 && umwandeln2 == 5 ) {
umwandeln1 = 3 ;
umwandeln2 = 5 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 5 && umwandeln2 == 5 ) {
umwandeln1 = 3 ;
umwandeln2 = 6 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 6 && umwandeln2 == 5 ) {
umwandeln1 = 3 ;
umwandeln2 = 7 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 7 && umwandeln2 == 5 ) {
umwandeln1 = 3 ;
umwandeln2 = 8 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 8 && umwandeln2 == 5 ) {
umwandeln1 = 3 ;
umwandeln2 = 9 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
//Fälle 3,6 - 5,6
if (umwandeln1 == 3 && umwandeln2 == 6) {
umwandeln1 = 2;
umwandeln2 = 4;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 4 && umwandeln2 == 6) {
umwandeln1 = 2;
umwandeln2 = 5;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 5 && umwandeln2 == 6 ) {
umwandeln1 = 2 ;
umwandeln2 = 6 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
//Fälle 3,7 - 5,7
if (umwandeln1 == 3 && umwandeln2 == 7) {
umwandeln1 = 1;
umwandeln2 = 4;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 4 && umwandeln2 == 7) {
umwandeln1 = 1;
umwandeln2 = 5;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 5 && umwandeln2 == 7 ) {
umwandeln1 = 1 ;
umwandeln2 = 6 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
//Fälle 3,8 - 5,8
if (umwandeln1 == 3 && umwandeln2 == 8) {
umwandeln1 = 0;
umwandeln2 = 4;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 4 && umwandeln2 == 8) {
umwandeln1 = 0;
umwandeln2 = 5;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
if (umwandeln1 == 5 && umwandeln2 == 8 ) {
umwandeln1 = 0 ;
umwandeln2 = 6 ;
int[] umgewandelt = new int[2];
umgewandelt[0] = umwandeln1;
umgewandelt[1] = umwandeln2;
return umgewandelt;
}
return null;
}
}

View File

@ -15,6 +15,25 @@ public class Main {
spiel.generiereSpielbrett();
spiel.printBoard();
String zug = "5,5 5,6";
char startKoordinate1 = zug.charAt(0);
char startKoordinate2 = zug.charAt(2);
char zielKoordinate1 = zug.charAt(4);
char zielKoordinate2 = zug.charAt(6);
int startKoord1 = Character.getNumericValue(startKoordinate1);
int startKoord2 = Character.getNumericValue(startKoordinate2);
int zielKoord1 = Character.getNumericValue(zielKoordinate1);
int zielKoord2 = Character.getNumericValue(zielKoordinate2);
startKoord2 = startKoord2 %8;
System.out.println(startKoord1);
System.out.println(startKoord2);
System.out.println(zielKoord1);
System.out.println(zielKoord2);
}
}