Continued work on startLocalGame and started work startMultiplayerGame

This commit is contained in:
Joshua 2024-11-15 18:18:21 +01:00
parent 016ef2a317
commit 15d5a67c38
2 changed files with 105 additions and 5 deletions

View File

@ -2,10 +2,11 @@ public class HalloSchiffeVersenken {
public static void main(String[] args) throws InterruptedException {
//LUCAS CODE
/*
MainMenuModel model = new MainMenuModel();
MainMenuView view = new MainMenuView();
MainMenuController controller = new MainMenuController(model, view);
*/
//System.out.println("HelloSchiffeVersenekn");
@ -21,6 +22,7 @@ public class HalloSchiffeVersenken {
*/
//JOSHUA CODE
startLocalGame huso = new startLocalGame();
//startLocalGame localTest = new startLocalGame();
//startMultiplayerGame multiplayerTest = new startMultiplayerGame();
}
}

View File

@ -2,16 +2,24 @@ import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/*
TODO:
Back Button führt ins vorherige Fenster
Start geht ins nächste Fenster
Gebrauchte Attribute werden übergeben (Semester Spielername etc.)
Klasse mit Controller aufteilen
*/
public class startLocalGame {
// Funktionshilfen
int semesterCounter = 1; // Semester Counter Label
String leftPlayerNickname = "Spieler 1";
String rightPlayerNickname = "Spieler 2";
// Grafiken
ImageIcon backButtonIcon = new ImageIcon("graphics/backButton.png");
ImageIcon humanPlayerIcon = new ImageIcon("graphics/humanPlayer.png");
ImageIcon aiPlayerIcon = new ImageIcon("graphics/aiPlayer.png");
//Lustiger Test
//System.out.println("!");
// Frame
JFrame frame = new JFrame("Lokales Spiel");
@ -38,6 +46,7 @@ public class startLocalGame {
// Textfelder
JTextField leftPlayerTextField = new JTextField(20);
JTextField rightPlayerTextField = new JTextField(20);
startLocalGame() {
// Erstelle Frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
@ -102,6 +111,20 @@ public class startLocalGame {
frame.add(rightPlayerTextField);
// ActionListener für die Buttons
//ZUSATZ
leftPlayerTextField.setText(leftPlayerNickname);
rightPlayerTextField.setText(rightPlayerNickname);
// STARTBUTTON
startButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
startMultiplayerGame huso = new startMultiplayerGame();
}
});
// SEMESTERBUTTONS
semesterUpButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
@ -122,6 +145,80 @@ public class startLocalGame {
}
});
// PLAYERTOGGLEBUTTONS
leftPlayerLeftButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
toggleLeftPlayerIcon();
updateTextFields();
}
});
leftPlayerRightButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
toggleLeftPlayerIcon();
updateTextFields();
}
});
rightPlayerLeftButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
toggleRightPlayerIcon();
updateTextFields();
}
});
rightPlayerRightButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
toggleRightPlayerIcon();
updateTextFields();
}
});
frame.setVisible(true);
}
// TOGGLE METHODEN
// TODO Müssen evtl vergrößert werden je nach schwierigkeitsgraden
// dazu evt. übergabeparameter für links rechts gedrückt
private void toggleLeftPlayerIcon() {
if (leftPlayerIcon.getIcon() == humanPlayerIcon) {
leftPlayerIcon.setIcon(aiPlayerIcon);
} else {
leftPlayerIcon.setIcon(humanPlayerIcon);
}
}
private void toggleRightPlayerIcon() {
if (rightPlayerIcon.getIcon() == humanPlayerIcon) {
rightPlayerIcon.setIcon(aiPlayerIcon);
} else {
rightPlayerIcon.setIcon(humanPlayerIcon);
}
}
// Methode zum Aktualisieren der Textfelder basierend auf den ausgewählten Icons
private void updateTextFields() {
// Linker Spieler
if (leftPlayerIcon.getIcon() == humanPlayerIcon) {
leftPlayerTextField.setText(leftPlayerNickname);
} else {
leftPlayerTextField.setText("Leicht");
}
// Rechter Spieler
if (rightPlayerIcon.getIcon() == humanPlayerIcon) {
rightPlayerTextField.setText(rightPlayerNickname);
} else {
rightPlayerTextField.setText("Leicht");
}
}
/* POTENTIELL VERALTET
leftPlayerLeftButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
@ -171,5 +268,6 @@ public class startLocalGame {
});
frame.setVisible(true);
*/
}
}