Viele Updates und Struktur reingebracht. PVE Ansatz geschrieben. #1
|
@ -2,7 +2,6 @@ package domain;
|
||||||
|
|
||||||
public abstract class Bot {
|
public abstract class Bot {
|
||||||
|
|
||||||
public void zugBestimmen() {
|
public abstract String zugBestimmen();
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
package domain;
|
||||||
|
|
||||||
|
public class BotEasyFuchs extends Bot {
|
||||||
|
|
||||||
|
public BotEasyFuchs() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String zugBestimmen() {
|
||||||
|
|
||||||
|
return "Ich bins der Einfache Fuchs Bot";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package domain;
|
||||||
|
|
||||||
|
public class BotEasyHenne extends Bot {
|
||||||
|
|
||||||
|
public BotEasyHenne() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String zugBestimmen() {
|
||||||
|
return "Ich bins der Einfache Hennen Bot";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package domain;
|
||||||
|
|
||||||
|
public class BotHardFuchs extends Bot {
|
||||||
|
|
||||||
|
public BotHardFuchs() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String zugBestimmen() {
|
||||||
|
return "Ich bins der Harte Fuchs Bot";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package domain;
|
||||||
|
|
||||||
|
public class BotHardHenne extends Bot {
|
||||||
|
|
||||||
|
public BotHardHenne() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String zugBestimmen() {
|
||||||
|
return "Ich bins der Harte Hennen Bot";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package domain;
|
||||||
|
|
||||||
|
public class BotMediumFuchs extends Bot {
|
||||||
|
|
||||||
|
public BotMediumFuchs() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String zugBestimmen() {
|
||||||
|
return "Ich bins der Mittlere Fuchs Bot";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package domain;
|
||||||
|
|
||||||
|
public class BotMediumHenne extends Bot {
|
||||||
|
|
||||||
|
public BotMediumHenne() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String zugBestimmen() {
|
||||||
|
return "Ich bins der Mittlere Hennen Bot";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -2,11 +2,12 @@ package domain;
|
||||||
|
|
||||||
public class Fuchs extends Spielfigur {
|
public class Fuchs extends Spielfigur {
|
||||||
|
|
||||||
public int moveSpielfigur(int feldKey) {
|
public Fuchs() {
|
||||||
return super.moveSpielfigur(feldKey);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean validMove(int startKey, int zielKey) {
|
public boolean isValidMove(String zug) {
|
||||||
return super.validMove(startKey, zielKey);
|
System.out.println("Fuchsmethode aufgerufen");
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,11 +2,12 @@ package domain;
|
||||||
|
|
||||||
public class Hennen extends Spielfigur {
|
public class Hennen extends Spielfigur {
|
||||||
|
|
||||||
public int moveSpielfigur(int feldKey) {
|
public Hennen() {
|
||||||
return super.moveSpielfigur(feldKey);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean validMove(int startKey, int zielKey) {
|
public boolean isValidMove(String zug) {
|
||||||
return super.validMove(startKey, zielKey);
|
System.out.println("Hennenmethode aufgerufen");
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,31 +3,42 @@ package domain;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
public class Spiel {
|
public class Spiel {
|
||||||
private String spielstandName;
|
private String spielname;
|
||||||
private HashMap<Integer, Character> spielbrett = new HashMap<>();
|
private HashMap<Integer, Character> spielbrett = new HashMap<>();
|
||||||
|
|
||||||
public Spiel(String spielstandName) {
|
public Spiel(String spielname) {
|
||||||
this.spielstandName = spielstandName;
|
this.spielname = spielname;
|
||||||
|
this.spielbrett = generiereSpielbrett();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSpielstandName() {
|
public void printBoard() {
|
||||||
return spielstandName;
|
int zähler = 0;
|
||||||
|
for (int i = 0; i < spielbrett.size(); i++) {
|
||||||
|
if (zähler == 9) {
|
||||||
|
System.out.println(spielbrett.get(i));
|
||||||
|
zähler = 0;
|
||||||
|
} else {
|
||||||
|
System.out.print(spielbrett.get(i) + " ");
|
||||||
|
zähler++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println();
|
||||||
}
|
}
|
||||||
|
|
||||||
//Erstellung Anfangsspielbrett mithilfe von Unicode Zeichen
|
//Erstellung Anfangsspielbrett mithilfe von Unicode Zeichen
|
||||||
public HashMap<Integer, Character> generiereSpielbrett() {
|
public HashMap<Integer, Character> generiereSpielbrett() {
|
||||||
// X=Fuchs, O=Henne, \u25A1=ein Kasten
|
// O=Fuchs, X=Henne, \u25A1=ein Kasten
|
||||||
spielbrett.put(0, ' ');
|
spielbrett.put(0, ' ');
|
||||||
spielbrett.put(1, '1');
|
spielbrett.put(1, '0');
|
||||||
spielbrett.put(2, '2');
|
spielbrett.put(2, '1');
|
||||||
spielbrett.put(3, '3');
|
spielbrett.put(3, '2');
|
||||||
spielbrett.put(4, '4');
|
spielbrett.put(4, '3');
|
||||||
spielbrett.put(5, '5');
|
spielbrett.put(5, '4');
|
||||||
spielbrett.put(6, '6');
|
spielbrett.put(6, '5');
|
||||||
spielbrett.put(7, '7');
|
spielbrett.put(7, '6');
|
||||||
spielbrett.put(8, '8');
|
spielbrett.put(8, '7');
|
||||||
spielbrett.put(9, '9');
|
spielbrett.put(9, '8');
|
||||||
spielbrett.put(10, '1');
|
spielbrett.put(10, '0');
|
||||||
spielbrett.put(11, ' ');
|
spielbrett.put(11, ' ');
|
||||||
spielbrett.put(12, ' ');
|
spielbrett.put(12, ' ');
|
||||||
spielbrett.put(13, ' ');
|
spielbrett.put(13, ' ');
|
||||||
|
@ -37,17 +48,17 @@ public class Spiel {
|
||||||
spielbrett.put(17, ' ');
|
spielbrett.put(17, ' ');
|
||||||
spielbrett.put(18, ' ');
|
spielbrett.put(18, ' ');
|
||||||
spielbrett.put(19, ' ');
|
spielbrett.put(19, ' ');
|
||||||
spielbrett.put(20, '2');
|
spielbrett.put(20, '1');
|
||||||
spielbrett.put(21, ' ');
|
spielbrett.put(21, ' ');
|
||||||
spielbrett.put(22, ' ');
|
spielbrett.put(22, ' ');
|
||||||
spielbrett.put(23, ' ');
|
spielbrett.put(23, ' ');
|
||||||
spielbrett.put(24, 'X');
|
spielbrett.put(24, 'O');
|
||||||
spielbrett.put(25, '\u25A1');
|
spielbrett.put(25, '\u25A1');
|
||||||
spielbrett.put(26, 'X');
|
spielbrett.put(26, 'O');
|
||||||
spielbrett.put(27, ' ');
|
spielbrett.put(27, ' ');
|
||||||
spielbrett.put(28, ' ');
|
spielbrett.put(28, ' ');
|
||||||
spielbrett.put(29, ' ');
|
spielbrett.put(29, ' ');
|
||||||
spielbrett.put(30, '3');
|
spielbrett.put(30, '2');
|
||||||
spielbrett.put(31, ' ');
|
spielbrett.put(31, ' ');
|
||||||
spielbrett.put(32, ' ');
|
spielbrett.put(32, ' ');
|
||||||
spielbrett.put(33, ' ');
|
spielbrett.put(33, ' ');
|
||||||
|
@ -57,7 +68,7 @@ public class Spiel {
|
||||||
spielbrett.put(37, ' ');
|
spielbrett.put(37, ' ');
|
||||||
spielbrett.put(38, ' ');
|
spielbrett.put(38, ' ');
|
||||||
spielbrett.put(39, ' ');
|
spielbrett.put(39, ' ');
|
||||||
spielbrett.put(40, '4');
|
spielbrett.put(40, '3');
|
||||||
spielbrett.put(41, '\u25A1');
|
spielbrett.put(41, '\u25A1');
|
||||||
spielbrett.put(42, '\u25A1');
|
spielbrett.put(42, '\u25A1');
|
||||||
spielbrett.put(43, '\u25A1');
|
spielbrett.put(43, '\u25A1');
|
||||||
|
@ -67,61 +78,58 @@ public class Spiel {
|
||||||
spielbrett.put(47, '\u25A1');
|
spielbrett.put(47, '\u25A1');
|
||||||
spielbrett.put(48, '\u25A1');
|
spielbrett.put(48, '\u25A1');
|
||||||
spielbrett.put(49, '\u25A1');
|
spielbrett.put(49, '\u25A1');
|
||||||
spielbrett.put(50, '5');
|
spielbrett.put(50, '4');
|
||||||
spielbrett.put(51, 'O');
|
spielbrett.put(51, 'X');
|
||||||
spielbrett.put(52, 'O');
|
spielbrett.put(52, 'X');
|
||||||
spielbrett.put(53, 'O');
|
spielbrett.put(53, 'X');
|
||||||
spielbrett.put(54, 'O');
|
spielbrett.put(54, 'X');
|
||||||
spielbrett.put(55, 'O');
|
spielbrett.put(55, 'X');
|
||||||
spielbrett.put(56, 'O');
|
spielbrett.put(56, 'X');
|
||||||
spielbrett.put(57, 'O');
|
spielbrett.put(57, 'X');
|
||||||
spielbrett.put(58, 'O');
|
spielbrett.put(58, 'X');
|
||||||
spielbrett.put(59, 'O');
|
spielbrett.put(59, 'X');
|
||||||
spielbrett.put(60, '6');
|
spielbrett.put(60, '5');
|
||||||
spielbrett.put(61, 'O');
|
spielbrett.put(61, 'X');
|
||||||
spielbrett.put(62, 'O');
|
spielbrett.put(62, 'X');
|
||||||
spielbrett.put(63, 'O');
|
spielbrett.put(63, 'X');
|
||||||
spielbrett.put(64, 'O');
|
spielbrett.put(64, 'X');
|
||||||
spielbrett.put(65, 'O');
|
spielbrett.put(65, 'X');
|
||||||
spielbrett.put(66, 'O');
|
spielbrett.put(66, 'X');
|
||||||
spielbrett.put(67, 'O');
|
spielbrett.put(67, 'X');
|
||||||
spielbrett.put(68, 'O');
|
spielbrett.put(68, 'X');
|
||||||
spielbrett.put(69, 'O');
|
spielbrett.put(69, 'X');
|
||||||
spielbrett.put(70, '7');
|
spielbrett.put(70, '6');
|
||||||
spielbrett.put(71, ' ');
|
spielbrett.put(71, ' ');
|
||||||
spielbrett.put(72, ' ');
|
spielbrett.put(72, ' ');
|
||||||
spielbrett.put(73, ' ');
|
spielbrett.put(73, ' ');
|
||||||
spielbrett.put(74, 'O');
|
spielbrett.put(74, 'X');
|
||||||
spielbrett.put(75, 'O');
|
spielbrett.put(75, 'X');
|
||||||
spielbrett.put(76, 'O');
|
spielbrett.put(76, 'X');
|
||||||
spielbrett.put(77, ' ');
|
spielbrett.put(77, ' ');
|
||||||
spielbrett.put(78, ' ');
|
spielbrett.put(78, ' ');
|
||||||
spielbrett.put(79, ' ');
|
spielbrett.put(79, ' ');
|
||||||
spielbrett.put(80, '8');
|
spielbrett.put(80, '7');
|
||||||
spielbrett.put(81, ' ');
|
spielbrett.put(81, ' ');
|
||||||
spielbrett.put(82, ' ');
|
spielbrett.put(82, ' ');
|
||||||
spielbrett.put(83, ' ');
|
spielbrett.put(83, ' ');
|
||||||
spielbrett.put(84, 'O');
|
spielbrett.put(84, 'X');
|
||||||
spielbrett.put(85, 'O');
|
spielbrett.put(85, 'X');
|
||||||
spielbrett.put(86, 'O');
|
spielbrett.put(86, 'X');
|
||||||
spielbrett.put(87, ' ');
|
spielbrett.put(87, ' ');
|
||||||
spielbrett.put(88, ' ');
|
spielbrett.put(88, ' ');
|
||||||
spielbrett.put(89, ' ');
|
spielbrett.put(89, ' ');
|
||||||
spielbrett.put(90, '9');
|
spielbrett.put(90, '8');
|
||||||
spielbrett.put(91, ' ');
|
spielbrett.put(91, ' ');
|
||||||
spielbrett.put(92, ' ');
|
spielbrett.put(92, ' ');
|
||||||
spielbrett.put(93, ' ');
|
spielbrett.put(93, ' ');
|
||||||
spielbrett.put(94, 'O');
|
spielbrett.put(94, 'X');
|
||||||
spielbrett.put(95, 'O');
|
spielbrett.put(95, 'X');
|
||||||
spielbrett.put(96, 'O');
|
spielbrett.put(96, 'X');
|
||||||
spielbrett.put(97, ' ');
|
spielbrett.put(97, ' ');
|
||||||
spielbrett.put(98, ' ');
|
spielbrett.put(98, ' ');
|
||||||
spielbrett.put(99, ' ');
|
spielbrett.put(99, ' ');
|
||||||
|
|
||||||
//System.out.println(spielbrett.values());
|
|
||||||
|
|
||||||
return spielbrett;
|
return spielbrett;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,19 +2,10 @@ package domain;
|
||||||
|
|
||||||
public abstract class Spielfigur {
|
public abstract class Spielfigur {
|
||||||
|
|
||||||
public int selectSpielfigur(int feldKey) {
|
public abstract boolean isValidMove(String zug);
|
||||||
return feldKey;
|
|
||||||
|
public void moveSpielfigur(String zug) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int moveSpielfigur(int feldKey) {
|
|
||||||
return feldKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean findeSpielfigur(int feldKey) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean validMove(int startKey, int zielKey) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
package domain;
|
|
||||||
|
|
||||||
public class TestenFürFunktionen {
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,33 +1,95 @@
|
||||||
package facade;
|
package facade;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import domain.Bot;
|
||||||
import java.util.HashMap;
|
import domain.BotEasyFuchs;
|
||||||
|
import domain.BotEasyHenne;
|
||||||
|
import domain.BotHardFuchs;
|
||||||
|
import domain.BotHardHenne;
|
||||||
|
import domain.BotMediumFuchs;
|
||||||
|
import domain.BotMediumHenne;
|
||||||
|
import domain.Fuchs;
|
||||||
|
import domain.Hennen;
|
||||||
import domain.Spiel;
|
import domain.Spiel;
|
||||||
|
import domain.Spielfigur;
|
||||||
|
|
||||||
public class Spielsystem {
|
public class Spielsystem {
|
||||||
private String spielname;
|
private String spielname;
|
||||||
|
|
||||||
private Spiel spiel;
|
private Spiel spiel;
|
||||||
//wird benötigt wenn mehrere Spiele angelegt werden sollen
|
private Spielfigur henne;
|
||||||
//private ArrayList<Spiel> alleSpiele = new ArrayList<>();
|
private Spielfigur fuchs;
|
||||||
|
private Bot ki;
|
||||||
|
|
||||||
public Spielsystem(String spielname) throws Exception {
|
public Spielsystem(String spielname) throws Exception {
|
||||||
this.spielname = spielname;
|
this.spiel = new Spiel(spielname);
|
||||||
|
this.henne = new Hennen();
|
||||||
|
this.fuchs = new Fuchs();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSpielname() {
|
public String getSpielname() {
|
||||||
return spielname;
|
return spielname;
|
||||||
}
|
}
|
||||||
|
|
||||||
public HashMap<Integer, Character> spielAnlegen(String spielstandName) {
|
public Spielfigur getHenne() {
|
||||||
this.spiel = new Spiel(spielstandName);
|
return henne;
|
||||||
HashMap<Integer, Character> spielbrett = spiel.generiereSpielbrett();
|
}
|
||||||
|
|
||||||
//wird benötigt wenn mehrere Spiele angelegt werden sollen
|
public Spielfigur getFuchs() {
|
||||||
//alleSpiele.add(spiel);
|
return fuchs;
|
||||||
|
}
|
||||||
|
|
||||||
return spielbrett;
|
public Bot getBot() {
|
||||||
|
return ki;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void printBoard() {
|
||||||
|
spiel.printBoard();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isWon() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isRunning() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean whoWon() {
|
||||||
|
// true = Spieler1 | false = Spieler2
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// public boolean isValidMove(String zug) {
|
||||||
|
// return this.isValidMove(zug);
|
||||||
|
// }
|
||||||
|
|
||||||
|
public String yourMove() {
|
||||||
|
return "H";
|
||||||
|
}
|
||||||
|
|
||||||
|
public void myMove(String zug) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// public void moveSpielfigur(String zug) {
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
|
||||||
|
public void kiGenerieren(int spielerwahl, int kiLevel) {
|
||||||
|
if (kiLevel == 0 && spielerwahl == 1) {
|
||||||
|
ki = new BotEasyHenne();
|
||||||
|
} else if ( kiLevel == 1 && spielerwahl == 1) {
|
||||||
|
ki = new BotMediumHenne();
|
||||||
|
} else if (kiLevel == 2 && spielerwahl == 1) {
|
||||||
|
ki = new BotHardHenne();
|
||||||
|
} else if (kiLevel == 0 && spielerwahl == 2) {
|
||||||
|
ki = new BotEasyFuchs();
|
||||||
|
} else if ( kiLevel == 1 && spielerwahl == 2) {
|
||||||
|
ki = new BotMediumFuchs();
|
||||||
|
} else if (kiLevel == 2 && spielerwahl == 2) {
|
||||||
|
ki = new BotHardFuchs();
|
||||||
|
}else {
|
||||||
|
//Fehleingabe
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
228
src/ui/UI.java
228
src/ui/UI.java
|
@ -1,9 +1,10 @@
|
||||||
package ui;
|
package ui;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
|
||||||
import facade.Spielsystem;
|
import facade.Spielsystem;
|
||||||
|
|
||||||
|
|
||||||
public class UI {
|
public class UI {
|
||||||
private Spielsystem spielsystem;
|
private Spielsystem spielsystem;
|
||||||
Scanner sc = new Scanner(System.in);
|
Scanner sc = new Scanner(System.in);
|
||||||
|
@ -22,16 +23,14 @@ public class UI {
|
||||||
System.out.println("--------");
|
System.out.println("--------");
|
||||||
System.out.println("Hauptmenü:");
|
System.out.println("Hauptmenü:");
|
||||||
System.out.println("1 -> Neues Spiel starten");
|
System.out.println("1 -> Neues Spiel starten");
|
||||||
System.out.println("2 -> Alten Spielstand laden");
|
System.out.println("2 -> Regeln anzeigen");
|
||||||
System.out.println("3 -> Regeln anzeigen");
|
|
||||||
System.out.println("7 -> Highscore anzeigen");
|
|
||||||
System.out.println("8 -> Credits anzeigen");
|
System.out.println("8 -> Credits anzeigen");
|
||||||
|
|
||||||
System.out.println("9 -> Beenden");
|
System.out.println("9 -> Beenden");
|
||||||
System.out.println();
|
System.out.println();
|
||||||
System.out.print("> ");
|
System.out.print("> ");
|
||||||
int input = 0;
|
|
||||||
|
|
||||||
|
int input = 0;
|
||||||
try {
|
try {
|
||||||
input = Integer.parseInt(sc.nextLine());
|
input = Integer.parseInt(sc.nextLine());
|
||||||
System.out.println();
|
System.out.println();
|
||||||
|
@ -41,10 +40,10 @@ public class UI {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
switch(input) {
|
switch(input) {
|
||||||
case 1: spielStarten(); gameloop(); break;
|
case 1: gameloop(); break;
|
||||||
case 2: spielstandLaden(); break;
|
//case 2: spielstandLaden(); break;
|
||||||
case 3: regelnAnzeigen(); break;
|
case 2: regelnAnzeigen(); break;
|
||||||
case 7: highscoreAnzeigen(); break;
|
//case 7: highscoreAnzeigen(); break;
|
||||||
case 8: creditsAnzeigen(); break;
|
case 8: creditsAnzeigen(); break;
|
||||||
case 9: break mainloop;
|
case 9: break mainloop;
|
||||||
}
|
}
|
||||||
|
@ -55,15 +54,17 @@ public class UI {
|
||||||
System.out.println("Auf Wiedersehen!");
|
System.out.println("Auf Wiedersehen!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// hauptmenü
|
||||||
|
// case 1:
|
||||||
private void gameloop() {
|
private void gameloop() {
|
||||||
gameloop:
|
gameloop:
|
||||||
while(true) {
|
while(true) {
|
||||||
System.out.println();
|
System.out.println();
|
||||||
System.out.println("--------");
|
System.out.println("--------");
|
||||||
System.out.println("Spielmenü:");
|
System.out.println("Spielmenü:");
|
||||||
System.out.println("1 -> Einspieler auswählen");
|
System.out.println("1 -> Player vs. Player");
|
||||||
System.out.println("2 -> Mehrspieler auswählen");
|
System.out.println("2 -> Player vs. KI");
|
||||||
System.out.println("3 -> KI Schwierigkeit auswählen");
|
|
||||||
|
|
||||||
System.out.println("9 -> Zurück");
|
System.out.println("9 -> Zurück");
|
||||||
System.out.println();
|
System.out.println();
|
||||||
|
@ -79,9 +80,8 @@ public class UI {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
switch(input) {
|
switch(input) {
|
||||||
case 1: break;
|
case 1: pVP(); break;
|
||||||
case 2: break;
|
case 2: pVE(); break;
|
||||||
case 3: break;
|
|
||||||
case 9: break gameloop;
|
case 9: break gameloop;
|
||||||
}
|
}
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
|
@ -90,43 +90,181 @@ public class UI {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// hauptmenü
|
// case 2:
|
||||||
|
private void regelnAnzeigen() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// case 8:
|
||||||
|
private void creditsAnzeigen() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// gameloop
|
||||||
// case 1:
|
// case 1:
|
||||||
private void spielStarten() {
|
private void pVP() {
|
||||||
//Evtl. wichtig für später, um Spielstände anzulegen und zu persistieren
|
boolean werBeginnt = werBeginnt();
|
||||||
System.out.println("Bitte vergeben Sie Ihren Spielstand einen Namen: \n");
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// case 2:
|
||||||
|
private void pVE() {
|
||||||
|
System.out.println("Wollen Sie als Spieler 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("> ");
|
System.out.print("> ");
|
||||||
String spielstandName = sc.nextLine();
|
int spielerwahl = Integer.parseInt(sc.nextLine());
|
||||||
System.out.println();
|
System.out.println();
|
||||||
|
|
||||||
HashMap<Integer, Character> spielbrett = spielsystem.spielAnlegen(spielstandName);
|
boolean werBeginnt = werBeginnt();
|
||||||
|
|
||||||
//Spielbrett ausgeben
|
System.out.println("Auf welchen Schwierigkeitsgrad wollen Sie spielen?");
|
||||||
int zähler = 0;
|
System.out.println("0 -> easy");
|
||||||
for (int i = 0; i < spielbrett.size(); i++) {
|
System.out.println("1 -> medium");
|
||||||
if (zähler == 9) {
|
System.out.println("2 -> hard");
|
||||||
System.out.println(spielbrett.get(i));
|
System.out.println();
|
||||||
zähler = 0;
|
System.out.print("> ");
|
||||||
} else {
|
int kiLevel = Integer.parseInt(sc.nextLine());
|
||||||
System.out.print(spielbrett.get(i) + " ");
|
System.out.println();
|
||||||
zähler++;
|
|
||||||
|
start(werBeginnt, spielerwahl, kiLevel);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void start(boolean werBeginnt, int spielerwahl, int kiLevel) {
|
||||||
|
boolean zugFuchs = false;
|
||||||
|
boolean zugHenne = false;
|
||||||
|
boolean erfolgreicherZug;
|
||||||
|
String zug;
|
||||||
|
|
||||||
|
if (werBeginnt == true) {
|
||||||
|
zugHenne = true;
|
||||||
|
} else {
|
||||||
|
zugFuchs = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
spielsystem.kiGenerieren(spielerwahl, kiLevel);
|
||||||
|
|
||||||
|
System.out.println("Das Spiel wurde gestartet!");
|
||||||
|
if (kiLevel == 0) {
|
||||||
|
System.out.println("Sie haben den Schwierigkeitsgrad -easy- ausgewählt");
|
||||||
|
} else if (kiLevel == 1) {
|
||||||
|
System.out.println("Sie haben den Schwierigkeitsgrad -medium- ausgewählt");
|
||||||
|
} else if (kiLevel == 2) {
|
||||||
|
System.out.println("Sie haben den Schwierigkeitsgrad -hard- ausgewählt");
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println();
|
||||||
|
System.out.println("Das Startspielbrett sieht wie folgt aus:");
|
||||||
|
System.out.println();
|
||||||
|
spielsystem.printBoard();
|
||||||
|
|
||||||
|
do {
|
||||||
|
// Zug Henne KI
|
||||||
|
if (zugHenne == true && spielerwahl == 1) {
|
||||||
|
System.out.println("Die Hennen sind am Zug:");
|
||||||
|
System.out.println("Die KI macht Ihren Zug");
|
||||||
|
System.out.println();
|
||||||
|
zug = spielsystem.getBot().zugBestimmen();
|
||||||
|
//System.out.println(zug);
|
||||||
|
//Kontrolle des Zuges sollte im Bot gemacht werden
|
||||||
|
//erfolgreicherZug = spielsystem.getHenne().isValidMove(zug);
|
||||||
|
|
||||||
|
spielsystem.getHenne().moveSpielfigur(zug);
|
||||||
|
zugHenne = false;
|
||||||
|
zugFuchs = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Zug Henne Spieler
|
||||||
|
else if (zugHenne == true && spielerwahl == 2) {
|
||||||
|
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.getHenne().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.getHenne().moveSpielfigur(zug);
|
||||||
|
zugHenne = false;
|
||||||
|
zugFuchs = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Zug Fuchs Spieler
|
||||||
|
else if (zugFuchs == true && spielerwahl == 1) {
|
||||||
|
System.out.println("Die Füchse 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.getFuchs().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.getFuchs().moveSpielfigur(zug);
|
||||||
|
zugHenne = true;
|
||||||
|
zugFuchs = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Zug Fuchs KI
|
||||||
|
else if (zugFuchs == true && spielerwahl == 2) {
|
||||||
|
System.out.println("Die Füchse sind am Zug:");
|
||||||
|
System.out.println("Die KI macht Ihren Zug");
|
||||||
|
System.out.println();
|
||||||
|
zug = spielsystem.getBot().zugBestimmen();
|
||||||
|
//System.out.println(zug);
|
||||||
|
//Kontrolle des Zuges sollte im Bot gemacht werden
|
||||||
|
//erfolgreicherZug = spielsystem.getFuchs().isValidMove(zug);
|
||||||
|
|
||||||
|
spielsystem.getFuchs().moveSpielfigur(zug);
|
||||||
|
zugHenne = true;
|
||||||
|
zugFuchs = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//nach jedem Zug das Spielbrett ausgeben
|
||||||
|
spielsystem.printBoard();
|
||||||
|
|
||||||
|
} while (spielsystem.isWon() == false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private boolean werBeginnt() {
|
||||||
|
System.out.println("Sollen die Füchse oder Hennen beginnen?");
|
||||||
|
System.out.println("1 -> Füchse beginnen");
|
||||||
|
System.out.println("2 -> Hennen beginnen");
|
||||||
|
System.out.println();
|
||||||
|
System.out.print("> ");
|
||||||
|
int werBeginnt = Integer.parseInt(sc.nextLine());
|
||||||
|
System.out.println();
|
||||||
|
|
||||||
|
if (werBeginnt == 1) {
|
||||||
|
//Füchse starten
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
//Hennen starten
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void spielstandLaden() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void regelnAnzeigen() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void highscoreAnzeigen() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void creditsAnzeigen() {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue