Added more Javadoc (TODOs) comments.
This commit is contained in:
parent
10e5a8ef5e
commit
42fc341608
|
@ -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<Point> 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();
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/**
|
||||
* Hauptklasse über die der MainFrame gestartet wird
|
||||
* @author Lucas Bronson, Ole Wachtel, Joshua Kuklok
|
||||
*/
|
||||
public class HalloSchiffeVersenken {
|
||||
|
||||
|
|
|
@ -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){
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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()) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) {
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue