diff --git a/src/domain/Hennen.java b/src/domain/Hennen.java index d5adce6..95291ed 100644 --- a/src/domain/Hennen.java +++ b/src/domain/Hennen.java @@ -18,7 +18,7 @@ public class Hennen extends Spielfigur { int neueStartX = neueKoordinaten[1]; int neueZielY = neueKoordinaten[2]; int neueZielX = neueKoordinaten[3]; - + // Zug fehleingabe if (neueStartY == 1000 || neueStartX == 1000 || neueZielY == 1000 || neueZielX == 1000) { System.out.println("Fehleingabe"); @@ -79,71 +79,60 @@ public class Hennen extends Spielfigur { } public static boolean hennenRespawn(Spiel spiel, int counter) { + int istGeradeGespawnt = 0; + int zähleHennen = 0; char[][] spielbrettArray = spiel.getSpielbrettArray(); int zähler = counter; if (zähler >= 1) { return false; } - - - //Noch Implementieren bezüglich max. Anzahl Hennen mehr als 27 geht nicht - - //Idee zum lösen ohne genaue Abfrage -// for(int i = 8; i <= 3; i--) { -// for(int j = 1; j <= 9; j++) { -// if (spielbrettArray[i][j] == '\u25A1') { -// spiel.ändereWertImArray(i, j, 'X'); -// System.out.println("an der Stelle " + i + ", " + j + " ist eine neue Henne gespawnt"); -// } -// } -// } - - // unten links - if (spielbrettArray[8][4] == '\u25A1') { - spiel.ändereWertImArray(8, 4, 'X'); - System.out.println("an der Stelle 8,4 ist eine neue Henne gespawnt"); - return true; - // unten mitte - } else if (spielbrettArray[8][5] == '\u25A1') { - spiel.ändereWertImArray(8, 5, 'X'); - System.out.println("an der Stelle 8,5 ist eine neue Henne gespawnt"); - return true; - // unten rechts - } else if (spielbrettArray[8][6] == '\u25A1') { - spiel.ändereWertImArray(8, 6, 'X'); - System.out.println("an der Stelle 8,6 ist eine neue Henne gespawnt"); - return true; - // unten mitte links - } else if (spielbrettArray[7][4] == '\u25A1') { - spiel.ändereWertImArray(7, 4, 'X'); - System.out.println("an der Stelle 7,4 ist eine neue Henne gespawnt"); - return true; - // unten mitte mitte - } else if (spielbrettArray[7][5] == '\u25A1') { - spiel.ändereWertImArray(7, 5, 'X'); - System.out.println("an der Stelle 7,5 ist eine neue Henne gespawnt"); - return true; - // unten mitte rechts - } else if (spielbrettArray[7][6] == '\u25A1') { - spiel.ändereWertImArray(7, 6, 'X'); - System.out.println("an der Stelle 7,6 ist eine neue Henne gespawnt"); - return true; - } else if (spielbrettArray[6][4] == '\u25A1') { - spiel.ändereWertImArray(6, 4, 'X'); - System.out.println("an der Stelle 6,4 ist eine neue Henne gespawnt"); - return true; - // unten mitte mitte - } else if (spielbrettArray[6][5] == '\u25A1') { - spiel.ändereWertImArray(6, 5, 'X'); - System.out.println("an der Stelle 6,5 ist eine neue Henne gespawnt"); - return true; - // unten mitte rechts - } else if (spielbrettArray[6][6] == '\u25A1') { - spiel.ändereWertImArray(6, 6, 'X'); - System.out.println("an der Stelle 6,6 ist eine neue Henne gespawnt"); - return true; + + // Zähle die Hennen auf dem Feld + for (int i = 0; i < spielbrettArray.length; i++) { + for (int j = 0; j < spielbrettArray[i].length; j++) { + if (spielbrettArray[i][j] == 'X') { + zähleHennen++; + } } - + } + // Abfrage max. Anzahl Hennen + if (zähleHennen >= 27) { + System.out.println("Maximale Anzahl Hennen auf dem Feld, es kann keine Spawnen."); + return false; + } + + // Abfrage ob ein Feld im unteren Bereich frei ist + for (int i = 8; i >= 6; i--) { + for (int j = 4; j <= 6; j++) { + if (istGeradeGespawnt == 1) { + break; + } + if (spielbrettArray[i][j] == '\u25A1') { + spiel.ändereWertImArray(i, j, 'X'); + System.out.println("an der Stelle " + i + ", " + j + " ist eine neue Henne gespawnt"); + istGeradeGespawnt = 1; + } + + } + } + // Abfrage ob ein Feld in der mitte frei ist + for (int i = 5; i >= 3; i--) { + for (int j = 1; j <= 9; j++) { + if (istGeradeGespawnt == 1) { + break; + } + if (spielbrettArray[i][j] == '\u25A1') { + spiel.ändereWertImArray(i, j, 'X'); + System.out.println("an der Stelle " + i + ", " + j + " ist eine neue Henne gespawnt"); + istGeradeGespawnt = 1; + + } + + } + } + if (istGeradeGespawnt == 1) { + istGeradeGespawnt = 0; + } return false; } } diff --git a/src/domain/Spiel.java b/src/domain/Spiel.java index 3dcc5f7..5dbe2db 100644 --- a/src/domain/Spiel.java +++ b/src/domain/Spiel.java @@ -71,7 +71,7 @@ public class Spiel { spielbrettArray[1][3] = ' '; spielbrettArray[1][4] = '\u25A1'; spielbrettArray[1][5] = 'X'; - spielbrettArray[1][6] = 'O'; + spielbrettArray[1][6] = 'X'; spielbrettArray[1][7] = ' '; spielbrettArray[1][8] = ' '; spielbrettArray[1][9] = ' '; @@ -80,34 +80,34 @@ public class Spiel { spielbrettArray[2][1] = ' '; spielbrettArray[2][2] = ' '; spielbrettArray[2][3] = ' '; - spielbrettArray[2][4] = 'O'; + spielbrettArray[2][4] = 'X'; spielbrettArray[2][5] = '\u25A1'; - spielbrettArray[2][6] = '\u25A1'; + spielbrettArray[2][6] = 'X'; spielbrettArray[2][7] = ' '; spielbrettArray[2][8] = ' '; spielbrettArray[2][9] = ' '; spielbrettArray[3][0] = '5'; - spielbrettArray[3][1] = '\u25A1'; + spielbrettArray[3][1] = 'O'; spielbrettArray[3][2] = '\u25A1'; spielbrettArray[3][3] = '\u25A1'; spielbrettArray[3][4] = '\u25A1'; - spielbrettArray[3][5] = 'X'; + spielbrettArray[3][5] = '\u25A1'; spielbrettArray[3][6] = '\u25A1'; spielbrettArray[3][7] = '\u25A1'; spielbrettArray[3][8] = '\u25A1'; - spielbrettArray[3][9] = '\u25A1'; + spielbrettArray[3][9] = 'O'; spielbrettArray[4][0] = '4'; spielbrettArray[4][1] = 'X'; - spielbrettArray[4][2] = 'X'; - spielbrettArray[4][3] = 'X'; - spielbrettArray[4][4] = 'X'; - spielbrettArray[4][5] = 'X'; + spielbrettArray[4][2] = '\u25A1'; + spielbrettArray[4][3] = '\u25A1'; + spielbrettArray[4][4] = '\u25A1'; + spielbrettArray[4][5] = '\u25A1'; spielbrettArray[4][6] = '\u25A1'; - spielbrettArray[4][7] = 'X'; - spielbrettArray[4][8] = 'X'; - spielbrettArray[4][9] = 'X'; + spielbrettArray[4][7] = '\u25A1'; + spielbrettArray[4][8] = '\u25A1'; + spielbrettArray[4][9] = '\u25A1'; spielbrettArray[5][0] = '3'; spielbrettArray[5][1] = 'X'; @@ -126,7 +126,7 @@ public class Spiel { spielbrettArray[6][3] = ' '; spielbrettArray[6][4] = 'X'; spielbrettArray[6][5] = 'X'; - spielbrettArray[6][6] = '\u25A1'; + spielbrettArray[6][6] = 'X'; spielbrettArray[6][7] = ' '; spielbrettArray[6][8] = ' '; spielbrettArray[6][9] = ' ';