From 84865e5468fc8b310b3d70cebb58be42590ff37d Mon Sep 17 00:00:00 2001 From: Joshua Date: Thu, 12 Dec 2024 17:19:35 +0100 Subject: [PATCH] Added comments (Javadoc etc.) to most GUI classes und deleted old code and comments etc. (in general cleanup) --- src/BoardDisplay.java | 30 +++++++++ src/GameBoard.java | 26 ++++++++ src/JoinGame.java | 2 +- src/MainFrame.java | 113 +++++++++++++--------------------- src/Verbinden.java | 15 ++++- src/startLocalGame.java | 21 +++++-- src/startMultiplayerGame.java | 13 +++- 7 files changed, 140 insertions(+), 80 deletions(-) diff --git a/src/BoardDisplay.java b/src/BoardDisplay.java index c1db6b4..c946eaf 100644 --- a/src/BoardDisplay.java +++ b/src/BoardDisplay.java @@ -5,11 +5,20 @@ import java.awt.event.MouseEvent; import java.util.ArrayList; import java.util.List; +/** + * TODO Klassenbeschreibung + */ public class BoardDisplay extends JPanel { private JButton[][] fields; private int gridSize; private List ships; + /** + * Konstruktor der startLocalGame. + * TODO fertig schreiben + * @param gridSize + * @param player + */ public BoardDisplay(int gridSize, Player player) { super(new GridLayout(gridSize + 1, gridSize + 1)); // +1 wegen extra Zeile/Splate this.fields = new JButton[gridSize][gridSize]; @@ -67,6 +76,14 @@ public class BoardDisplay extends JPanel { // this.ships = new ArrayList(); } + /** + * TODO Funktion beschreiben etc. + * @param ship + * @param o + * @param horizontal + * @param player + * @return + */ private boolean setShip(Ship ship, Point o, boolean horizontal,Player player) { //boolean a = true; if (placeable(ship, ship.getPosition(), horizontal)) { @@ -83,6 +100,13 @@ public class BoardDisplay extends JPanel { } } + /** + * TODO Funktion beschreiben etc. + * @param ship + * @param o + * @param horizontal + * @return + */ private boolean placeable(Ship ship,Point o, boolean horizontal) { if (horizontal && (o.getX() + ship.getSize() > gridSize)) { return false; @@ -97,6 +121,12 @@ public class BoardDisplay extends JPanel { Ship current = (Ship) e.getSource(); } + /** + * TODO Funktion beschreiben etc. + * @param field + * @param o + * @param player + */ private void handleFieldClick(JButton field, Point o,Player player) { // Beispiel: Setze ein Schiff bei einem Klick if (setShip(new Ship(3, "TestShip"), o, true,player)) { diff --git a/src/GameBoard.java b/src/GameBoard.java index 4528693..8948f62 100644 --- a/src/GameBoard.java +++ b/src/GameBoard.java @@ -8,6 +8,10 @@ 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 @@ -25,6 +29,13 @@ public class GameBoard extends JPanel { 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"); @@ -38,6 +49,7 @@ public class GameBoard extends JPanel { leftPlayerModul1, leftPlayerModul2, leftPlayerModul3, leftPlayerModul4, leftPlayerModul5, leftPlayerModul6, leftPlayerModul7, }; + // Gegnerische ModulButtons JToggleButton rightPlayerModul1 = new JToggleButton("Modul 1"); JToggleButton rightPlayerModul2 = new JToggleButton("Modul 2"); @@ -58,6 +70,11 @@ public class GameBoard extends JPanel { 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 { - MainFrame frame = new MainFrame(); - frame.setVisible(true); - }); - } - */ } \ No newline at end of file diff --git a/src/Verbinden.java b/src/Verbinden.java index ca4feb7..aeb086d 100644 --- a/src/Verbinden.java +++ b/src/Verbinden.java @@ -1,6 +1,9 @@ import javax.swing.*; import java.awt.*; +/** + * Das Verbinden Panel dient als "Überblende", während im Backend das Spiel erstellt/ eine Verbindung hergestellt wird. + */ public class Verbinden extends JPanel{ ImageIcon backButtonIcon = new ImageIcon("graphics/backButton.png"); @@ -9,12 +12,20 @@ public class Verbinden extends JPanel{ Font robotoFont = new Font("Roboto", Font.BOLD, 45); - public Verbinden(MainFrame frame) { + /** + * Konstruktor der startLocalGame. + * @param frame Der Mainframe der Anwendung über den alle Panels angezeigt werden. + */ + public Verbinden(MainFrame frame) { setLayout(null); buildPanel(frame); } - private void buildPanel(MainFrame frame) { + /** + * Baut Panel auf. + * @param frame Der Mainframe der Anwendung über den alle Panels angezeigt werden. + */ + private void buildPanel(MainFrame frame) { setLayout(new BorderLayout()); verbindenLabel.setFont(robotoFont.deriveFont(50f)); add(verbindenLabel, BorderLayout.CENTER); diff --git a/src/startLocalGame.java b/src/startLocalGame.java index 1fb6792..c9e5d55 100644 --- a/src/startLocalGame.java +++ b/src/startLocalGame.java @@ -245,7 +245,10 @@ public class startLocalGame extends JPanel { } // Hilfsfunktionen - // Setzt das jeweils "nächste" Icon, wenn der leftPlayerLeftButton gedrückt wird. + + /** + * Setzt das jeweils "nächste" Icon, wenn der leftPlayerLeftButton gedrückt wird. + */ private void toggleLeftPlayerIconLeft() { if (leftPlayerIcon.getIcon() == humanPlayerIcon) { leftPlayerIcon.setIcon(aiPlayerHardIcon); @@ -258,7 +261,9 @@ public class startLocalGame extends JPanel { } } - // Setzt das jeweils "nächste" Icon, wenn der leftPlayerRightButton gedrückt wird. + /** + * Setzt das jeweils "nächste" Icon, wenn der leftPlayerRightButton gedrückt wird. + */ private void toggleLeftPlayerIconRight() { if (leftPlayerIcon.getIcon() == humanPlayerIcon) { leftPlayerIcon.setIcon(aiPlayerEasyIcon); @@ -271,7 +276,9 @@ public class startLocalGame extends JPanel { } } - // Setzt das jeweils "nächste" Icon, wenn der RightPlayerLeftButton gedrückt wird. + /** + * Setzt das jeweils "nächste" Icon, wenn der RightPlayerLeftButton gedrückt wird. + */ private void toggleRightPlayerIconLeft() { if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { rightPlayerIcon.setIcon(aiPlayerHardIcon); @@ -282,7 +289,9 @@ public class startLocalGame extends JPanel { } } - // Setzt das jeweils "nächste" Icon, wenn der RightPlayerRightButton gedrückt wird. + /** + * Setzt das jeweils "nächste" Icon, wenn der RightPlayerRightButton gedrückt wird. + */ private void toggleRightPlayerIconRight() { if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { rightPlayerIcon.setIcon(aiPlayerNormalIcon); @@ -293,7 +302,9 @@ public class startLocalGame extends JPanel { } } - // Aktualisiert die Textfelder basierend auf den Icons + /** + * Aktualisiert die Textfelder basierend auf den Icons + */ private void updateTextFields() { // Für Linken Spieler if (leftPlayerIcon.getIcon() == humanPlayerIcon) { diff --git a/src/startMultiplayerGame.java b/src/startMultiplayerGame.java index 5d5ef9b..c9b748a 100644 --- a/src/startMultiplayerGame.java +++ b/src/startMultiplayerGame.java @@ -178,7 +178,10 @@ public class startMultiplayerGame extends JPanel { } // Hilfsfunktionen - // Setzt das jeweils "nächste" Icon, wenn der PlayerLeftButton gedrückt wird. + + /** + * Setzt das jeweils "nächste" Icon, wenn der PlayerLeftButton gedrückt wird. + */ private void togglePlayerIconLeft() { if (PlayerIcon.getIcon() == humanPlayerIcon) { PlayerIcon.setIcon(aiPlayerHardIcon); @@ -191,7 +194,9 @@ public class startMultiplayerGame extends JPanel { } } - // Setzt das jeweils "nächste" Icon, wenn der PlayerRightButton gedrückt wird. + /** + * Setzt das jeweils "nächste" Icon, wenn der PlayerRightButton gedrückt wird. + */ private void togglePlayerIconRight() { if (PlayerIcon.getIcon() == humanPlayerIcon) { PlayerIcon.setIcon(aiPlayerEasyIcon); @@ -204,7 +209,9 @@ public class startMultiplayerGame extends JPanel { } } - // Aktualisiert die Textfelder basierend auf den Icons + /** + * Aktualisiert die Textfelder basierend auf den Icons + */ private void updateTextFields() { if (PlayerIcon.getIcon() == humanPlayerIcon) { PlayerTextField.setText(PlayerNickname);