ole #7

Merged
lgc merged 23 commits from ole into main 2024-11-26 14:01:01 +00:00
6 changed files with 61 additions and 176 deletions
Showing only changes of commit 8069315c15 - Show all commits

View File

@ -1,23 +0,0 @@
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class LocalGamePanel extends JPanel {
public LocalGamePanel(MainFrame frame) {
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
JLabel label = new JLabel("Lokales Spiel");
JButton backButton = new JButton("Zurück zum Hauptmenü");
backButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
frame.showPanel("MainMenu");
}
});
add(label);
add(Box.createVerticalStrut(20));
add(backButton);
}
}

View File

@ -27,7 +27,7 @@ public class MainMenuController implements ActionListener {
// view.toggleMute(); // view.toggleMute();
// }else if(e.getSource() == view.getLocalButton()) { // }else if(e.getSource() == view.getLocalButton()) {
model.setGameMode("LocalGame"); model.setGameMode("LocalGame");
startLocalGame localGame = new startLocalGame(); //startLocalGame localGame = new startLocalGame();
// view.addPanel(localGame.getLocalPanel(), "LocalMenu"); // view.addPanel(localGame.getLocalPanel(), "LocalMenu");
// view.showPanel("LocalMenu"); // view.showPanel("LocalMenu");
} }

View File

@ -1,32 +0,0 @@
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MainMenuPanel extends JPanel {
public MainMenuPanel(MainFrame frame) {
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
// Button für "Lokales Spiel Starten"
JButton localGameButton = new JButton("Lokales Spiel Starten");
localGameButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
frame.showPanel("LocalGame");
}
});
// Button für "Multiplayer Spiel Starten"
JButton multiplayerButton = new JButton("Multiplayer Spiel Starten");
multiplayerButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
frame.showPanel("MultiplayerGame");
}
});
add(localGameButton);
add(Box.createVerticalStrut(20)); // Abstand zwischen den Buttons
add(multiplayerButton);
}
}

View File

@ -1,23 +0,0 @@
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MultiplayerGamePanel extends JPanel {
public MultiplayerGamePanel(MainFrame frame) {
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
JLabel label = new JLabel("Multiplayer Spiel");
JButton backButton = new JButton("Zurück zum Hauptmenü");
backButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
frame.showPanel("MainMenu");
}
});
add(label);
add(Box.createVerticalStrut(20));
add(backButton);
}
}

View File

