diff --git a/src/.classpath b/src/.classpath new file mode 100644 index 0000000..3f3893a --- /dev/null +++ b/src/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/.project b/src/.project new file mode 100644 index 0000000..0f6f6a7 --- /dev/null +++ b/src/.project @@ -0,0 +1,17 @@ + + + src + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/src/domain/.gitignore b/src/domain/.gitignore new file mode 100644 index 0000000..5e2d064 --- /dev/null +++ b/src/domain/.gitignore @@ -0,0 +1,6 @@ +/Spiel.class +/TestenFürFunktionen.class +/Spielfigur.class +/Fuchs.class +/Hennen.class +/Bot.class diff --git a/src/domain/Bot.java b/src/domain/Bot.java new file mode 100644 index 0000000..333c89f --- /dev/null +++ b/src/domain/Bot.java @@ -0,0 +1,8 @@ +package domain; + +public abstract class Bot { + + public void zugBestimmen() { + + } +} diff --git a/src/domain/Fuchs.java b/src/domain/Fuchs.java new file mode 100644 index 0000000..e82351f --- /dev/null +++ b/src/domain/Fuchs.java @@ -0,0 +1,12 @@ +package domain; + +public class Fuchs extends Spielfigur { + + public int moveSpielfigur(int feldKey) { + return super.moveSpielfigur(feldKey); + } + + public boolean validMove(int startKey, int zielKey) { + return super.validMove(startKey, zielKey); + } +} diff --git a/src/domain/Hennen.java b/src/domain/Hennen.java new file mode 100644 index 0000000..a85d405 --- /dev/null +++ b/src/domain/Hennen.java @@ -0,0 +1,12 @@ +package domain; + +public class Hennen extends Spielfigur { + + public int moveSpielfigur(int feldKey) { + return super.moveSpielfigur(feldKey); + } + + public boolean validMove(int startKey, int zielKey) { + return super.validMove(startKey, zielKey); + } +} diff --git a/src/domain/Spiel.java b/src/domain/Spiel.java index 8756606..51cd3aa 100644 --- a/src/domain/Spiel.java +++ b/src/domain/Spiel.java @@ -17,26 +17,26 @@ public class Spiel { //Erstellung Anfangsspielbrett mithilfe von Unicode Zeichen public HashMap generiereSpielbrett() { // X=Fuchs, O=Henne, \u25A1=ein Kasten - spielbrett.put(0, ' '); - spielbrett.put(1, '1'); + spielbrett.put(0, ' '); + spielbrett.put(1, '1'); spielbrett.put(2, '2'); - spielbrett.put(3, '3'); - spielbrett.put(4, '4'); + spielbrett.put(3, '3'); + spielbrett.put(4, '4'); spielbrett.put(5, '5'); - spielbrett.put(6, '6'); - spielbrett.put(7, '7'); + spielbrett.put(6, '6'); + spielbrett.put(7, '7'); spielbrett.put(8, '8'); - spielbrett.put(9, '9'); - spielbrett.put(10, '1'); + spielbrett.put(9, '9'); + spielbrett.put(10, '1'); spielbrett.put(11, ' '); - spielbrett.put(12, ' '); - spielbrett.put(13, ' '); + spielbrett.put(12, ' '); + spielbrett.put(13, ' '); spielbrett.put(14, '\u25A1'); - spielbrett.put(15, '\u25A1'); - spielbrett.put(16, '\u25A1'); + spielbrett.put(15, '\u25A1'); + spielbrett.put(16, '\u25A1'); spielbrett.put(17, ' '); - spielbrett.put(18, ' '); - spielbrett.put(19, ' '); + spielbrett.put(18, ' '); + spielbrett.put(19, ' '); spielbrett.put(20, '2'); spielbrett.put(21, ' '); spielbrett.put(22, ' '); diff --git a/src/domain/Spielfigur.java b/src/domain/Spielfigur.java new file mode 100644 index 0000000..bd8f2e3 --- /dev/null +++ b/src/domain/Spielfigur.java @@ -0,0 +1,20 @@ +package domain; + +public abstract class Spielfigur { + + public int selectSpielfigur(int feldKey) { + return feldKey; + } + + public int moveSpielfigur(int feldKey) { + return feldKey; + } + + public boolean findeSpielfigur(int feldKey) { + return false; + } + + public boolean validMove(int startKey, int zielKey) { + return false; + } +} diff --git a/src/facade/.gitignore b/src/facade/.gitignore new file mode 100644 index 0000000..3cce112 --- /dev/null +++ b/src/facade/.gitignore @@ -0,0 +1 @@ +/Spielsystem.class diff --git a/src/infrastructure/.gitignore b/src/infrastructure/.gitignore new file mode 100644 index 0000000..bff86f3 --- /dev/null +++ b/src/infrastructure/.gitignore @@ -0,0 +1 @@ +/Persistenz.class diff --git a/src/main/.gitignore b/src/main/.gitignore new file mode 100644 index 0000000..a66c73a --- /dev/null +++ b/src/main/.gitignore @@ -0,0 +1 @@ +/Main.class diff --git a/src/main/Main.java b/src/main/Main.java index fbe3443..20a9633 100644 --- a/src/main/Main.java +++ b/src/main/Main.java @@ -5,6 +5,7 @@ import ui.UI; public class Main { + @SuppressWarnings("unused") public static void main(String[] args) throws Exception { Spielsystem spielsystem = new Spielsystem("Hennen und Füchse"); UI ui = new UI(spielsystem); diff --git a/src/ui/.gitignore b/src/ui/.gitignore new file mode 100644 index 0000000..fc4c827 --- /dev/null +++ b/src/ui/.gitignore @@ -0,0 +1 @@ +/UI.class diff --git a/src/ui/UI.java b/src/ui/UI.java index 4d6d408..1d214c0 100644 --- a/src/ui/UI.java +++ b/src/ui/UI.java @@ -20,47 +20,84 @@ public class UI { while (true) { System.out.println(); System.out.println("--------"); - System.out.println("Hauptmenü"); + System.out.println("Hauptmenü:"); System.out.println("1 -> Neues Spiel starten"); - //System.out.println("2 -> Alten Spielstand laden"); + System.out.println("2 -> Alten Spielstand laden"); System.out.println("3 -> Regeln anzeigen"); - //System.out.println("7 -> Highscore anzeigen"); + System.out.println("7 -> Highscore anzeigen"); System.out.println("8 -> Credits anzeigen"); System.out.println("9 -> Beenden"); System.out.println(); - System.out.print("> "); int input = 0; try { input = Integer.parseInt(sc.nextLine()); + System.out.println(); } catch (NumberFormatException nfe) { - System.out.println("Leider haben Sie keine Zahl eingegeben. Bitte geben Sie eine Zahl ein:"); + System.out.println("\nLeider haben Sie keine Zahl eingegeben. Bitte geben Sie eine Zahl ein:"); } - System.out.println(); try { switch(input) { - case 1: spielStarten(); break; - case 10: break mainloop; + case 1: spielStarten(); gameloop(); break; + case 2: spielstandLaden(); break; + case 3: regelnAnzeigen(); break; + case 7: highscoreAnzeigen(); break; + case 8: creditsAnzeigen(); break; + case 9: break mainloop; } - } catch (Exception e) { System.err.println(e.getLocalizedMessage()); } - System.out.println(); } - System.out.println("Auf Wiedersehen!"); - } + + private void gameloop() { + gameloop: + while(true) { + System.out.println(); + System.out.println("--------"); + System.out.println("Spielmenü:"); + System.out.println("1 -> Einspieler auswählen"); + System.out.println("2 -> Mehrspieler auswählen"); + System.out.println("3 -> KI Schwierigkeit auswählen"); + + System.out.println("9 -> Zurück"); + System.out.println(); + System.out.print("> "); + int input = 0; + + try { + input = Integer.parseInt(sc.nextLine()); + System.out.println(); + } catch(NumberFormatException nfe){ + System.out.println("\nLeider haben Sie keine Zahl eingegeben. Bitte geben Sie eine Zahl ein:"); + } + + try { + switch(input) { + case 1: break; + case 2: break; + case 3: break; + case 9: break gameloop; + } + } catch(Exception e) { + System.err.println(e.getLocalizedMessage()); + } + } + } + // hauptmenü // case 1: private void spielStarten() { //Evtl. wichtig für später, um Spielstände anzulegen und zu persistieren - System.out.println("Bitte vergeben Sie Ihren Spielstand einen Namen: "); + System.out.println("Bitte vergeben Sie Ihren Spielstand einen Namen: \n"); + System.out.print("> "); String spielstandName = sc.nextLine(); + System.out.println(); HashMap spielbrett = spielsystem.spielAnlegen(spielstandName); @@ -77,5 +114,19 @@ public class UI { } } - + public void spielstandLaden() { + + } + + public void regelnAnzeigen() { + + } + + public void highscoreAnzeigen() { + + } + + public void creditsAnzeigen() { + + } }