diff --git a/src/SpecificAiPlayerEasy.java b/src/SpecificAiPlayerEasy.java index 601e702..4825ec5 100644 --- a/src/SpecificAiPlayerEasy.java +++ b/src/SpecificAiPlayerEasy.java @@ -1,4 +1,9 @@ public class SpecificAiPlayerEasy extends AiPlayer{ + + public SpecificAiPlayerEasy() { + super(); + this.setName("AI Player Easy"); + } } diff --git a/src/SpecificAiPlayerHard.java b/src/SpecificAiPlayerHard.java index 6d6d04c..cc00b19 100644 --- a/src/SpecificAiPlayerHard.java +++ b/src/SpecificAiPlayerHard.java @@ -11,6 +11,8 @@ public class SpecificAiPlayerHard extends AiPlayer{ private int nextChessCol; public SpecificAiPlayerHard() { + super(); + this.setName("AI Player Hard"); /*this.gridSize = super.board.getSize(); this.shotsFired = new boolean[gridSize][gridSize];*/ this.gridSize = 0; diff --git a/src/SpecificAiPlayerMedium.java b/src/SpecificAiPlayerMedium.java index 1405d0f..d349282 100644 --- a/src/SpecificAiPlayerMedium.java +++ b/src/SpecificAiPlayerMedium.java @@ -6,6 +6,7 @@ public class SpecificAiPlayerMedium extends AiPlayer{ private List hitsQueue = new ArrayList<>(); public SpecificAiPlayerMedium() { + super(); this.setName("AI Player Medium"); } diff --git a/src/startLocalGame.java b/src/startLocalGame.java index e6bb5ad..01840ef 100644 --- a/src/startLocalGame.java +++ b/src/startLocalGame.java @@ -1,6 +1,7 @@ import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.util.HashMap; /** * Das startLocalGame Panel dient dem Erstellen eines lokalen Spiels. @@ -203,42 +204,59 @@ public class startLocalGame extends JPanel { // Um zum startLocalGameLoadingScreen zu wechseln und Daten an Backend weiterzureichen. startButton.addActionListener(new ActionListener() { + @SuppressWarnings("unchecked") @Override public void actionPerformed(ActionEvent e) { + HashMap> playerClassMap = new HashMap<>(); + playerClassMap.put(humanPlayerIcon, HumanPlayer.class); + playerClassMap.put(aiPlayerEasyIcon, SpecificAiPlayerEasy.class); + playerClassMap.put(aiPlayerNormalIcon, SpecificAiPlayerMedium.class); + playerClassMap.put(aiPlayerHardIcon, SpecificAiPlayerHard.class); + + frame.showPanelSLGLS("startLocalGameLoadingScreen", semesterCounter); //TODO - if (leftPlayerIcon.getIcon() == humanPlayerIcon) {// TODO Wird name wirklich weitergegeben? - if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { - GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter)); - } 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, SpecificAiPlayerHard.class, GameController.semesterToBoardSize(semesterCounter)); - } - } else if (leftPlayerIcon.getIcon() == aiPlayerEasyIcon) { - if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { - GameController.startLocalGame(SpecificAiPlayerEasy.class, leftPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter)); - } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { - GameController.startLocalGame(SpecificAiPlayerEasy.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter)); - } else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { - GameController.startLocalGame(SpecificAiPlayerEasy.class, leftPlayerNickname, SpecificAiPlayerHard.class, GameController.semesterToBoardSize(semesterCounter)); - } - } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { - if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { - GameController.startLocalGame(SpecificAiPlayerMedium.class, leftPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter)); - } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { - GameController.startLocalGame(SpecificAiPlayerMedium.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter)); - } else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { - GameController.startLocalGame(SpecificAiPlayerMedium.class, leftPlayerNickname, SpecificAiPlayerHard.class, GameController.semesterToBoardSize(semesterCounter)); - } - } else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { - if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { - GameController.startLocalGame(SpecificAiPlayerHard.class, leftPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter)); - } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { - GameController.startLocalGame(SpecificAiPlayerHard.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter)); - } else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { - GameController.startLocalGame(SpecificAiPlayerHard.class, leftPlayerNickname, SpecificAiPlayerHard.class, GameController.semesterToBoardSize(semesterCounter)); - } - } + + Class leftPlayerClass = playerClassMap.get(leftPlayerIcon.getIcon()); + Class rightPlayerClass = (Class) playerClassMap.get(rightPlayerIcon.getIcon()); + GameController.startLocalGame( + leftPlayerClass, leftPlayerNickname, + rightPlayerClass, + GameController.semesterToBoardSize(semesterCounter) + ); + + // if (leftPlayerIcon.getIcon() == humanPlayerIcon) {// TODO Wird name wirklich weitergegeben? + // if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { + // GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter)); + // } 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, SpecificAiPlayerHard.class, GameController.semesterToBoardSize(semesterCounter)); + // } + // } else if (leftPlayerIcon.getIcon() == aiPlayerEasyIcon) { + // if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { + // GameController.startLocalGame(SpecificAiPlayerEasy.class, leftPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter)); + // } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { + // GameController.startLocalGame(SpecificAiPlayerEasy.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter)); + // } else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { + // GameController.startLocalGame(SpecificAiPlayerEasy.class, leftPlayerNickname, SpecificAiPlayerHard.class, GameController.semesterToBoardSize(semesterCounter)); + // } + // } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { + // if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { + // GameController.startLocalGame(SpecificAiPlayerMedium.class, leftPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter)); + // } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { + // GameController.startLocalGame(SpecificAiPlayerMedium.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter)); + // } else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { + // GameController.startLocalGame(SpecificAiPlayerMedium.class, leftPlayerNickname, SpecificAiPlayerHard.class, GameController.semesterToBoardSize(semesterCounter)); + // } + // } else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { + // if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { + // GameController.startLocalGame(SpecificAiPlayerHard.class, leftPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter)); + // } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { + // GameController.startLocalGame(SpecificAiPlayerHard.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter)); + // } else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { + // GameController.startLocalGame(SpecificAiPlayerHard.class, leftPlayerNickname, SpecificAiPlayerHard.class, GameController.semesterToBoardSize(semesterCounter)); + // } + // } } });