lucasjoshua #16

Merged
lgc merged 8 commits from lucasjoshua into main 2024-12-15 15:02:32 +00:00
1 changed files with 27 additions and 18 deletions
Showing only changes of commit c0f22cec6e - Show all commits

View File

@ -1,5 +1,3 @@
// 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;
@ -20,10 +18,6 @@ public class GameBoard extends JPanel {
private Player p1; private Player p1;
private Player p2; private Player p2;
// Funktionshilfen
//int semesterCounter = 1; //TODO: ersetzen durch param von vorpanel
// Grafiken // Grafiken
ImageIcon backButtonIcon = new ImageIcon("graphics/backButton.png"); ImageIcon backButtonIcon = new ImageIcon("graphics/backButton.png");
ImageIcon gameBoardEmtpy = new ImageIcon("graphics/gameboardempty.png"); ImageIcon gameBoardEmtpy = new ImageIcon("graphics/gameboardempty.png");
@ -38,6 +32,7 @@ public class GameBoard extends JPanel {
String kT6 = "Dein Gegner ist am Zug"; String kT6 = "Dein Gegner ist am Zug";
String kT7 = "Du hast das Spiel gewonnen"; String kT7 = "Du hast das Spiel gewonnen";
String kT8 = "Du hast das Spiel verloren"; String kT8 = "Du hast das Spiel verloren";
String kT9 = "Bitte erst alle Schiffe setzten";
// Labels // Labels
JLabel frameTitle = new JLabel("GameBoard"); JLabel frameTitle = new JLabel("GameBoard");
@ -61,18 +56,15 @@ public class GameBoard extends JPanel {
List<Ship> shipsP2 =p2.getBoard().getShips(); List<Ship> shipsP2 =p2.getBoard().getShips();
backButton.addActionListener(e -> frame.showPanel("MainMenu")); backButton.addActionListener(e -> frame.showPanel("MainMenu"));
} }
/* TODO löschen falls nicht gebraucht
/**
* TODO Funktion beschreiben etc.
* @param ships
* @param buttons
*/
private void updateButtonLabels(List<Ship> ships,JToggleButton[] buttons) { private void updateButtonLabels(List<Ship> ships,JToggleButton[] buttons) {
for(int i=0;i<buttons.length &&i<ships.size();i++ ) { for(int i=0;i<buttons.length &&i<ships.size();i++ ) {
Ship ship = ships.get(i); Ship ship = ships.get(i);
buttons[i].setText(ship.getName()); buttons[i].setText(ship.getName());
} }
} }
*/
// Timer für pulsierenden Effekt // Timer für pulsierenden Effekt
Timer timer = new Timer(10, new ActionListener() { Timer timer = new Timer(10, new ActionListener() {
@ -99,10 +91,29 @@ public class GameBoard extends JPanel {
} }
}); });
/*
// Timer für pulsierenden Disco-Effekt
Timer timer = new Timer(50, new ActionListener() {
private float hue = 0; // Farbton-Wert für HSB-Farbmodell
@Override
public void actionPerformed(ActionEvent e) {
// Farbe basierend auf dem Farbton-Wert berechnen
Color pulsierendeFarbe = Color.getHSBColor(hue, 0.8f, 0.8f); // Sättigung und Helligkeit fix
kontextText.setForeground(pulsierendeFarbe);
// Farbton leicht verändern (Zyklus zwischen 0 und 1)
hue += 0.01f;
if (hue > 1) {
hue = 0;
}
}
});*/
/** /**
* TODO Funktion beschreiben etc. * TODO Funktion beschreiben etc.
* @param frame * @param frame Der Mainframe der Anwendung über den alle Panels angezeigt werden.
* @param semesterCounter * @param semesterCounter Ausgewähltes Semester
*/ */
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
@ -129,7 +140,6 @@ public class GameBoard extends JPanel {
//Buttons in eine Gruppe packen damit diese beim drücken eines anderen Buttons wieder entwählt werden //Buttons in eine Gruppe packen damit diese beim drücken eines anderen Buttons wieder entwählt werden
ButtonGroup leftButtonGroup= new ButtonGroup(); ButtonGroup leftButtonGroup= new ButtonGroup();
ButtonGroup rightButtonGroup= new ButtonGroup(); ButtonGroup rightButtonGroup= new ButtonGroup();
// Panel für die Buttons des linken Spielers (ganz links) // Panel für die Buttons des linken Spielers (ganz links)
@ -170,10 +180,6 @@ public class GameBoard extends JPanel {
p1.ready(); p1.ready();
} }
}); });
// Panel für die Buttons des rechten Spielers (ganz rechts)
//JPanel ownBoardPanel = new JPanel(new GridLayout(gridSize, gridSize));
//JPanel opponentBoardPanel = new JPanel(new GridLayout(gridSize, gridSize));
// 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();
@ -210,6 +216,9 @@ public class GameBoard extends JPanel {
timer.start(); timer.start();
} }
/**
*
*/
public void refresh() { public void refresh() {
if (this.p1.myTurn) { if (this.p1.myTurn) {
this.kontextText.setText(kT5); this.kontextText.setText(kT5);