lucasjoshua #12
|
@ -1,15 +1,54 @@
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
// Erstellt Spielfeld für Spieler1/Spieler2
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
|
||||||
public class BoardDisplay extends JPanel {
|
public class BoardDisplay extends JPanel {
|
||||||
public BoardDisplay(int gridSize, Icon buttonIcon) {
|
public BoardDisplay(int gridSize, Icon buttonIcon) {
|
||||||
super(new GridLayout(gridSize, gridSize));
|
super(new GridLayout(gridSize + 1, gridSize + 1)); // +1 wegen extra Zeile/Splate
|
||||||
|
|
||||||
// Buttons zum Panel hinzufügen
|
// Erstellung von Spielfeld
|
||||||
for (int i = 0; i < gridSize; i++) {
|
for (int i = 0; i <= gridSize; i++) {
|
||||||
for (int j = 0; j < gridSize; j++) {
|
for (int j = 0; j <= gridSize; j++) {
|
||||||
add(new JButton(buttonIcon));
|
if (i == 0 && j == 0) {
|
||||||
|
add(new JLabel(" "));
|
||||||
|
} else if (i == 0) {
|
||||||
|
JLabel colLabel = new JLabel(String.valueOf(j));
|
||||||
|
colLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
colLabel.setFont(new Font("Arial", Font.BOLD, 14));
|
||||||
|
add(colLabel);
|
||||||
|
} else if (j == 0) {
|
||||||
|
JLabel rowLabel = new JLabel(String.valueOf((char) ('A' + i - 1)));
|
||||||
|
rowLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
rowLabel.setFont(new Font("Arial", Font.BOLD, 14));
|
||||||
|
add(rowLabel);
|
||||||
|
} else {
|
||||||
|
// Spielfeld (interaktive Zellen)
|
||||||
|
JButton field = new JButton("");
|
||||||
|
field.setBackground(Color.LIGHT_GRAY);
|
||||||
|
field.setOpaque(true);
|
||||||
|
field.setBorderPainted(true);
|
||||||
|
|
||||||
|
field.addMouseListener(new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
if(SwingUtilities.isRightMouseButton(e)) {
|
||||||
|
handleFieldClick(field);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseExited(MouseEvent e) {
|
||||||
|
// field.setBackground(Color.LIGHT_GRAY);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
add(field);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void handleFieldClick(JButton field) {
|
||||||
|
field.setBackground(Color.RED);
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -1,3 +1,5 @@
|
||||||
|
import javafx.scene.control.ToggleGroup;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
|
@ -19,22 +21,22 @@ public class GameBoard extends JPanel {
|
||||||
|
|
||||||
JButton backButton = new JButton(backButtonIcon);
|
JButton backButton = new JButton(backButtonIcon);
|
||||||
// Eigene ModulButtons
|
// Eigene ModulButtons
|
||||||
JButton leftPlayerModul1 = new JButton("Modul 1"); //TODO: Dynamische Namen durch abgleich mit Semester
|
JToggleButton leftPlayerModul1 = new JToggleButton("Modul 1"); //TODO: Dynamische Namen durch abgleich mit Semester
|
||||||
JButton leftPlayerModul2 = new JButton("Modul 2");
|
JToggleButton leftPlayerModul2 = new JToggleButton("Modul 2");
|
||||||
JButton leftPlayerModul3 = new JButton("Modul 3");
|
JToggleButton leftPlayerModul3 = new JToggleButton("Modul 3");
|
||||||
JButton leftPlayerModul4 = new JButton("Modul 4");
|
JToggleButton leftPlayerModul4 = new JToggleButton("Modul 4");
|
||||||
JButton leftPlayerModul5 = new JButton("Modul 5");
|
JToggleButton leftPlayerModul5 = new JToggleButton("Modul 5");
|
||||||
JButton leftPlayerModul6 = new JButton("Modul 6");
|
JToggleButton leftPlayerModul6 = new JToggleButton("Modul 6");
|
||||||
JButton leftPlayerModul7 = new JButton("Reset");
|
JToggleButton leftPlayerModul7 = new JToggleButton("Reset");
|
||||||
|
|
||||||
// Gegnerische ModulButtons
|
// Gegnerische ModulButtons
|
||||||
JButton rightPlayerModul1 = new JButton("Modul 1");
|
JToggleButton rightPlayerModul1 = new JToggleButton("Modul 1");
|
||||||
JButton rightPlayerModul2 = new JButton("Modul 2");
|
JToggleButton rightPlayerModul2 = new JToggleButton("Modul 2");
|
||||||
JButton rightPlayerModul3 = new JButton("Modul 3");
|
JToggleButton rightPlayerModul3 = new JToggleButton("Modul 3");
|
||||||
JButton rightPlayerModul4 = new JButton("Modul 4");
|
JToggleButton rightPlayerModul4 = new JToggleButton("Modul 4");
|
||||||
JButton rightPlayerModul5 = new JButton("Modul 5");
|
JToggleButton rightPlayerModul5 = new JToggleButton("Modul 5");
|
||||||
JButton rightPlayerModul6 = new JButton("Modul 6");
|
JToggleButton rightPlayerModul6 = new JToggleButton("Modul 6");
|
||||||
JButton rightPlayerModul7 = new JButton("Bereit");
|
JToggleButton rightPlayerModul7 = new JToggleButton("Bereit");
|
||||||
|
|
||||||
public void buildPanel(MainFrame frame, int semesterCounter) {
|
public void buildPanel(MainFrame frame, int semesterCounter) {
|
||||||
// Hauptlayout - BorderLayout für die Anordnung der Komponenten
|
// Hauptlayout - BorderLayout für die Anordnung der Komponenten
|
||||||
|
@ -76,21 +78,24 @@ public class GameBoard extends JPanel {
|
||||||
JPanel ownBoardPanel = new BoardDisplay(gridSize, gameBoardEmtpy);
|
JPanel ownBoardPanel = new BoardDisplay(gridSize, gameBoardEmtpy);
|
||||||
JPanel opponentBoardPanel = new BoardDisplay(gridSize, gameBoardEmtpy);
|
JPanel opponentBoardPanel = new BoardDisplay(gridSize, gameBoardEmtpy);
|
||||||
|
|
||||||
/* Alter code ohne BoardDisplay
|
//Buttons in eine Gruppe packen damit diese beim drücken eines anderen Buttons wieder entwählt werden
|
||||||
// Buttons für das eigene Spielfeld hinzufügen
|
ButtonGroup leftButtonGroup= new ButtonGroup();
|
||||||
for (int i = 0; i < gridSize; i++) {
|
leftButtonGroup.add(rightPlayerModul1);
|
||||||
for (int j = 0; j < gridSize; j++) {
|
leftButtonGroup.add(rightPlayerModul2);
|
||||||
ownBoardPanel.add(new JButton(gameBoardEmtpy));
|
leftButtonGroup.add(rightPlayerModul3);
|
||||||
}
|
leftButtonGroup.add(rightPlayerModul4);
|
||||||
}
|
leftButtonGroup.add(rightPlayerModul5);
|
||||||
|
leftButtonGroup.add(rightPlayerModul6);
|
||||||
|
leftButtonGroup.add(rightPlayerModul7);
|
||||||
|
|
||||||
// Buttons für das gegnerische Spielfeld hinzufügen
|
ButtonGroup rightButtonGroup= new ButtonGroup();
|
||||||
for (int i = 0; i < gridSize; i++) {
|
rightButtonGroup.add(leftPlayerModul1);
|
||||||
for (int j = 0; j < gridSize; j++) {
|
rightButtonGroup.add(leftPlayerModul2);
|
||||||
opponentBoardPanel.add(new JButton(gameBoardEmtpy));
|
rightButtonGroup.add(leftPlayerModul3);
|
||||||
}
|
rightButtonGroup.add(leftPlayerModul4);
|
||||||
}
|
rightButtonGroup.add(leftPlayerModul5);
|
||||||
*/
|
rightButtonGroup.add(leftPlayerModul6);
|
||||||
|
rightButtonGroup.add(leftPlayerModul7);
|
||||||
|
|
||||||
// Panel für beide Spielfelder (nebeneinander in der Mitte)
|
// Panel für beide Spielfelder (nebeneinander in der Mitte)
|
||||||
JPanel centerPanel = new JPanel();
|
JPanel centerPanel = new JPanel();
|
||||||
|
|
|
@ -8,8 +8,8 @@ import java.awt.event.ActionListener;
|
||||||
|
|
||||||
public class startLocalGame extends JPanel {
|
public class startLocalGame extends JPanel {
|
||||||
// Player
|
// Player
|
||||||
//Player p1;
|
Player p1;
|
||||||
//Player p2;
|
Player p2;
|
||||||
|
|
||||||
// Funktionshilfen
|
// Funktionshilfen
|
||||||
int semesterCounter = 1; // Semester Counter Label
|
int semesterCounter = 1; // Semester Counter Label
|
||||||
|
@ -40,6 +40,7 @@ public class startLocalGame extends JPanel {
|
||||||
JButton rightPlayerLeftButton = new JButton("<-");
|
JButton rightPlayerLeftButton = new JButton("<-");
|
||||||
JButton rightPlayerRightButton = new JButton("->");
|
JButton rightPlayerRightButton = new JButton("->");
|
||||||
JButton startButton = new JButton("Start!");
|
JButton startButton = new JButton("Start!");
|
||||||
|
JButton testButton = new JButton("Test");
|
||||||
|
|
||||||
JTextField leftPlayerTextField = new JTextField(20);
|
JTextField leftPlayerTextField = new JTextField(20);
|
||||||
JTextField rightPlayerTextField = new JTextField(20);
|
JTextField rightPlayerTextField = new JTextField(20);
|
||||||
|
@ -71,6 +72,9 @@ public class startLocalGame extends JPanel {
|
||||||
semesterCounterLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
semesterCounterLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
add(semesterCounterLabel);
|
add(semesterCounterLabel);
|
||||||
|
|
||||||
|
testButton.setBounds(500,800,50,50);
|
||||||
|
add(testButton);
|
||||||
|
|
||||||
backButton.setBounds(1380, 20, 80, 80);
|
backButton.setBounds(1380, 20, 80, 80);
|
||||||
add(backButton);
|
add(backButton);
|
||||||
|
|
||||||
|
@ -150,9 +154,8 @@ public class startLocalGame extends JPanel {
|
||||||
updateTextFields();
|
updateTextFields();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
backButton.addActionListener(e -> frame.showPanel("MainMenu"));
|
backButton.addActionListener(e -> frame.showPanel("MainMenu"));
|
||||||
|
testButton.addActionListener(e -> frame.showPanelSLG("GameBoard",1,p1,p2));
|
||||||
//startButton.addActionListener(e -> frame.showPanelSLG("GameBoard", semesterCounter,p1, p2)); // TODO ECHTE FUNKTION EINFÜGEN
|
//startButton.addActionListener(e -> frame.showPanelSLG("GameBoard", semesterCounter,p1, p2)); // TODO ECHTE FUNKTION EINFÜGEN
|
||||||
startButton.addActionListener(new ActionListener() {
|
startButton.addActionListener(new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue