diff --git a/src/BoardDisplay.java b/src/BoardDisplay.java index 99f24c1..c9760ad 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]; @@ -17,8 +26,8 @@ public class BoardDisplay extends JPanel { // Erstellung von Spielfeld for (int i = 0; i <= gridSize; i++) { for (int j = 0; j <= gridSize; j++) { - //final int x = i; // Temporäre Variable - // final int y = j; // Temporäre Variable + final int x = i; // Temporäre Variable + final int y = j; // Temporäre Variable if (i == 0 && j == 0) { add(new JLabel(" ")); } else if (i == 0) { @@ -69,18 +78,23 @@ 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)) { - // ship.setPosition(new Point(o.getX(), o.getY()), player.getBoard().getShips(), gridSize); - ship.setPosition(o, player.getBoard().getShips(), gridSize); - - + ship.setPosition(new Point(o.getX(),o.getY()),player.getBoard().getShips(),gridSize); ship.setHorizontal(horizontal); ships.add(ship); List occupied = ship.getOccupiedPoints(); for(Point p: occupied) { - fields[(int) p.getX()][(int)p.getY()].setBackground(Color.LIGHT_GRAY); + fields[p.getX()][p.getY()].setBackground(Color.LIGHT_GRAY); } return true; }else{ @@ -98,6 +112,13 @@ public class BoardDisplay extends JPanel { return true; }*/ + /** + * 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; @@ -125,6 +146,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 53219dc..3ed0619 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);