//import javafx.scene.control.ToggleGroup; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseAdapter; import java.util.List; /** * Das GameBoard dient als Panel, in dem das tatsächliche Spiel stattfindet. * Der Benutzer kann hier seine Schiffe platzieren, das Spiel starten etc. */ public class GameBoard extends JPanel { // 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"); ImageIcon gameBoardX = new ImageIcon("graphics/gameboardx.png"); // Labels JLabel frameTitle = new JLabel("GameBoard"); JLabel kontextText = new JLabel("Beispielhafter Kontext-Text"); //kontextText.setFont(new Font("Roboto", Font.BOLD, 24)); //TODO setFont fixen JButton backButton = new JButton(backButtonIcon); // Eigene ModulButtons /** * Konstruktor von GameBoard. * @param frame Der Mainframe der Anwendung über den alle Panels angezeigt werden. * @param semesterCounter Ausgewähltes Semester * @param p1 Erstes Spielerobjekt * @param p2 Zweites Spielerobjekt */ GameBoard(MainFrame frame, int semesterCounter,Player p1, Player p2) { JToggleButton leftPlayerModul1 = new JToggleButton("Modul 1"); //TODO: Dynamische Namen durch abgleich mit Semester JToggleButton leftPlayerModul2 = new JToggleButton("Modul 2"); JToggleButton leftPlayerModul3 = new JToggleButton("Modul 3"); JToggleButton leftPlayerModul4 = new JToggleButton("Modul 4"); JToggleButton leftPlayerModul5 = new JToggleButton("Modul 5"); JToggleButton leftPlayerModul6 = new JToggleButton("Modul 6"); JToggleButton leftPlayerModul7 = new JToggleButton("Reset"); JToggleButton[] leftPlayerButtons=new JToggleButton[]{ leftPlayerModul1, leftPlayerModul2, leftPlayerModul3, leftPlayerModul4, leftPlayerModul5, leftPlayerModul6, leftPlayerModul7, }; // Gegnerische ModulButtons JToggleButton rightPlayerModul1 = new JToggleButton("Modul 1"); JToggleButton rightPlayerModul2 = new JToggleButton("Modul 2"); JToggleButton rightPlayerModul3 = new JToggleButton("Modul 3"); JToggleButton rightPlayerModul4 = new JToggleButton("Modul 4"); JToggleButton rightPlayerModul5 = new JToggleButton("Modul 5"); JToggleButton rightPlayerModul6 = new JToggleButton("Modul 6"); JToggleButton rightPlayerModul7 = new JToggleButton("Bereit"); JToggleButton[] rightlayerButtons=new JToggleButton[]{ rightPlayerModul1, rightPlayerModul2, rightPlayerModul3, rightPlayerModul4, rightPlayerModul5, rightPlayerModul6, rightPlayerModul7, }; buildPanel(frame, semesterCounter,p1,p2,leftPlayerButtons,rightlayerButtons); List shipsP1 =p1.getBoard().getShips(); updateButtonLabels(shipsP1,leftPlayerButtons); backButton.addActionListener(e -> frame.showPanel("MainMenu")); } /** * TODO Funktion beschreiben etc. * @param ships * @param buttons */ private void updateButtonLabels(List ships,JToggleButton[] buttons) { for(int i=0;i