// 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) { buildPanel(frame, semesterCounter,p1,p2); List shipsP1 =p1.getBoard().getShips(); List shipsP2 =p2.getBoard().getShips(); 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