Added coinToss.java, first attempts integrating cardlayout in startLocalGame.java and startMultiplayerGame.java
This commit is contained in:
parent
a11885c76d
commit
f7326a57d9
|
@ -0,0 +1,124 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Palette2">
|
||||||
|
<group name="Swing">
|
||||||
|
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="Button" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="RadioButton" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="CheckBox" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="Label" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||||
|
<preferred-size width="200" height="200" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||||
|
<preferred-size width="200" height="200" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
|
||||||
|
<preferred-size width="-1" height="20" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
|
||||||
|
</item>
|
||||||
|
</group>
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,103 @@
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
|
||||||
|
public class coinToss {
|
||||||
|
// Frame
|
||||||
|
private JFrame frame = new JFrame("Zugreihenfolge");
|
||||||
|
private JPanel mainPanel = new JPanel(new CardLayout()); // Panel mit CardLayout für Szenenwechsel
|
||||||
|
private JLabel frameTitle = new JLabel("Zugreihenfolge", SwingConstants.CENTER);
|
||||||
|
private JLabel messageLabel = new JLabel("", SwingConstants.CENTER); // Label für die Nachricht
|
||||||
|
private int reihenfolge = 1; // Beispielhaft: 1 = Spieler 1 fängt an, 0 = Spieler 2 fängt an
|
||||||
|
private Timer timer;
|
||||||
|
|
||||||
|
coinToss() {
|
||||||
|
// Erstelle Frame
|
||||||
|
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
|
frame.setSize(1500, 1000);
|
||||||
|
frame.setLocationRelativeTo(null);
|
||||||
|
|
||||||
|
// Panel für die Startszene erstellen
|
||||||
|
JPanel startPanel = new JPanel();
|
||||||
|
startPanel.setLayout(new BorderLayout());
|
||||||
|
|
||||||
|
// Nachricht basierend auf 'reihenfolge' einstellen
|
||||||
|
String startMessage = (reihenfolge == 1)
|
||||||
|
? "Du fängst an, mach dich bereit..."
|
||||||
|
: "Dein Gegner fängt an, mach dich bereit...";
|
||||||
|
messageLabel.setText(startMessage);
|
||||||
|
messageLabel.setFont(new Font("Arial", Font.BOLD, 24));
|
||||||
|
startPanel.add(frameTitle, BorderLayout.NORTH);
|
||||||
|
startPanel.add(messageLabel, BorderLayout.CENTER);
|
||||||
|
|
||||||
|
// Panel zur Haupt-Panel hinzufügen
|
||||||
|
mainPanel.add(startPanel, "start");
|
||||||
|
|
||||||
|
// Beispielhaftes "Spielfeld" (nächste Szene)
|
||||||
|
JPanel gamePanel = new JPanel();
|
||||||
|
gamePanel.setLayout(new BorderLayout());
|
||||||
|
JLabel gameLabel = new JLabel("Das Spiel beginnt!", SwingConstants.CENTER);
|
||||||
|
gameLabel.setFont(new Font("Arial", Font.BOLD, 36));
|
||||||
|
gamePanel.add(gameLabel, BorderLayout.CENTER);
|
||||||
|
|
||||||
|
// GamePanel zu Haupt-Panel hinzufügen
|
||||||
|
mainPanel.add(gamePanel, "game");
|
||||||
|
|
||||||
|
// Frame-Layout einstellen
|
||||||
|
frame.add(mainPanel);
|
||||||
|
frame.setVisible(true);
|
||||||
|
|
||||||
|
// Timer starten
|
||||||
|
startTimer();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void startTimer() {
|
||||||
|
// Timer, der nach 3 Sekunden zum Spiel-Panel wechselt
|
||||||
|
timer = new Timer(3000, new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
// Wechsel zum Spiel-Panel
|
||||||
|
CardLayout cardLayout = (CardLayout) mainPanel.getLayout();
|
||||||
|
cardLayout.show(mainPanel, "game");
|
||||||
|
timer.stop(); // Timer stoppen
|
||||||
|
}
|
||||||
|
});
|
||||||
|
timer.setRepeats(false); // Timer soll nur einmal ablaufen
|
||||||
|
timer.start(); // Timer starten
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
|
||||||
|
|
||||||
|
TODO:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class coinToss {
|
||||||
|
// Funktionshilfen
|
||||||
|
|
||||||
|
|
||||||
|
// Frame
|
||||||
|
JFrame frame = new JFrame("Zugreihenfolge");
|
||||||
|
|
||||||
|
// Labels
|
||||||
|
JLabel frameTitle = new JLabel("Zugreihenfolge");
|
||||||
|
|
||||||
|
coinToss() {
|
||||||
|
// Erstelle Frame
|
||||||
|
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
|
frame.setSize(1500, 1000);
|
||||||
|
|
||||||
|
// Layout Manager (absolute ositionierung)
|
||||||
|
frame.setLayout(null);
|
||||||
|
}
|
||||||
|
}*/
|
|
@ -1,15 +1,8 @@
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
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 {
|
public class startLocalGame {
|
||||||
// Funktionshilfen
|
// Funktionshilfen
|
||||||
int semesterCounter = 1; // Semester Counter Label
|
int semesterCounter = 1; // Semester Counter Label
|
||||||
|
@ -23,6 +16,11 @@ public class startLocalGame {
|
||||||
|
|
||||||
// Frame
|
// Frame
|
||||||
JFrame frame = new JFrame("Lokales Spiel");
|
JFrame frame = new JFrame("Lokales Spiel");
|
||||||
|
JPanel mainPanel = new JPanel(new CardLayout());
|
||||||
|
|
||||||
|
// Panels
|
||||||
|
JPanel localGamePanel = new JPanel(); // Panel für das lokale Spiel
|
||||||
|
startMultiplayerGame multiplayerGame = new startMultiplayerGame(); // Instanziere Multiplayer-Klasse
|
||||||
|
|
||||||
// Labels
|
// Labels
|
||||||
JLabel frameTitle = new JLabel("Lokales Spiel");
|
JLabel frameTitle = new JLabel("Lokales Spiel");
|
||||||
|
@ -51,10 +49,15 @@ public class startLocalGame {
|
||||||
// Erstelle Frame
|
// Erstelle Frame
|
||||||
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
frame.setSize(1500, 1000);
|
frame.setSize(1500, 1000);
|
||||||
|
frame.setLayout(new BorderLayout()); // Haupt-Layout
|
||||||
|
frame.add(mainPanel, BorderLayout.CENTER);
|
||||||
|
|
||||||
// Layout Manager (absolute ositionierung)
|
// Layout Manager (absolute positionierung)
|
||||||
frame.setLayout(null);
|
frame.setLayout(null);
|
||||||
|
|
||||||
|
// Lokales Spiel Panel erstellen
|
||||||
|
localGamePanel.setLayout(null);
|
||||||
|
|
||||||
// Erstelle Label
|
// Erstelle Label
|
||||||
frameTitle.setBounds(20, 20, 200, 30);
|
frameTitle.setBounds(20, 20, 200, 30);
|
||||||
frame.add(frameTitle);
|
frame.add(frameTitle);
|
||||||
|
@ -110,17 +113,24 @@ public class startLocalGame {
|
||||||
rightPlayerTextField.setBounds(1200, 650, 250, 50);
|
rightPlayerTextField.setBounds(1200, 650, 250, 50);
|
||||||
frame.add(rightPlayerTextField);
|
frame.add(rightPlayerTextField);
|
||||||
|
|
||||||
// ActionListener für die Buttons
|
|
||||||
|
|
||||||
//ZUSATZ
|
//ZUSATZ
|
||||||
leftPlayerTextField.setText(leftPlayerNickname);
|
leftPlayerTextField.setText(leftPlayerNickname);
|
||||||
rightPlayerTextField.setText(rightPlayerNickname);
|
rightPlayerTextField.setText(rightPlayerNickname);
|
||||||
|
|
||||||
// STARTBUTTON
|
// Panels zum CardLayout hinzufügen
|
||||||
|
mainPanel.add(localGamePanel, "localGame");
|
||||||
|
|
||||||
|
// Multiplayer-Panel erstellen und hinzufügen
|
||||||
|
JPanel multiplayerGamePanel = multiplayerGame.createMultiplayerPanel((CardLayout) mainPanel.getLayout(), mainPanel);
|
||||||
|
mainPanel.add(multiplayerGamePanel, "multiplayerGame");
|
||||||
|
|
||||||
|
// ActionListener für den Start-Button
|
||||||
startButton.addActionListener(new ActionListener() {
|
startButton.addActionListener(new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
startMultiplayerGame huso = new startMultiplayerGame();
|
// Wechsel zum Multiplayer-Panel
|
||||||
|
CardLayout cardLayout = (CardLayout) mainPanel.getLayout();
|
||||||
|
cardLayout.show(mainPanel, "multiplayerGame");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -146,7 +156,6 @@ public class startLocalGame {
|
||||||
});
|
});
|
||||||
|
|
||||||
// PLAYERTOGGLEBUTTONS
|
// PLAYERTOGGLEBUTTONS
|
||||||
|
|
||||||
leftPlayerLeftButton.addActionListener(new ActionListener() {
|
leftPlayerLeftButton.addActionListener(new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
@ -183,8 +192,6 @@ public class startLocalGame {
|
||||||
}
|
}
|
||||||
|
|
||||||
// TOGGLE METHODEN
|
// TOGGLE METHODEN
|
||||||
// TODO Müssen evtl vergrößert werden je nach schwierigkeitsgraden
|
|
||||||
// dazu evt. übergabeparameter für links rechts gedrückt
|
|
||||||
private void toggleLeftPlayerIcon() {
|
private void toggleLeftPlayerIcon() {
|
||||||
if (leftPlayerIcon.getIcon() == humanPlayerIcon) {
|
if (leftPlayerIcon.getIcon() == humanPlayerIcon) {
|
||||||
leftPlayerIcon.setIcon(aiPlayerIcon);
|
leftPlayerIcon.setIcon(aiPlayerIcon);
|
||||||
|
@ -217,57 +224,4 @@ public class startLocalGame {
|
||||||
rightPlayerTextField.setText("Leicht");
|
rightPlayerTextField.setText("Leicht");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/* POTENTIELL VERALTET
|
|
||||||
leftPlayerLeftButton.addActionListener(new ActionListener() {
|
|
||||||
@Override
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
|
||||||
ImageIcon MuteIcon = new ImageIcon("Grafik/sound button muted.png");
|
|
||||||
if(leftPlayerIcon.getIcon()==humanPlayerIcon) {
|
|
||||||
leftPlayerIcon.setIcon(aiPlayerIcon);
|
|
||||||
}else{
|
|
||||||
leftPlayerIcon.setIcon(humanPlayerIcon);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
leftPlayerRightButton.addActionListener(new ActionListener() {
|
|
||||||
@Override
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
|
||||||
ImageIcon MuteIcon = new ImageIcon("Grafik/sound button muted.png");
|
|
||||||
if(leftPlayerIcon.getIcon()==humanPlayerIcon) {
|
|
||||||
leftPlayerIcon.setIcon(aiPlayerIcon);
|
|
||||||
}else{
|
|
||||||
leftPlayerIcon.setIcon(humanPlayerIcon);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
rightPlayerLeftButton.addActionListener(new ActionListener() {
|
|
||||||
@Override
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
|
||||||
ImageIcon MuteIcon = new ImageIcon("Grafik/sound button muted.png");
|
|
||||||
if(rightPlayerIcon.getIcon()==humanPlayerIcon) {
|
|
||||||
rightPlayerIcon.setIcon(aiPlayerIcon);
|
|
||||||
}else{
|
|
||||||
rightPlayerIcon.setIcon(humanPlayerIcon);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
rightPlayerRightButton.addActionListener(new ActionListener() {
|
|
||||||
@Override
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
|
||||||
ImageIcon MuteIcon = new ImageIcon("Grafik/sound button muted.png");
|
|
||||||
if(rightPlayerIcon.getIcon()==humanPlayerIcon) {
|
|
||||||
rightPlayerIcon.setIcon(aiPlayerIcon);
|
|
||||||
}else{
|
|
||||||
rightPlayerIcon.setIcon(humanPlayerIcon);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
frame.setVisible(true);
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
|
||||||
|
@ -20,9 +21,6 @@ public class startMultiplayerGame {
|
||||||
ImageIcon humanPlayerIcon = new ImageIcon("graphics/humanPlayer.png");
|
ImageIcon humanPlayerIcon = new ImageIcon("graphics/humanPlayer.png");
|
||||||
ImageIcon aiPlayerIcon = new ImageIcon("graphics/aiPlayer.png");
|
ImageIcon aiPlayerIcon = new ImageIcon("graphics/aiPlayer.png");
|
||||||
|
|
||||||
// Frame
|
|
||||||
JFrame frame = new JFrame("Multiplayer Spiel");
|
|
||||||
|
|
||||||
// Labels
|
// Labels
|
||||||
JLabel frameTitle = new JLabel("Multiplayer Spiel");
|
JLabel frameTitle = new JLabel("Multiplayer Spiel");
|
||||||
JLabel semesterlable = new JLabel("Semester");
|
JLabel semesterlable = new JLabel("Semester");
|
||||||
|
@ -42,56 +40,54 @@ public class startMultiplayerGame {
|
||||||
// Textfelder
|
// Textfelder
|
||||||
JTextField PlayerTextField = new JTextField(20);
|
JTextField PlayerTextField = new JTextField(20);
|
||||||
|
|
||||||
startMultiplayerGame() {
|
// Method to create the Multiplayer Panel
|
||||||
// Erstelle Frame
|
public JPanel createMultiplayerPanel(CardLayout cardLayout, JPanel mainPanel) {
|
||||||
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
// Create a new JPanel for the multiplayer game
|
||||||
frame.setSize(1500, 1000);
|
JPanel multiplayerPanel = new JPanel();
|
||||||
|
multiplayerPanel.setLayout(null);
|
||||||
// Layout Manager (absolute ositionierung)
|
|
||||||
frame.setLayout(null);
|
|
||||||
|
|
||||||
// Erstelle Label
|
// Erstelle Label
|
||||||
frameTitle.setBounds(20, 20, 200, 30);
|
frameTitle.setBounds(20, 20, 200, 30);
|
||||||
frame.add(frameTitle);
|
multiplayerPanel.add(frameTitle);
|
||||||
|
|
||||||
semesterlable.setBounds(700, 300, 200, 30);
|
semesterlable.setBounds(700, 300, 200, 30);
|
||||||
frame.add(semesterlable);
|
multiplayerPanel.add(semesterlable);
|
||||||
|
|
||||||
PlayerName.setBounds(50, 625, 200, 30);
|
PlayerName.setBounds(50, 625, 200, 30);
|
||||||
frame.add(PlayerName);
|
multiplayerPanel.add(PlayerName);
|
||||||
|
|
||||||
PlayerIcon.setBounds(75, 400, 200, 128);
|
PlayerIcon.setBounds(75, 400, 200, 128);
|
||||||
frame.add(PlayerIcon);
|
multiplayerPanel.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);
|
||||||
frame.add(semesterCounterLabel);
|
multiplayerPanel.add(semesterCounterLabel);
|
||||||
|
|
||||||
// Erstellt Buttons
|
// Erstellt Buttons
|
||||||
backButton.setBounds(1380, 20, 80, 80);
|
backButton.setBounds(1380, 20, 80, 80);
|
||||||
frame.add(backButton);
|
multiplayerPanel.add(backButton);
|
||||||
|
|
||||||
PlayerLeftButton.setBounds(50, 450, 50, 50);
|
PlayerLeftButton.setBounds(50, 450, 50, 50);
|
||||||
frame.add(PlayerLeftButton);
|
multiplayerPanel.add(PlayerLeftButton);
|
||||||
|
|
||||||
PlayerRightButton.setBounds(250, 450, 50, 50);
|
PlayerRightButton.setBounds(250, 450, 50, 50);
|
||||||
frame.add(PlayerRightButton);
|
multiplayerPanel.add(PlayerRightButton);
|
||||||
|
|
||||||
semesterUpButton.setBounds(725, 400, 50, 50);
|
semesterUpButton.setBounds(725, 400, 50, 50);
|
||||||
frame.add(semesterUpButton);
|
multiplayerPanel.add(semesterUpButton);
|
||||||
|
|
||||||
semesterDownButton.setBounds(725, 550, 50, 50);
|
semesterDownButton.setBounds(725, 550, 50, 50);
|
||||||
frame.add(semesterDownButton);
|
multiplayerPanel.add(semesterDownButton);
|
||||||
|
|
||||||
joinGameButton.setBounds(1100, 350, 200, 50);
|
joinGameButton.setBounds(1100, 350, 200, 50);
|
||||||
frame.add(joinGameButton);
|
multiplayerPanel.add(joinGameButton);
|
||||||
|
|
||||||
createGameButton.setBounds(1100, 550, 200, 50);
|
createGameButton.setBounds(1100, 550, 200, 50);
|
||||||
frame.add(createGameButton);
|
multiplayerPanel.add(createGameButton);
|
||||||
|
|
||||||
// Erstellt Textfelder
|
// Erstellt Textfelder
|
||||||
PlayerTextField.setBounds(50, 650, 250, 50);
|
PlayerTextField.setBounds(50, 650, 250, 50);
|
||||||
frame.add(PlayerTextField);
|
multiplayerPanel.add(PlayerTextField);
|
||||||
|
|
||||||
//ZUSATZ
|
//ZUSATZ
|
||||||
PlayerTextField.setText(PlayerNickname);
|
PlayerTextField.setText(PlayerNickname);
|
||||||
|
@ -119,7 +115,6 @@ public class startMultiplayerGame {
|
||||||
});
|
});
|
||||||
|
|
||||||
// PLAYERTOGGLEBUTTONS
|
// PLAYERTOGGLEBUTTONS
|
||||||
|
|
||||||
PlayerLeftButton.addActionListener(new ActionListener() {
|
PlayerLeftButton.addActionListener(new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
@ -136,12 +131,18 @@ public class startMultiplayerGame {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
frame.setVisible(true);
|
// ActionListener für den "Back" Button, um zum vorherigen Panel zurückzukehren
|
||||||
|
backButton.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
cardLayout.show(mainPanel, "localGamePanel");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return multiplayerPanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TOGGLE METHODEN
|
// TOGGLE METHODEN
|
||||||
// TODO Müssen evtl vergrößert werden je nach schwierigkeitsgraden
|
|
||||||
// dazu evt. übergabeparameter für links rechts gedrückt
|
|
||||||
private void toggleLeftPlayerIcon() {
|
private void toggleLeftPlayerIcon() {
|
||||||
if (PlayerIcon.getIcon() == humanPlayerIcon) {
|
if (PlayerIcon.getIcon() == humanPlayerIcon) {
|
||||||
PlayerIcon.setIcon(aiPlayerIcon);
|
PlayerIcon.setIcon(aiPlayerIcon);
|
||||||
|
@ -151,65 +152,10 @@ public class startMultiplayerGame {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateTextFields() {
|
private void updateTextFields() {
|
||||||
// Linker Spieler
|
|
||||||
if (PlayerIcon.getIcon() == humanPlayerIcon) {
|
if (PlayerIcon.getIcon() == humanPlayerIcon) {
|
||||||
PlayerTextField.setText(PlayerNickname);
|
PlayerTextField.setText(PlayerNickname);
|
||||||
} else {
|
} else {
|
||||||
PlayerTextField.setText("Leicht");
|
PlayerTextField.setText("Leicht");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* POTENTIELL VERALTET
|
|
||||||
leftPlayerLeftButton.addActionListener(new ActionListener() {
|
|
||||||
@Override
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
|
||||||
ImageIcon MuteIcon = new ImageIcon("Grafik/sound button muted.png");
|
|
||||||
if(leftPlayerIcon.getIcon()==humanPlayerIcon) {
|
|
||||||
leftPlayerIcon.setIcon(aiPlayerIcon);
|
|
||||||
}else{
|
|
||||||
leftPlayerIcon.setIcon(humanPlayerIcon);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
leftPlayerRightButton.addActionListener(new ActionListener() {
|
|
||||||
@Override
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
|
||||||
ImageIcon MuteIcon = new ImageIcon("Grafik/sound button muted.png");
|
|
||||||
if(leftPlayerIcon.getIcon()==humanPlayerIcon) {
|
|
||||||
leftPlayerIcon.setIcon(aiPlayerIcon);
|
|
||||||
}else{
|
|
||||||
leftPlayerIcon.setIcon(humanPlayerIcon);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
rightPlayerLeftButton.addActionListener(new ActionListener() {
|
|
||||||
@Override
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
|
||||||
ImageIcon MuteIcon = new ImageIcon("Grafik/sound button muted.png");
|
|
||||||
if(rightPlayerIcon.getIcon()==humanPlayerIcon) {
|
|
||||||
rightPlayerIcon.setIcon(aiPlayerIcon);
|
|
||||||
}else{
|
|
||||||
rightPlayerIcon.setIcon(humanPlayerIcon);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
rightPlayerRightButton.addActionListener(new ActionListener() {
|
|
||||||
@Override
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
|
||||||
ImageIcon MuteIcon = new ImageIcon("Grafik/sound button muted.png");
|
|
||||||
if(rightPlayerIcon.getIcon()==humanPlayerIcon) {
|
|
||||||
rightPlayerIcon.setIcon(aiPlayerIcon);
|
|
||||||
}else{
|
|
||||||
rightPlayerIcon.setIcon(humanPlayerIcon);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
frame.setVisible(true);
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue