From 7ee0f9c0979454f080ce561556be0a8b88d0d02b Mon Sep 17 00:00:00 2001 From: Joshua Date: Tue, 3 Dec 2024 16:42:37 +0100 Subject: [PATCH] Added AI difficulties, and updated methods to cycle between them correctly --- src/startLocalGame.java | 56 ++++++++++++++-------------- src/startLocalGameLoadingScreen.java | 2 +- 2 files changed, 28 insertions(+), 30 deletions(-) diff --git a/src/startLocalGame.java b/src/startLocalGame.java index f3374b5..5258499 100644 --- a/src/startLocalGame.java +++ b/src/startLocalGame.java @@ -10,7 +10,7 @@ public class startLocalGame extends JPanel { // Funktionshilfen int semesterCounter = 1; // Semester Counter Label String leftPlayerNickname = "Spieler 1"; - String rightPlayerNickname = "Spieler 2"; + String rightPlayerNickname = "Einfach"; // Grafiken ImageIcon backButtonIcon = new ImageIcon("graphics/backButton.png"); @@ -160,7 +160,7 @@ public class startLocalGame extends JPanel { } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter)); } else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { - GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter)); + GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerHard.class, GameController.semesterToBoardSize(semesterCounter)); } } else if (leftPlayerIcon.getIcon() == aiPlayerEasyIcon) { if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { @@ -168,7 +168,7 @@ public class startLocalGame extends JPanel { } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter)); } else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { - GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter)); + GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerHard.class, GameController.semesterToBoardSize(semesterCounter)); } } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { @@ -176,7 +176,7 @@ public class startLocalGame extends JPanel { } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter)); } else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { - GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter)); + GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerHard.class, GameController.semesterToBoardSize(semesterCounter)); } } else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { @@ -184,42 +184,34 @@ public class startLocalGame extends JPanel { } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter)); } else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { - GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter)); + GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerHard.class, GameController.semesterToBoardSize(semesterCounter)); } } } }); -// GameController.startLocalGame(SpecificAiPlayerEasy.class, rightPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter)); - // TODO Zwischenscreen einfügen ("Spiel wird erstellt") - /* - if (leftPlayerIcon.getIcon() == humanPlayerIcon) {// TODO Diverse KiIcons erstellen für diffs - if (rightPlayerIcon.getIcon() == aiPlayerIcon) { // Platzhalter da nur eine KI gerade exisitert - //... - GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter)); - } - } else if (leftPlayerIcon.getIcon() == aiPlayerIcon) { - //... - GameController.startLocalGame(SpecificAiPlayerEasy.class, rightPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter)); - } - */ - } private void toggleLeftPlayerIcon() { if (leftPlayerIcon.getIcon() == humanPlayerIcon) { leftPlayerIcon.setIcon(aiPlayerEasyIcon); - } else { + } else if (leftPlayerIcon.getIcon() == aiPlayerEasyIcon){ + leftPlayerIcon.setIcon(aiPlayerNormalIcon); + } else if (leftPlayerIcon.getIcon() == aiPlayerNormalIcon) { + leftPlayerIcon.setIcon(aiPlayerHardIcon); + } else if (leftPlayerIcon.getIcon() == aiPlayerHardIcon) { leftPlayerIcon.setIcon(humanPlayerIcon); } } private void toggleRightPlayerIcon() { - if (rightPlayerIcon.getIcon() == humanPlayerIcon) { + if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { + rightPlayerIcon.setIcon(aiPlayerNormalIcon); + } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon){ + rightPlayerIcon.setIcon(aiPlayerHardIcon); + } else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { rightPlayerIcon.setIcon(aiPlayerEasyIcon); - } else { - rightPlayerIcon.setIcon(humanPlayerIcon); } } @@ -228,15 +220,21 @@ public class startLocalGame extends JPanel { // Linker Spieler if (leftPlayerIcon.getIcon() == humanPlayerIcon) { leftPlayerTextField.setText("Spieler 1"); - } else { - leftPlayerTextField.setText("Leicht"); + } else if (leftPlayerIcon.getIcon() == aiPlayerEasyIcon){ + leftPlayerTextField.setText("Einfach"); + } else if (leftPlayerIcon.getIcon() == aiPlayerNormalIcon) { + leftPlayerTextField.setText("Mittel"); + } else if (leftPlayerIcon.getIcon() == aiPlayerHardIcon) { + leftPlayerTextField.setText("Schwer"); } // Rechter Spieler - if (rightPlayerIcon.getIcon() == humanPlayerIcon) { - rightPlayerTextField.setText("Spieler 2"); - } else { - rightPlayerTextField.setText("Leicht"); + if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon){ + rightPlayerTextField.setText("Einfach"); + } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { + rightPlayerTextField.setText("Mittel"); + } else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { + rightPlayerTextField.setText("Schwer"); } } } \ No newline at end of file diff --git a/src/startLocalGameLoadingScreen.java b/src/startLocalGameLoadingScreen.java index c4d4569..7499e99 100644 --- a/src/startLocalGameLoadingScreen.java +++ b/src/startLocalGameLoadingScreen.java @@ -1,6 +1,6 @@ import javax.swing.*; import java.awt.*; - +//Kann evtl. als genereller LoadingScreen verwendet werden und nicht "nur" für localGame public class startLocalGameLoadingScreen extends JPanel{ startLocalGameLoadingScreen(MainFrame frame, int semesterCounter) { // Layout setzen