Cleaned up code

This commit is contained in:
Joshua 2024-12-15 16:01:11 +01:00
parent ad61fcecb7
commit c0f22cec6e
1 changed files with 27 additions and 18 deletions

View File

@ -1,5 +1,3 @@
// import javafx.scene.control.ToggleGroup;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
@ -20,10 +18,6 @@ public class GameBoard extends JPanel {
private Player p1;
private Player p2;
// Funktionshilfen
//int semesterCounter = 1; //TODO: ersetzen durch param von vorpanel
// Grafiken
ImageIcon backButtonIcon = new ImageIcon("graphics/backButton.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 kT7 = "Du hast das Spiel gewonnen";
String kT8 = "Du hast das Spiel verloren";
String kT9 = "Bitte erst alle Schiffe setzten";
// Labels
JLabel frameTitle = new JLabel("GameBoard");
@ -61,18 +56,15 @@ public class GameBoard extends JPanel {
List<Ship> shipsP2 =p2.getBoard().getShips();
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) {
for(int i=0;i<buttons.length &&i<ships.size();i++ ) {
Ship ship = ships.get(i);
buttons[i].setText(ship.getName());
}
}
*/
// Timer für pulsierenden Effekt
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.
* @param frame
* @param semesterCounter
* @param frame Der Mainframe der Anwendung über den alle Panels angezeigt werden.
* @param semesterCounter Ausgewähltes Semester
*/
public void buildPanel(MainFrame frame, int semesterCounter) {
// 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
ButtonGroup leftButtonGroup= new ButtonGroup();
ButtonGroup rightButtonGroup= new ButtonGroup();
// Panel für die Buttons des linken Spielers (ganz links)
@ -170,10 +180,6 @@ public class GameBoard extends JPanel {
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)
JPanel centerPanel = new JPanel();
@ -210,6 +216,9 @@ public class GameBoard extends JPanel {
timer.start();
}
/**
*
*/
public void refresh() {
if (this.p1.myTurn) {
this.kontextText.setText(kT5);