diff --git a/src/BoardDisplay.java b/src/BoardDisplay.java index bdd8db9..ef2b5ed 100644 --- a/src/BoardDisplay.java +++ b/src/BoardDisplay.java @@ -7,6 +7,7 @@ import java.util.List; /** * Dient dem Aufbau der Matrix (Spielfeld) und füllt diese mit Funktion + * @author Lucas Bronson, Luca Conte, Joshua Kuklok */ public class BoardDisplay extends JPanel { private JButton[][] fields; @@ -21,6 +22,7 @@ public class BoardDisplay extends JPanel { /** * Fügt Buttons zu Liste hinzu und aktualisiert Feld durch Aufruf von paintFields * @param button + * @author Joshua Kuklok */ public void addShipButton(ShipButton button) { shipButtonList.add(button); @@ -30,6 +32,7 @@ public class BoardDisplay extends JPanel { /** * Gibt currentShip zurück * @return currentShip + * @author Lucas Bronson, Luca Conte, Joshua Kuklok */ public Ship getCurrentShip() { return currentShip; @@ -111,6 +114,7 @@ public class BoardDisplay extends JPanel { /** * Aktuelles Schiff auswählen * @param ship Schiff zum Auswählen + * @author Lucas Bronson, Joshua Kuklok */ public void selectCurrentShip(Ship ship) { this.currentShip = ship; @@ -120,6 +124,7 @@ public class BoardDisplay extends JPanel { /** * Zurücksetzen von aktuellem Schiff und allen Schiffen des Spielers. * Danach blau färben des Spielfeldes + * @author Lucas Bronson, Joshua Kuklok */ public void resetAllShips() { this.currentShip = null; @@ -131,6 +136,7 @@ public class BoardDisplay extends JPanel { /** * Wechselt die Platzierungsrichtung zwischen horizontal und vertikal. + * @author Lucas Bronson, Joshua Kuklok */ private void togglePlacementDirection() { horizontal = !horizontal; @@ -142,6 +148,7 @@ public class BoardDisplay extends JPanel { /** * Handhabt das Platzieren eines Schiffs auf dem Spielfeld. * @param o Die Koordinaten des Klicks. + * @author Lucas Bronson, Luca Conte */ private void handleFieldClick(Point o) { System.out.println("CLICK " + o); @@ -159,6 +166,7 @@ public class BoardDisplay extends JPanel { * Färbt eine Preview in das Spielfeld ein, ob Schiff setzen möglich ist * Schiffe die gesetzt wurden, werden grau gefärbt * Aufrufen von refreshButtonState um zu zeigen, ob Button drückbar ist + * @author Lucas Bronson, Luca Conte, Joshua Kuklok */ public void paintFields() { List test=new ArrayList<>(); @@ -236,6 +244,7 @@ public class BoardDisplay extends JPanel { /** * Ruft paintFields auf, um Felder zu aktualisieren + * @author Luca Conte */ public void refresh() { paintFields(); diff --git a/src/GameBoard.java b/src/GameBoard.java index aef7087..0ab9858 100644 --- a/src/GameBoard.java +++ b/src/GameBoard.java @@ -7,6 +7,7 @@ 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. + * @author Lucas Bronson, Luca Conte, Joshua Kuklok */ public class GameBoard extends JPanel { @@ -45,6 +46,7 @@ public class GameBoard extends JPanel { * @param semesterCounter Ausgewähltes Semester * @param p1 Erstes Spielerobjekt * @param p2 Zweites Spielerobjekt + * @author Lucas Bronson, Luca Conte, Joshua Kuklok */ GameBoard(MainFrame frame, int semesterCounter,Player p1, Player p2) { this.p1 = p1; @@ -90,6 +92,7 @@ public class GameBoard extends JPanel { * Baut das grundlegende Spielboard * @param frame Der Mainframe der Anwendung über den alle Panels angezeigt werden. * @param semesterCounter Ausgewähltes Semester + * @author Lucas Bronson, Luca Conte, Joshua Kuklok */ public void buildPanel(MainFrame frame, int semesterCounter) { // Hauptlayout - BorderLayout für die Anordnung der Komponenten @@ -198,6 +201,7 @@ public class GameBoard extends JPanel { /** * Aktualisiert Zustand(kontextText) je nach Zug + * @author Luca Conte */ public void refresh() { if (this.p1.myTurn) { diff --git a/src/HalloSchiffeVersenken.java b/src/HalloSchiffeVersenken.java index 8ab08d3..e1b0727 100644 --- a/src/HalloSchiffeVersenken.java +++ b/src/HalloSchiffeVersenken.java @@ -1,5 +1,6 @@ /** * Hauptklasse über die der MainFrame gestartet wird + * @author Lucas Bronson, Ole Wachtel, Joshua Kuklok */ public class HalloSchiffeVersenken { diff --git a/src/JoinGame.java b/src/JoinGame.java index 4fb9ad0..6dc5930 100644 --- a/src/JoinGame.java +++ b/src/JoinGame.java @@ -8,6 +8,7 @@ import java.net.InetSocketAddress; /** * Das JoinGame Panel dient zum setzten des Ports/IP-Adresse. * Anschließend kann das Verbinden Panel gezeigt werden. + * @author Lucas Bronson, Joshua Kuklok */ public class JoinGame extends JPanel { @@ -36,6 +37,7 @@ public class JoinGame extends JPanel { * @param g int-Anzeige, ob es sich um "spiel erstellen" oder "spiel beitreten" handelt. * @param playerType int-Anzeige, ob es sich um einen HumanPlayer,AIEasy... handelt. * @param playerName Name des Spielers + * @author Lucas Bronson, Joshua Kuklok */ public JoinGame(MainFrame frame,int g,int playerType,String playerName) { setLayout(null); @@ -48,6 +50,7 @@ public class JoinGame extends JPanel { * @param g int-Anzeige, ob es sich um "spiel erstellen" oder "spiel beitreten" handelt. * @param playerType int-Anzeige, ob es sich um einen HumanPlayer,AIEasy... handelt. * @param playerName Name des Spielers + * @author Lucas Bronson, Joshua Kuklok */ private void buildPanel(MainFrame frame,int g,int playerType,String playerName) { if(g==1){ diff --git a/src/MainFrame.java b/src/MainFrame.java index 654d9a1..d7f0dab 100644 --- a/src/MainFrame.java +++ b/src/MainFrame.java @@ -6,10 +6,12 @@ import java.awt.*; * win/lose screen (aufruffunktion für backend) * author annotation einfügen * Actionlistener kommentieren +* Alle Textfonts anpassen */ /** * Der MainFrame dient als Hub und Übergreifendes Fenster auf dem alle weiteren Panel angezeigt werden. * Dadurch werden keine weiteren Fenster geöffnet. + * @author Lucas Bronson, Luca Conte, Joshua Kuklok */ public class MainFrame extends JFrame { @@ -31,6 +33,7 @@ public class MainFrame extends JFrame { /** * Konstruktor von MainFrame. * Ermöglicht es Panel anzuzeigen. + * @author Lucas Bronson, Luca Conte, Joshua Kuklok */ public MainFrame() { @@ -71,6 +74,7 @@ public class MainFrame extends JFrame { /** * Methode, um die Ansicht zu wechseln * @param panelName Name des anzuzeigenden Panels + * @author Joshua Kuklok */ public void showPanel(String panelName) { cardLayout.show(mainPanel, panelName); @@ -82,6 +86,7 @@ public class MainFrame extends JFrame { * @param num Hilfsvariable um abzugleichen, ob "Spiel erstellen" oder "Spiel beitreten" ausgewählt wurde * @param playerType Spielertyp(HumanPlayer, AIEasy etc.) * @param playerName Name des Spielers + * @author Lucas Bronson, Joshua Kuklok */ public void showPanelSMG(String panelName, int num, int playerType,String playerName) { this.localMult = num; @@ -99,6 +104,7 @@ public class MainFrame extends JFrame { * @param semesterCounter Ausgewähltes Semester * @param p1 Erstes Spielerobjekt * @param p2 Zweites Spielerobjekt + * @author Lucas Bronson, Luca Conte, Joshua Kuklok */ public void showPanelSLG(String panelName,int semesterCounter, Player p1, Player p2) { this.semesterCounter = semesterCounter; @@ -114,6 +120,7 @@ public class MainFrame extends JFrame { * Spezifische ShowPanel der startLocalGame Klasse * @param panelName Name des anzuzeigenden Panels * @param semesterCounter Ausgewähltes Semester + * @author Joshua Kuklok */ public void showPanelSLGLS(String panelName,int semesterCounter) { this.semesterCounter = semesterCounter; @@ -151,6 +158,7 @@ public class MainFrame extends JFrame { /** * Aktualisiert das Spielfeld (kontextText) + * @author Luca Conte */ public void refreshGameBoard() { this.gameBoard.refresh(); diff --git a/src/ShipButton.java b/src/ShipButton.java index e8f75a4..dcf4983 100644 --- a/src/ShipButton.java +++ b/src/ShipButton.java @@ -10,6 +10,12 @@ public class ShipButton extends JButton { private Ship ship; private BoardDisplay boardDisplay; + /** + * TODO fertig beschreiben + * @param ship + * @param boardDisplay + * @author Lucas Bronson, Luca Conte, Joshua Kuklok + */ public ShipButton(Ship ship, BoardDisplay boardDisplay) { super(ship.getName()); this.ship = ship; @@ -23,6 +29,7 @@ public class ShipButton extends JButton { * Setzt Farbe der Modulbuttons. * Verschiedene Farben für: * Modul ausgewählt, platziert nicht platziert. + * @author Joshua Kuklok */ public void refreshButtonState() { if (ship.isPlaced()) { diff --git a/src/SoundHandler.java b/src/SoundHandler.java index 3fa8107..2600a31 100644 --- a/src/SoundHandler.java +++ b/src/SoundHandler.java @@ -10,6 +10,7 @@ import java.util.Map; /** * Der SoundHandler dient zum Anlegen und Abspielen von Sounds + * @author Lucas Bronson, Luca Conte, Ole Wachtel, Joshua Kuklok */ public class SoundHandler { @@ -29,6 +30,7 @@ public class SoundHandler { /** * Erstellt neuen Thread, um ausgewählten Sound abzuspielen * @param soundName Name der Audiodatei, welche abgespielt werden soll + * @author Ole Wachtel, Luca Conte */ public static void playSound(String soundName) { if (soundOn) { @@ -65,6 +67,7 @@ public class SoundHandler { * TODO funktion beschreiben (potentiell nicht benötigte Funktion?) * @param soundName * @param path + * @author Ole Wachtel */ static void add(String soundName, String path){ sounds.put(soundName, path); @@ -73,6 +76,7 @@ public class SoundHandler { /** * TODO funktion beschreiben (potentiell nicht benötigte Funktion?) * @param sound + * @author Ole Wachtel */ static void setSoundOn(boolean sound){ soundOn= sound; diff --git a/src/Verbinden.java b/src/Verbinden.java index a790e80..3e8cdbe 100644 --- a/src/Verbinden.java +++ b/src/Verbinden.java @@ -3,6 +3,7 @@ import java.awt.*; /** * Das Verbinden Panel dient als "Überblende", während im Backend das Spiel erstellt/ eine Verbindung hergestellt wird. + * @author Lucas Bronson */ public class Verbinden extends JPanel{ @@ -15,6 +16,7 @@ public class Verbinden extends JPanel{ /** * Konstruktor der Verbinden Klasse. * @param frame Der Mainframe der Anwendung über den alle Panels angezeigt werden. + * @author Lucas Bronson */ public Verbinden(MainFrame frame) { setLayout(null); @@ -24,6 +26,7 @@ public class Verbinden extends JPanel{ /** * Baut Panel auf. * @param frame Der Mainframe der Anwendung über den alle Panels angezeigt werden. + * @author Lucas Bronson */ private void buildPanel(MainFrame frame) { setLayout(new BorderLayout()); diff --git a/src/WinScreen.java b/src/WinScreen.java index 83e1444..55372f1 100644 --- a/src/WinScreen.java +++ b/src/WinScreen.java @@ -54,10 +54,13 @@ public class WinScreen extends JPanel { okButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { + SoundHandler.playSound("plop"); frame.showPanel("MainMenu"); } + }); add(winLabel); add(okButton); + SoundHandler.playSound("loose"); } } diff --git a/src/startLocalGame.java b/src/startLocalGame.java index 7a0158c..b9f41bf 100644 --- a/src/startLocalGame.java +++ b/src/startLocalGame.java @@ -5,6 +5,7 @@ import java.awt.event.ActionListener; /** * Das startLocalGame Panel dient dem Erstellen eines lokalen Spiels. * Hier kann der Benutzer Spieler inklusive Namen und das Semester, in dem sich der Benutzer befindet, einstellen. + * @author Lucas Bronson, Joshua Kuklok */ public class startLocalGame extends JPanel { // Player @@ -54,6 +55,7 @@ public class startLocalGame extends JPanel { * Fügt ebenfalls ActionListeners hinzu, damit Buttons etc. ihre gewünschte Funktion haben * * @param frame Der Mainframe der Anwendung über den alle Panels angezeigt werden. + * @author Lucas Bronson, Joshua Kuklok */ startLocalGame(MainFrame frame) { // Layout des Panels @@ -248,6 +250,7 @@ public class startLocalGame extends JPanel { /** * Setzt das jeweils "nächste" Icon, wenn der leftPlayerLeftButton gedrückt wird. + * @author Joshua Kuklok */ private void toggleLeftPlayerIconLeft() { if (leftPlayerIcon.getIcon() == humanPlayerIcon) { @@ -263,6 +266,7 @@ public class startLocalGame extends JPanel { /** * Setzt das jeweils "nächste" Icon, wenn der leftPlayerRightButton gedrückt wird. + * @author Joshua Kuklok */ private void toggleLeftPlayerIconRight() { if (leftPlayerIcon.getIcon() == humanPlayerIcon) { @@ -278,6 +282,7 @@ public class startLocalGame extends JPanel { /** * Setzt das jeweils "nächste" Icon, wenn der RightPlayerLeftButton gedrückt wird. + * @author Joshua Kuklok */ private void toggleRightPlayerIconLeft() { if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { @@ -291,6 +296,7 @@ public class startLocalGame extends JPanel { /** * Setzt das jeweils "nächste" Icon, wenn der RightPlayerRightButton gedrückt wird. + * @author Joshua Kuklok */ private void toggleRightPlayerIconRight() { if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) { @@ -304,6 +310,7 @@ public class startLocalGame extends JPanel { /** * Aktualisiert die Textfelder basierend auf den Icons + * @author Joshua Kuklok */ private void updateTextFields() { // Für Linken Spieler diff --git a/src/startLocalGameLoadingScreen.java b/src/startLocalGameLoadingScreen.java index a704f6b..28a4e07 100644 --- a/src/startLocalGameLoadingScreen.java +++ b/src/startLocalGameLoadingScreen.java @@ -4,12 +4,14 @@ import java.awt.*; /** * Das startLocalGameLoadingScreen Panel dient als "Überblende", während im Backend das Spiel erstellt wird. * Hier wird lediglich Text angezeigt + * @author Joshua Kuklok */ public class startLocalGameLoadingScreen extends JPanel{ /** * Konstruktor der startLocalGameLoadingScreen. * @param frame Der Mainframe der Anwendung über den alle Panels angezeigt werden. * @param semesterCounter Ein Zähler, der das gewählte Semester speichert (hier unbenutzt) + * @author Joshua Kuklok */ startLocalGameLoadingScreen(MainFrame frame, int semesterCounter) { diff --git a/src/startMultiplayerGame.java b/src/startMultiplayerGame.java index c9b748a..c0c77fd 100644 --- a/src/startMultiplayerGame.java +++ b/src/startMultiplayerGame.java @@ -5,6 +5,7 @@ import java.awt.event.ActionListener; /** * Das startMultiplayerGame Panel dient dem Erstellen eines Online Spiels. * Hier kann der Benutzer Spieler inklusive Namen und das Semester, in dem sich der Benutzer befindet, einstellen. + * @author Joshua Kuklok */ public class startMultiplayerGame extends JPanel { @@ -43,6 +44,7 @@ public class startMultiplayerGame extends JPanel { * Fügt Buttons, Textfelder und Label hinzu. * Fügt ebenfalls ActionListeners hinzu, damit Buttons etc. ihre gewünschte Funktion haben * @param frame Der Mainframe der Anwendung über den alle Panels angezeigt werden. + * @author Joshua Kuklok */ startMultiplayerGame(MainFrame frame) { @@ -181,6 +183,7 @@ public class startMultiplayerGame extends JPanel { /** * Setzt das jeweils "nächste" Icon, wenn der PlayerLeftButton gedrückt wird. + * @author Joshua Kuklok */ private void togglePlayerIconLeft() { if (PlayerIcon.getIcon() == humanPlayerIcon) { @@ -196,6 +199,7 @@ public class startMultiplayerGame extends JPanel { /** * Setzt das jeweils "nächste" Icon, wenn der PlayerRightButton gedrückt wird. + * @author Joshua Kuklok */ private void togglePlayerIconRight() { if (PlayerIcon.getIcon() == humanPlayerIcon) { @@ -211,6 +215,7 @@ public class startMultiplayerGame extends JPanel { /** * Aktualisiert die Textfelder basierend auf den Icons + * @author Joshua Kuklok */ private void updateTextFields() { if (PlayerIcon.getIcon() == humanPlayerIcon) {