PvP angefangen, funktioniert noch nicht wie es soll
parent
fa5fd016ed
commit
c5f19d63d5
|
@ -58,8 +58,8 @@ public class Spiel {
|
||||||
spielbrettArray[0][1] = ' ';
|
spielbrettArray[0][1] = ' ';
|
||||||
spielbrettArray[0][2] = ' ';
|
spielbrettArray[0][2] = ' ';
|
||||||
spielbrettArray[0][3] = ' ';
|
spielbrettArray[0][3] = ' ';
|
||||||
spielbrettArray[0][4] = 'X';
|
spielbrettArray[0][4] = '\u25A1';
|
||||||
spielbrettArray[0][5] = 'X';
|
spielbrettArray[0][5] = '\u25A1';
|
||||||
spielbrettArray[0][6] = '\u25A1';
|
spielbrettArray[0][6] = '\u25A1';
|
||||||
spielbrettArray[0][7] = ' ';
|
spielbrettArray[0][7] = ' ';
|
||||||
spielbrettArray[0][8] = ' ';
|
spielbrettArray[0][8] = ' ';
|
||||||
|
@ -69,9 +69,9 @@ public class Spiel {
|
||||||
spielbrettArray[1][1] = ' ';
|
spielbrettArray[1][1] = ' ';
|
||||||
spielbrettArray[1][2] = ' ';
|
spielbrettArray[1][2] = ' ';
|
||||||
spielbrettArray[1][3] = ' ';
|
spielbrettArray[1][3] = ' ';
|
||||||
spielbrettArray[1][4] = '\u25A1';
|
spielbrettArray[1][4] = 'O';
|
||||||
spielbrettArray[1][5] = 'X';
|
spielbrettArray[1][5] = '\u25A1';
|
||||||
spielbrettArray[1][6] = 'X';
|
spielbrettArray[1][6] = 'O';
|
||||||
spielbrettArray[1][7] = ' ';
|
spielbrettArray[1][7] = ' ';
|
||||||
spielbrettArray[1][8] = ' ';
|
spielbrettArray[1][8] = ' ';
|
||||||
spielbrettArray[1][9] = ' ';
|
spielbrettArray[1][9] = ' ';
|
||||||
|
@ -80,15 +80,15 @@ public class Spiel {
|
||||||
spielbrettArray[2][1] = ' ';
|
spielbrettArray[2][1] = ' ';
|
||||||
spielbrettArray[2][2] = ' ';
|
spielbrettArray[2][2] = ' ';
|
||||||
spielbrettArray[2][3] = ' ';
|
spielbrettArray[2][3] = ' ';
|
||||||
spielbrettArray[2][4] = 'X';
|
spielbrettArray[2][4] = '\u25A1';
|
||||||
spielbrettArray[2][5] = '\u25A1';
|
spielbrettArray[2][5] = '\u25A1';
|
||||||
spielbrettArray[2][6] = 'X';
|
spielbrettArray[2][6] = '\u25A1';
|
||||||
spielbrettArray[2][7] = ' ';
|
spielbrettArray[2][7] = ' ';
|
||||||
spielbrettArray[2][8] = ' ';
|
spielbrettArray[2][8] = ' ';
|
||||||
spielbrettArray[2][9] = ' ';
|
spielbrettArray[2][9] = ' ';
|
||||||
|
|
||||||
spielbrettArray[3][0] = '5';
|
spielbrettArray[3][0] = '5';
|
||||||
spielbrettArray[3][1] = 'O';
|
spielbrettArray[3][1] = '\u25A1';
|
||||||
spielbrettArray[3][2] = '\u25A1';
|
spielbrettArray[3][2] = '\u25A1';
|
||||||
spielbrettArray[3][3] = '\u25A1';
|
spielbrettArray[3][3] = '\u25A1';
|
||||||
spielbrettArray[3][4] = '\u25A1';
|
spielbrettArray[3][4] = '\u25A1';
|
||||||
|
@ -96,18 +96,18 @@ public class Spiel {
|
||||||
spielbrettArray[3][6] = '\u25A1';
|
spielbrettArray[3][6] = '\u25A1';
|
||||||
spielbrettArray[3][7] = '\u25A1';
|
spielbrettArray[3][7] = '\u25A1';
|
||||||
spielbrettArray[3][8] = '\u25A1';
|
spielbrettArray[3][8] = '\u25A1';
|
||||||
spielbrettArray[3][9] = 'O';
|
spielbrettArray[3][9] = '\u25A1';
|
||||||
|
|
||||||
spielbrettArray[4][0] = '4';
|
spielbrettArray[4][0] = '4';
|
||||||
spielbrettArray[4][1] = 'X';
|
spielbrettArray[4][1] = 'X';
|
||||||
spielbrettArray[4][2] = '\u25A1';
|
spielbrettArray[4][2] = 'X';
|
||||||
spielbrettArray[4][3] = '\u25A1';
|
spielbrettArray[4][3] = 'X';
|
||||||
spielbrettArray[4][4] = '\u25A1';
|
spielbrettArray[4][4] = 'X';
|
||||||
spielbrettArray[4][5] = '\u25A1';
|
spielbrettArray[4][5] = 'X';
|
||||||
spielbrettArray[4][6] = '\u25A1';
|
spielbrettArray[4][6] = 'X';
|
||||||
spielbrettArray[4][7] = '\u25A1';
|
spielbrettArray[4][7] = 'X';
|
||||||
spielbrettArray[4][8] = '\u25A1';
|
spielbrettArray[4][8] = 'X';
|
||||||
spielbrettArray[4][9] = '\u25A1';
|
spielbrettArray[4][9] = 'X';
|
||||||
|
|
||||||
spielbrettArray[5][0] = '3';
|
spielbrettArray[5][0] = '3';
|
||||||
spielbrettArray[5][1] = 'X';
|
spielbrettArray[5][1] = 'X';
|
||||||
|
|
|
@ -17,6 +17,7 @@ public class Spielsystem {
|
||||||
private Spielfigur henne;
|
private Spielfigur henne;
|
||||||
private Spielfigur fuchs;
|
private Spielfigur fuchs;
|
||||||
private Spielfigur spieler;
|
private Spielfigur spieler;
|
||||||
|
private Spielfigur spieler2;
|
||||||
private Spielfigur computer;
|
private Spielfigur computer;
|
||||||
private Bot ki;
|
private Bot ki;
|
||||||
private boolean aktiverSpieler;
|
private boolean aktiverSpieler;
|
||||||
|
@ -36,6 +37,17 @@ public class Spielsystem {
|
||||||
// Scheiße
|
// Scheiße
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public void spielerBestimmen2Spieler(int spielerwahl) {
|
||||||
|
if (spielerwahl == 1) {
|
||||||
|
spieler = new Fuchs();
|
||||||
|
spieler2 = new Hennen();
|
||||||
|
} else if (spielerwahl == 2) {
|
||||||
|
spieler = new Hennen();
|
||||||
|
spieler2 = new Fuchs();
|
||||||
|
} else {
|
||||||
|
// Scheiße
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void computerBestimmen(int spielerwahl) {
|
public void computerBestimmen(int spielerwahl) {
|
||||||
if (spielerwahl == 2) {
|
if (spielerwahl == 2) {
|
||||||
|
@ -197,6 +209,13 @@ public class Spielsystem {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isValidMoveHenne(String zug, boolean henne) {
|
||||||
|
if (henne == true) {
|
||||||
|
return spieler.oberIsValidMove(zug, spiel);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Noch falsche Ausgabe vom Zug (Array statt wie bei Eingabe vom Spieler)
|
// Noch falsche Ausgabe vom Zug (Array statt wie bei Eingabe vom Spieler)
|
||||||
// <---------------------------------------------------------------------
|
// <---------------------------------------------------------------------
|
||||||
|
@ -284,6 +303,12 @@ public class Spielsystem {
|
||||||
// UI.start(werBeginnt, kiLevel);
|
// UI.start(werBeginnt, kiLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void start2Spieler(boolean werBeginnt) {
|
||||||
|
spiel.generiereSpielbrett();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean findeHenne(String henneGewählt) {
|
public boolean findeHenne(String henneGewählt) {
|
||||||
|
|
||||||
char[][] spielbrett = spiel.getSpielbrettArray();
|
char[][] spielbrett = spiel.getSpielbrettArray();
|
||||||
|
@ -351,4 +376,6 @@ public class Spielsystem {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
185
src/ui/UI.java
185
src/ui/UI.java
|
@ -111,7 +111,34 @@ public class UI {
|
||||||
// gameloop
|
// gameloop
|
||||||
// case 1:
|
// case 1:
|
||||||
private void pVP() {
|
private void pVP() {
|
||||||
|
System.out.println("Spieler 1, wollen Sie als die Füchse oder Hennen spielen?");
|
||||||
|
System.out.println("1 -> Füchse spielen");
|
||||||
|
System.out.println("2 -> Hennen spielen");
|
||||||
|
System.out.println();
|
||||||
|
System.out.print("> ");
|
||||||
|
int spieler1Spielt = Integer.parseInt(sc.nextLine());
|
||||||
|
int spieler2Spielt = 0;
|
||||||
|
switch (spieler1Spielt) {
|
||||||
|
case 1:
|
||||||
|
spielsystem.spielerBestimmen2Spieler(spieler1Spielt);
|
||||||
|
spieler2Spielt = 2;
|
||||||
|
System.out.println();
|
||||||
|
System.out.println("Sie haben sich für die Füchse entschieden.");
|
||||||
|
System.out.println("Spieler 2 spielt somit die Hennen. ");
|
||||||
|
System.out.println();
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
spielsystem.spielerBestimmen(spieler1Spielt);
|
||||||
|
spieler2Spielt = 1;
|
||||||
|
System.out.println();
|
||||||
|
System.out.println("Sie haben sich für die Hennen entschieden.");
|
||||||
|
System.out.println("Spieler 2 spielt somit die Füchse. ");
|
||||||
|
System.out.println();
|
||||||
|
break;
|
||||||
|
}
|
||||||
boolean werBeginnt = werBeginnt();
|
boolean werBeginnt = werBeginnt();
|
||||||
|
spielsystem.start2Spieler(werBeginnt);
|
||||||
|
start2Spieler(werBeginnt, spieler1Spielt, spieler2Spielt);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,6 +170,159 @@ public class UI {
|
||||||
start(werBeginnt, kiLevel);
|
start(werBeginnt, kiLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void start2Spieler(boolean werBeginnt, int spieler1Wahl, int spieler2Wahl) {
|
||||||
|
int counter = 0;
|
||||||
|
boolean zugFuchs = false;
|
||||||
|
boolean zugHenne = false;
|
||||||
|
boolean erfolgreicherZug;
|
||||||
|
boolean erfolgreich;
|
||||||
|
boolean freiesFeld;
|
||||||
|
boolean erfolgreichGepusht;
|
||||||
|
String zugPushHenne = "";
|
||||||
|
String zug;
|
||||||
|
|
||||||
|
if (werBeginnt == true) {
|
||||||
|
zugHenne = true;
|
||||||
|
} else {
|
||||||
|
zugFuchs = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("Das Spiel wurde gestartet!");
|
||||||
|
System.out.println();
|
||||||
|
System.out.println("Das Startspielbrett sieht wie folgt aus:");
|
||||||
|
System.out.println();
|
||||||
|
spielsystem.printBoard();
|
||||||
|
System.out.println();
|
||||||
|
|
||||||
|
do {
|
||||||
|
// wenn Henne beginnt
|
||||||
|
if (zugHenne == true) {
|
||||||
|
|
||||||
|
if (spieler1Wahl == 1) {
|
||||||
|
boolean henne = true;
|
||||||
|
|
||||||
|
spielsystem.setAktivenSpieler(true);
|
||||||
|
System.out.println("Die Hennen sind am Zug:");
|
||||||
|
System.out.println("Spieler Sie sind dran");
|
||||||
|
do {
|
||||||
|
System.out.println("Bitte geben Sie Ihren Zug ein:");
|
||||||
|
System.out.println();
|
||||||
|
System.out.print("> ");
|
||||||
|
zug = sc.nextLine();
|
||||||
|
System.out.println();
|
||||||
|
erfolgreicherZug = spielsystem.isValidMoveHenne(zug, henne);
|
||||||
|
|
||||||
|
if (erfolgreicherZug == false) {
|
||||||
|
System.out.println("Ihre Zugeingabe: -" + zug + "- war leider kein valider Zug!");
|
||||||
|
System.out.println("Sie sind weiterhin am Zug");
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
} while (erfolgreicherZug == false);
|
||||||
|
|
||||||
|
spielsystem.myMove(zug);
|
||||||
|
zugHenne = false;
|
||||||
|
zugFuchs = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// wenn Fuchs beginnt
|
||||||
|
} else if (zugFuchs == true) {
|
||||||
|
spielsystem.setAktivenSpieler(true);
|
||||||
|
System.out.println("Die Füchse sind am Zug:");
|
||||||
|
|
||||||
|
if (spielsystem.fuchsUmzingelt() == true) {
|
||||||
|
System.out.println();
|
||||||
|
System.out.println("Mindestens einer Ihrer Füchse in umzingelt!");
|
||||||
|
System.out.println(
|
||||||
|
"Wenn Sie nichts dagegen tun können, wird dieser Fuchs am Ende des Zuges eliminiert.");
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("Bitte wählen Sie entweder (1) normaler Zug oder (2) Sonderzug Push Henne");
|
||||||
|
System.out.println("Denken Sie daran, dass Sie den Sonderzug nur - 1x - benutzen können!");
|
||||||
|
int eingabe = Integer.parseInt(sc.nextLine());
|
||||||
|
switch (eingabe) {
|
||||||
|
case 1:
|
||||||
|
System.out.println("Spieler Sie sind dran");
|
||||||
|
do {
|
||||||
|
System.out.println("Bitte geben Sie Ihren Zug ein:");
|
||||||
|
System.out.println();
|
||||||
|
System.out.print("> ");
|
||||||
|
zug = sc.nextLine();
|
||||||
|
System.out.println();
|
||||||
|
erfolgreicherZug = spielsystem.isValidMove(zug);
|
||||||
|
|
||||||
|
if (erfolgreicherZug == false) {
|
||||||
|
System.out.println("Ihre Zugeingabe: -" + zug + "- war leider kein valider Zug!");
|
||||||
|
System.out.println("Sie sind weiterhin am Zug");
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
} while (erfolgreicherZug == false);
|
||||||
|
|
||||||
|
spielsystem.myMove(zug);
|
||||||
|
|
||||||
|
zugHenne = true;
|
||||||
|
zugFuchs = false;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (counter == 1) {
|
||||||
|
System.out.println("Sonderzug wurde schon verbraucht. ");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
do {
|
||||||
|
System.out.println("Sonderzug gewählt. ");
|
||||||
|
System.out.println("Bitte wählen Sie die Henne, die Sie bewegen möchten: ");
|
||||||
|
String henneGewählt = sc.nextLine();
|
||||||
|
erfolgreich = spielsystem.findeHenne(henneGewählt);
|
||||||
|
|
||||||
|
if (erfolgreich == false) {
|
||||||
|
System.out.println("Ihre Zugeingabe -" + henneGewählt + "- war leider kein valider Zug!");
|
||||||
|
System.out.println("Sie sind weiterhin am Zug");
|
||||||
|
System.out.println();
|
||||||
|
|
||||||
|
} else if (erfolgreich == true) {
|
||||||
|
zugPushHenne += henneGewählt;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
} while (erfolgreich == false);
|
||||||
|
do {
|
||||||
|
System.out.println("Henne wurde erfolgreich gewählt. Wo soll sie hingeschoben werden? ");
|
||||||
|
String pushHenne = sc.nextLine();
|
||||||
|
freiesFeld = spielsystem.findeFreiesFeld(pushHenne);
|
||||||
|
|
||||||
|
if (freiesFeld == false) {
|
||||||
|
System.out.println("Ihre Zugeingabe -" + pushHenne + "- war leider kein valider Zug!");
|
||||||
|
System.out.println("Sie sind weiterhin am Zug");
|
||||||
|
System.out.println();
|
||||||
|
|
||||||
|
} else if (freiesFeld == true) {
|
||||||
|
zugPushHenne += " " + pushHenne;
|
||||||
|
counter++;
|
||||||
|
}
|
||||||
|
|
||||||
|
} while (freiesFeld == false);
|
||||||
|
erfolgreichGepusht = spielsystem.pushHenne(zugPushHenne);
|
||||||
|
System.out.println("Henne wurde erfolgreich geschoben. ");
|
||||||
|
zugHenne = true;
|
||||||
|
zugFuchs = false;
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
if (spielsystem.fuchsUmzingelt() == true) {
|
||||||
|
System.out.println();
|
||||||
|
System.out.println("Leider ist noch ein Fuchs umzingelt!");
|
||||||
|
System.out.println("Dieser wird nun ausgelöscht.");
|
||||||
|
System.out.println();
|
||||||
|
spielsystem.killFuchs();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// nach jedem Zug das Spielbrett ausgeben
|
||||||
|
spielsystem.printBoard();
|
||||||
|
|
||||||
|
} while (spielsystem.isRunning() == true);
|
||||||
|
}
|
||||||
|
|
||||||
public void start(boolean werBeginnt, int kiLevel) {
|
public void start(boolean werBeginnt, int kiLevel) {
|
||||||
boolean zugFuchs = false;
|
boolean zugFuchs = false;
|
||||||
boolean zugHenne = false;
|
boolean zugHenne = false;
|
||||||
|
@ -226,7 +406,8 @@ public class UI {
|
||||||
if (spielsystem.fuchsUmzingelt() == true) {
|
if (spielsystem.fuchsUmzingelt() == true) {
|
||||||
System.out.println();
|
System.out.println();
|
||||||
System.out.println("Mindestens einer Ihrer Füchse in umzingelt!");
|
System.out.println("Mindestens einer Ihrer Füchse in umzingelt!");
|
||||||
System.out.println("Wenn Sie nichts dagegen tun können, wird dieser Fuchs am Ende des Zuges eliminiert.");
|
System.out.println(
|
||||||
|
"Wenn Sie nichts dagegen tun können, wird dieser Fuchs am Ende des Zuges eliminiert.");
|
||||||
System.out.println();
|
System.out.println();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -345,9 +526,11 @@ public class UI {
|
||||||
System.out.println();
|
System.out.println();
|
||||||
|
|
||||||
if (werBeginnt == 1) {
|
if (werBeginnt == 1) {
|
||||||
|
System.out.println("Füchse beginnen.");
|
||||||
// Füchse starten
|
// Füchse starten
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
|
System.out.println("Hennen beginnen.");
|
||||||
// Hennen starten
|
// Hennen starten
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue