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;
import java.util.HashMap;
public class Spiel {
private String spielname;
@ -44,7 +42,7 @@ public class Spiel {
spielbrettArray[1][3] = ' ';
spielbrettArray[1][4] = 'O';
spielbrettArray[1][5] = '\u25A1';
spielbrettArray[1][6] = 'O';
spielbrettArray[1][6] = 'O';
spielbrettArray[1][7] = ' ';
spielbrettArray[1][8] = ' ';
spielbrettArray[1][9] = ' ';

View File

@ -11,7 +11,6 @@ import domain.Fuchs;
import domain.Hennen;
import domain.Spiel;
import domain.Spielfigur;
import ui.UI;
public class Spielsystem {
private String spielname;
@ -94,8 +93,65 @@ public class Spielsystem {
public void 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() {
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;
}
@ -104,8 +160,25 @@ public class Spielsystem {
}
public boolean whoWon() {
// true = Spieler1 | false = Spieler2
return true;
if(gewinnBedingungFuchs() == true) {
if(spieler instanceof Fuchs) {
System.out.println("Spieler 1 gewinnt");
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) {

View File

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