@ -1,9 +1,7 @@
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class startLocalGame { 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";
@ -36,64 +34,63 @@ public class startLocalGame {
JTextField rightPlayerTextField = new JTextField(20); JTextField rightPlayerTextField = new JTextField(20);
// Methode zur Erstellung des Panels // Methode zur Erstellung des Panels
public JPanel createLocalGamePanel(CardLayout cardLayout, JPanel mainPanel) { startLocalGame(MainFrame frame) {
JPanel localGamePanel = new JPanel(); setLayout(null); // Stelle das Layout des Panels ein
localGamePanel.setLayout(null);
// Setze Komponentenpositionen // Setze Komponentenpositionen
frameTitle.setBounds(20, 20, 200, 30); frameTitle.setBounds(20, 20, 200, 30);
localGamePanel.add(frameTitle); add(frameTitle);
semesterLabel.setBounds(700, 300, 200, 30); semesterLabel.setBounds(700, 300, 200, 30);
localGamePanel.add(semesterLabel); add(semesterLabel);
leftPlayerName.setBounds(50, 625, 200, 30); leftPlayerName.setBounds(50, 625, 200, 30);
localGamePanel.add(leftPlayerName); add(leftPlayerName);
rightPlayerName.setBounds(1200, 625, 200, 30); rightPlayerName.setBounds(1200, 625, 200, 30);
localGamePanel.add(rightPlayerName); add(rightPlayerName);
leftPlayerIcon.setBounds(75, 400, 200, 128); leftPlayerIcon.setBounds(75, 400, 200, 128);
localGamePanel.add(leftPlayerIcon); add(leftPlayerIcon);
rightPlayerIcon.setBounds(1225, 400, 200, 128); rightPlayerIcon.setBounds(1225, 400, 200, 128);
localGamePanel.add(rightPlayerIcon); add(rightPlayerIcon);
semesterCounterLabel.setBounds(725, 475, 50, 50); semesterCounterLabel.setBounds(725, 475, 50, 50);
semesterCounterLabel.setHorizontalAlignment(SwingConstants.CENTER); semesterCounterLabel.setHorizontalAlignment(SwingConstants.CENTER);
localGamePanel.add(semesterCounterLabel); add(semesterCounterLabel);
backButton.setBounds(1380, 20, 80, 80); backButton.setBounds(1380, 20, 80, 80);
localGamePanel.add(backButton); add(backButton);
leftPlayerLeftButton.setBounds(50, 450, 50, 50); leftPlayerLeftButton.setBounds(50, 450, 50, 50);
localGamePanel.add(leftPlayerLeftButton); add(leftPlayerLeftButton);
leftPlayerRightButton.setBounds(250, 450, 50, 50); leftPlayerRightButton.setBounds(250, 450, 50, 50);
localGamePanel.add(leftPlayerRightButton); add(leftPlayerRightButton);
semesterUpButton.setBounds(725, 400, 50, 50); semesterUpButton.setBounds(725, 400, 50, 50);
localGamePanel.add(semesterUpButton); add(semesterUpButton);
semesterDownButton.setBounds(725, 550, 50, 50); semesterDownButton.setBounds(725, 550, 50, 50);
localGamePanel.add(semesterDownButton); add(semesterDownButton);
rightPlayerLeftButton.setBounds(1200, 450, 50, 50); rightPlayerLeftButton.setBounds(1200, 450, 50, 50);
localGamePanel.add(rightPlayerLeftButton); add(rightPlayerLeftButton);
rightPlayerRightButton.setBounds(1400, 450, 50, 50); rightPlayerRightButton.setBounds(1400, 450, 50, 50);
localGamePanel.add(rightPlayerRightButton); add(rightPlayerRightButton);
startButton.setBounds(700, 750, 100, 50); startButton.setBounds(700, 750, 100, 50);
localGamePanel.add(startButton); add(startButton);
leftPlayerTextField.setBounds(50, 650, 250, 50); leftPlayerTextField.setBounds(50, 650, 250, 50);
leftPlayerTextField.setText(leftPlayerNickname); leftPlayerTextField.setText(leftPlayerNickname);
localGamePanel.add(leftPlayerTextField); add(leftPlayerTextField);
rightPlayerTextField.setBounds(1200, 650, 250, 50); rightPlayerTextField.setBounds(1200, 650, 250, 50);
rightPlayerTextField.setText(rightPlayerNickname); rightPlayerTextField.setText(rightPlayerNickname);
localGamePanel.add(rightPlayerTextField); add(rightPlayerTextField);
// ActionListener für Buttons // ActionListener für Buttons
semesterUpButton.addActionListener(e -> { semesterUpButton.addActionListener(e -> {
@ -116,11 +113,9 @@ public class startLocalGame {
rightPlayerLeftButton.addActionListener(e -> toggleRightPlayerIcon()); rightPlayerLeftButton.addActionListener(e -> toggleRightPlayerIcon());
rightPlayerRightButton.addActionListener(e -> toggleRightPlayerIcon()); rightPlayerRightButton.addActionListener(e -> toggleRightPlayerIcon());
backButton.addActionListener(e -> cardLayout.show(mainPanel, "MainMenu")); backButton.addActionListener(e -> frame.showPanel("MainMenu"));
startButton.addActionListener(e -> cardLayout.show(mainPanel, "multiplayerGame")); startButton.addActionListener(e -> frame.showPanel("MainMenu")); // TODO ECHTE FUNKTION EINFÜGEN
return localGamePanel;
} }
private void toggleLeftPlayerIcon() { private void toggleLeftPlayerIcon() {

View File

@ -1,17 +1,8 @@
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/* public class startMultiplayerGame extends JPanel {
TODO:
Back Button führt ins vorherige Fenster
Spiel erstellen/beitreten geht ins nächste Fenster
Gebrauchte Attribute werden übergeben (Semester Spielername etc.)
Klasse mit Controller aufteilen
*/
public class startMultiplayerGame {
// Funktionshilfen // Funktionshilfen
int semesterCounter = 1; // Semester Counter Label int semesterCounter = 1; // Semester Counter Label
String PlayerNickname = "Spieler 1"; String PlayerNickname = "Spieler 1";
@ -23,7 +14,7 @@ public class startMultiplayerGame {
// Labels // Labels
JLabel frameTitle = new JLabel("Multiplayer Spiel"); JLabel frameTitle = new JLabel("Multiplayer Spiel");
JLabel semesterlable = new JLabel("Semester"); JLabel semesterLabel = new JLabel("Semester");
JLabel PlayerName = new JLabel("Name"); JLabel PlayerName = new JLabel("Name");
JLabel PlayerIcon = new JLabel(humanPlayerIcon); JLabel PlayerIcon = new JLabel(humanPlayerIcon);
JLabel semesterCounterLabel = new JLabel(String.valueOf(semesterCounter)); JLabel semesterCounterLabel = new JLabel(String.valueOf(semesterCounter));
@ -40,106 +31,83 @@ public class startMultiplayerGame {
// Textfelder // Textfelder
JTextField PlayerTextField = new JTextField(20); JTextField PlayerTextField = new JTextField(20);
// Method to create the Multiplayer Panel // Konstruktor
public JPanel createMultiplayerPanel(CardLayout cardLayout, JPanel mainPanel) { startMultiplayerGame(MainFrame frame) {
// Create a new JPanel for the multiplayer game setLayout(null); // Setze das Layout für das Panel auf null
JPanel multiplayerPanel = new JPanel();
multiplayerPanel.setLayout(null);
// Erstelle Label // Setze Komponentenpositionen und füge sie dem Panel hinzu
frameTitle.setBounds(20, 20, 200, 30); frameTitle.setBounds(20, 20, 200, 30);
multiplayerPanel.add(frameTitle); add(frameTitle);
semesterlable.setBounds(700, 300, 200, 30); semesterLabel.setBounds(700, 300, 200, 30);
multiplayerPanel.add(semesterlable); add(semesterLabel);
PlayerName.setBounds(50, 625, 200, 30); PlayerName.setBounds(50, 625, 200, 30);
multiplayerPanel.add(PlayerName); add(PlayerName);
PlayerIcon.setBounds(75, 400, 200, 128); PlayerIcon.setBounds(75, 400, 200, 128);
multiplayerPanel.add(PlayerIcon); add(PlayerIcon);
semesterCounterLabel.setBounds(725, 475, 50, 50); // zwischen den Up/Down-Buttons semesterCounterLabel.setBounds(725, 475, 50, 50); // zwischen den Up/Down-Buttons
semesterCounterLabel.setHorizontalAlignment(SwingConstants.CENTER); semesterCounterLabel.setHorizontalAlignment(SwingConstants.CENTER);
multiplayerPanel.add(semesterCounterLabel); add(semesterCounterLabel);
// Erstellt Buttons // Füge Buttons hinzu und setze ihre Positionen
backButton.setBounds(1380, 20, 80, 80); backButton.setBounds(1380, 20, 80, 80);
multiplayerPanel.add(backButton); add(backButton);
PlayerLeftButton.setBounds(50, 450, 50, 50); PlayerLeftButton.setBounds(50, 450, 50, 50);
multiplayerPanel.add(PlayerLeftButton); add(PlayerLeftButton);
PlayerRightButton.setBounds(250, 450, 50, 50); PlayerRightButton.setBounds(250, 450, 50, 50);
multiplayerPanel.add(PlayerRightButton); add(PlayerRightButton);
semesterUpButton.setBounds(725, 400, 50, 50); semesterUpButton.setBounds(725, 400, 50, 50);
multiplayerPanel.add(semesterUpButton); add(semesterUpButton);
semesterDownButton.setBounds(725, 550, 50, 50); semesterDownButton.setBounds(725, 550, 50, 50);
multiplayerPanel.add(semesterDownButton); add(semesterDownButton);
joinGameButton.setBounds(1100, 350, 200, 50); joinGameButton.setBounds(1100, 350, 200, 50);
multiplayerPanel.add(joinGameButton); add(joinGameButton);
createGameButton.setBounds(1100, 550, 200, 50); createGameButton.setBounds(1100, 550, 200, 50);
multiplayerPanel.add(createGameButton); add(createGameButton);
// Erstellt Textfelder // Füge das Textfeld hinzu
PlayerTextField.setBounds(50, 650, 250, 50); PlayerTextField.setBounds(50, 650, 250, 50);
multiplayerPanel.add(PlayerTextField);
//ZUSATZ
PlayerTextField.setText(PlayerNickname); PlayerTextField.setText(PlayerNickname);
add(PlayerTextField);
// ActionListener für die Buttons // ActionListener für Buttons
// SEMESTERBUTTONS // SEMESTERBUTTONS
semesterUpButton.addActionListener(new ActionListener() { semesterUpButton.addActionListener(e -> {
@Override
public void actionPerformed(ActionEvent e) {
if (semesterCounter < 6) { if (semesterCounter < 6) {
semesterCounter++; semesterCounter++;
semesterCounterLabel.setText(String.valueOf(semesterCounter)); semesterCounterLabel.setText(String.valueOf(semesterCounter));
} }
}
}); });
semesterDownButton.addActionListener(new ActionListener() { semesterDownButton.addActionListener(e -> {
@Override if (semesterCounter > 1) {
public void actionPerformed(ActionEvent e) {
if (semesterCounter > 1) { // Verhindert, dass der Wert unter 1 fällt
semesterCounter--; semesterCounter--;
semesterCounterLabel.setText(String.valueOf(semesterCounter)); semesterCounterLabel.setText(String.valueOf(semesterCounter));
} }
}
}); });
// PLAYERTOGGLEBUTTONS // PLAYERTOGGLEBUTTONS
PlayerLeftButton.addActionListener(new ActionListener() { PlayerLeftButton.addActionListener(e -> {
@Override
public void actionPerformed(ActionEvent e) {
toggleLeftPlayerIcon(); toggleLeftPlayerIcon();
updateTextFields(); updateTextFields();
}
}); });
PlayerRightButton.addActionListener(new ActionListener() { PlayerRightButton.addActionListener(e -> {
@Override
public void actionPerformed(ActionEvent e) {
toggleLeftPlayerIcon(); toggleLeftPlayerIcon();
updateTextFields(); updateTextFields();
}
}); });
// ActionListener für den "Back" Button, um zum vorherigen Panel zurückzukehren // ActionListener für den "Back" Button, um zum vorherigen Panel zurückzukehren
backButton.addActionListener(new ActionListener() { backButton.addActionListener(e -> frame.showPanel("MainMenu"));
@Override
public void actionPerformed(ActionEvent e) {
cardLayout.show(mainPanel, "localGamePanel");
}
});
return multiplayerPanel;
} }
// TOGGLE METHODEN // TOGGLE METHODEN