isWon und whoWon fertig

pull/5/head
Nico Piehl 2022-12-03 20:37:56 +01:00
parent 18e57c9319
commit 5621b7e798
3 changed files with 78 additions and 6 deletions

View File

@ -1,7 +1,5 @@
package domain; package domain;
import java.util.HashMap;
public class Spiel { public class Spiel {
private String spielname; private String spielname;

View File

@ -11,7 +11,6 @@ import domain.Fuchs;
import domain.Hennen; import domain.Hennen;
import domain.Spiel; import domain.Spiel;
import domain.Spielfigur; import domain.Spielfigur;
import ui.UI;
public class Spielsystem { public class Spielsystem {
private String spielname; private String spielname;
@ -95,7 +94,64 @@ public class Spielsystem {
spiel.printBoard(); spiel.printBoard();
} }
public boolean gewinnBedingungHennen() {
char[][] spielbrettArray = spiel.getSpielbrettArray();
if(spielbrettArray[0][4] == 'X' && spielbrettArray[0][5] == 'X' && spielbrettArray[0][6] == 'X' &&
spielbrettArray[1][4] == 'X' && spielbrettArray[1][5] == 'X' && spielbrettArray[1][6] == 'X' &&
spielbrettArray[2][4] == 'X' && spielbrettArray[2][5] == 'X' && spielbrettArray[2][6] == 'X') {
return true;
}
int spielfigurExistiert = 0;
for(int i = 0; i < spielbrettArray.length; i++ )
{
for(int k = 0; k < spielbrettArray[i].length; k++ ){
if(spielbrettArray[i][k] == 'O') {
spielfigurExistiert++;
}
}
if(spielfigurExistiert >= 1) {
break;
}
}
if(spielfigurExistiert == 0) {
return true;
}
return false;
}
public boolean gewinnBedingungFuchs() {
char[][] spielbrettArray = spiel.getSpielbrettArray();
int spielfigurExistiert = 0;
for(int i = 0; i < spielbrettArray.length; i++ )
{
for(int k = 0; k < spielbrettArray[i].length; k++ ){
if(spielbrettArray[i][k] == 'X') {
spielfigurExistiert++;
}
}
}
if(spielfigurExistiert <= 8) {
return true;
}
return false;
}
public boolean isWon() { public boolean isWon() {
if(gewinnBedingungHennen() == true) {
System.out.println("Hennen haben gewonnen");
whoWon();
return true;
} else if (gewinnBedingungFuchs() == true) {
System.out.println("Füchse haben gewonnen");
whoWon();
return true;
}
return false; return false;
} }
@ -104,8 +160,25 @@ public class Spielsystem {
} }
public boolean whoWon() { public boolean whoWon() {
// true = Spieler1 | false = Spieler2 if(gewinnBedingungFuchs() == true) {
if(spieler instanceof Fuchs) {
System.out.println("Spieler 1 gewinnt");
return true; return true;
} else {
System.out.println("Spieler 2 gewinnt");
return false;
}
} else {
if(spieler instanceof Hennen) {
System.out.println("Spieler 1 gewinnt");
return true;
} else {
System.out.println("Spieler 2 gewinnt");
return false;
}
}
} }
public boolean isValidMove(String zug) { public boolean isValidMove(String zug) {

View File

@ -228,6 +228,7 @@ public class UI {
} while (erfolgreicherZug == false); } while (erfolgreicherZug == false);
spielsystem.myMove(zug); spielsystem.myMove(zug);
zugHenne = true; zugHenne = true;
zugFuchs = false; zugFuchs = false;
} }