Added AI difficulties, and updated methods to cycle between them correctly

This commit is contained in:
Joshua 2024-12-03 16:42:37 +01:00
parent 48bc601a0d
commit 7ee0f9c097
2 changed files with 28 additions and 30 deletions

View File

@ -10,7 +10,7 @@ public class startLocalGame extends JPanel {
// Funktionshilfen // Funktionshilfen
int semesterCounter = 1; // Semester Counter Label int semesterCounter = 1; // Semester Counter Label
String leftPlayerNickname = "Spieler 1"; String leftPlayerNickname = "Spieler 1";
String rightPlayerNickname = "Spieler 2"; String rightPlayerNickname = "Einfach";
// Grafiken // Grafiken
ImageIcon backButtonIcon = new ImageIcon("graphics/backButton.png"); ImageIcon backButtonIcon = new ImageIcon("graphics/backButton.png");
@ -160,7 +160,7 @@ public class startLocalGame extends JPanel {
} else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) {
GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter)); GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter));
} else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { } 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) { } else if (leftPlayerIcon.getIcon() == aiPlayerEasyIcon) {
if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) {
@ -168,7 +168,7 @@ public class startLocalGame extends JPanel {
} else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) {
GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter)); GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter));
} else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { } 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) { } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) {
if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) {
@ -176,7 +176,7 @@ public class startLocalGame extends JPanel {
} else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) {
GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter)); GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter));
} else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { } 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) { } else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) {
if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) {
@ -184,42 +184,34 @@ public class startLocalGame extends JPanel {
} else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) { } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) {
GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter)); GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter));
} else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) { } 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() { private void toggleLeftPlayerIcon() {
if (leftPlayerIcon.getIcon() == humanPlayerIcon) { if (leftPlayerIcon.getIcon() == humanPlayerIcon) {
leftPlayerIcon.setIcon(aiPlayerEasyIcon); 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); leftPlayerIcon.setIcon(humanPlayerIcon);
} }
} }
private void toggleRightPlayerIcon() { 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); rightPlayerIcon.setIcon(aiPlayerEasyIcon);
} else {
rightPlayerIcon.setIcon(humanPlayerIcon);
} }
} }
@ -228,15 +220,21 @@ public class startLocalGame extends JPanel {
// Linker Spieler // Linker Spieler
if (leftPlayerIcon.getIcon() == humanPlayerIcon) { if (leftPlayerIcon.getIcon() == humanPlayerIcon) {
leftPlayerTextField.setText("Spieler 1"); leftPlayerTextField.setText("Spieler 1");
} else { } else if (leftPlayerIcon.getIcon() == aiPlayerEasyIcon){
leftPlayerTextField.setText("Leicht"); leftPlayerTextField.setText("Einfach");
} else if (leftPlayerIcon.getIcon() == aiPlayerNormalIcon) {
leftPlayerTextField.setText("Mittel");
} else if (leftPlayerIcon.getIcon() == aiPlayerHardIcon) {
leftPlayerTextField.setText("Schwer");
} }
// Rechter Spieler // Rechter Spieler
if (rightPlayerIcon.getIcon() == humanPlayerIcon) { if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon){
rightPlayerTextField.setText("Spieler 2"); rightPlayerTextField.setText("Einfach");
} else { } else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) {
rightPlayerTextField.setText("Leicht"); rightPlayerTextField.setText("Mittel");
} else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) {
rightPlayerTextField.setText("Schwer");
} }
} }
} }

View File

@ -1,6 +1,6 @@
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;
//Kann evtl. als genereller LoadingScreen verwendet werden und nicht "nur" für localGame
public class startLocalGameLoadingScreen extends JPanel{ public class startLocalGameLoadingScreen extends JPanel{
startLocalGameLoadingScreen(MainFrame frame, int semesterCounter) { startLocalGameLoadingScreen(MainFrame frame, int semesterCounter) {
// Layout setzen // Layout setzen