diff --git a/Implementierungsphase/BPMN.md b/Implementierungsphase/BPMN.md new file mode 100644 index 0000000..6a957d7 --- /dev/null +++ b/Implementierungsphase/BPMN.md @@ -0,0 +1,68 @@ +# Informationen zu dieser Seite + +Auf dieser Seite finden Sie die BPMN Diagramme für das Projekt. + +--- + +### Allgemeines Diagramm + +
+Beschreibung + +Dieses Diagramm zeigt den allgemeinen Ablauf eines Spiels von der Lobby bis zum Gameplay: + +- Es integriert verschiedene Prozesse wie die Verbindung von Spielern, den Start des Spiels und das eigentliche Gameplay. +- Es beschreibt die Kommunikation zwischen den Akteuren (Host, Server, Client) sowie die Synchronisation von Aktionen und Nachrichten. + +
+ +![BPMN_v.0.5.0](../Implementierungsphase/BPMN/BPMN_v.0.5.0.png) + +--- + +### Lobby Diagramm + +
+Beschreibung + +Dieses Diagramm zeigt den Prozess für die Verbindung von Spielern in einer Lobby vor dem Start eines Spiels. Es wird zwischen Host, Server und Client unterschieden: + +- Host: Erstellt die Lobby und wartet auf Verbindungen. +- Client: Schließt sich der Lobby an, basierend auf einer Entscheidung (z. B. "Bin ich der Host?"). +- Server: Verarbeitet Verbindungsanfragen und synchronisiert die Teilnehmer. + +
+ +![BPMN_v.0.5.0](../Implementierungsphase/BPMN/BPMN-Lobby_v0.5.0.png) + +--- + +### Gameplay Diagramm + +
+Beschreibung + +Das Gameplay-Diagramm beschreibt den eigentlichen Ablauf des Spiels, wobei es Prozesse zwischen Host, Server und Client koordiniert: + +- Server: Zentrale Einheit, die Nachrichten wie Animationen oder Spielerwechsel steuert. +- Client: Nimmt Eingaben vor (z. B. Würfeln, Karten auswählen) und kommuniziert mit dem Server. + +
+ +![BPMN_v.0.5.0](../Implementierungsphase/BPMN/BPMN-gameplay_v.0.5.0.png) + +--- + +### DSP (Decision Support Process) Diagramm + +
+Beschreibung + +Dieses Diagramm stellt eine Entscheidungsfindung dar, die in das Gameplay eingebunden ist. Es könnte sich auf die Auswahl von Karten, Figuren oder anderen spielbezogenen Entscheidungen beziehen. + +- Server: Entscheidet, wer starten darf oder welche Aktionen ausgeführt werden können. +- Client: Trifft Entscheidungen (z. B. Power-Karten auswählen) und sendet die Ergebnisse zurück. + +
+ +![BPMN_v.0.5.0](../Implementierungsphase/BPMN/BPMN-DSP_v.0.5.0.png) \ No newline at end of file diff --git a/Implementierungsphase/BPMN/BPMN-DSP_v.0.5.0.png b/Implementierungsphase/BPMN/BPMN-DSP_v.0.5.0.png new file mode 100644 index 0000000..edc2f06 Binary files /dev/null and b/Implementierungsphase/BPMN/BPMN-DSP_v.0.5.0.png differ diff --git a/Implementierungsphase/BPMN/BPMN-Lobby_v0.5.0.png b/Implementierungsphase/BPMN/BPMN-Lobby_v0.5.0.png new file mode 100644 index 0000000..df0d09a Binary files /dev/null and b/Implementierungsphase/BPMN/BPMN-Lobby_v0.5.0.png differ diff --git a/Implementierungsphase/BPMN/BPMN-gameplay_v.0.5.0.png b/Implementierungsphase/BPMN/BPMN-gameplay_v.0.5.0.png new file mode 100644 index 0000000..7dd5c00 Binary files /dev/null and b/Implementierungsphase/BPMN/BPMN-gameplay_v.0.5.0.png differ diff --git a/Implementierungsphase/BPMN/BPMN_v.0.5.0.png b/Implementierungsphase/BPMN/BPMN_v.0.5.0.png new file mode 100644 index 0000000..62952ee Binary files /dev/null and b/Implementierungsphase/BPMN/BPMN_v.0.5.0.png differ diff --git a/Implementierungsphase/Commits.md b/Implementierungsphase/Commits.md index 93bf6a1..426261c 100644 --- a/Implementierungsphase/Commits.md +++ b/Implementierungsphase/Commits.md @@ -11,6 +11,8 @@ Auf dieser Seite finden Sie die Commits der einzelnen Wochen die in der Implemen +--- +
Woche 2 @@ -18,9 +20,11 @@ Auf dieser Seite finden Sie die Commits der einzelnen Wochen die in der Implemen
+--- +
Woche 3 -- **Commit-ID:** +- **Commit-ID:**
\ No newline at end of file diff --git a/Implementierungsphase/FlowChart/FlowChartDiagram_getHomeMoves_v.0.5.0.png b/Implementierungsphase/FlowChart/FlowChartDiagram_getHomeMoves_v.0.5.0.png new file mode 100644 index 0000000..76ffb23 Binary files /dev/null and b/Implementierungsphase/FlowChart/FlowChartDiagram_getHomeMoves_v.0.5.0.png differ diff --git a/Implementierungsphase/FlowChart/FlowChartDiagram_infieldMove_v0.5.0.png b/Implementierungsphase/FlowChart/FlowChartDiagram_infieldMove_v0.5.0.png new file mode 100644 index 0000000..d220d30 Binary files /dev/null and b/Implementierungsphase/FlowChart/FlowChartDiagram_infieldMove_v0.5.0.png differ diff --git a/Implementierungsphase/FlussDiagramme.md b/Implementierungsphase/FlussDiagramme.md new file mode 100644 index 0000000..00101d2 --- /dev/null +++ b/Implementierungsphase/FlussDiagramme.md @@ -0,0 +1,70 @@ +# Informationen zu dieser Seite + +Auf dieser Seite finden Sie die Flussdiagramme für das Projekt. + +--- + + + + +
+Beschreibung getHomeMoves_v0.5.0 + +getHomeMoves(Piece piece, int steps) + +- Dieses Diagramm zeigt die Logik einer Funktion, die berechnet, wie viele Schritte ein Spielstein im Spielfeld zurücklegen kann, bevor er in sein Zielfeld (z. B. "Home") gelangt. + + Hauptschritte: + + Start der Berechnung: + +- Die aktuelle Position (pieceIndex) des Spielsteins wird aus dem Spielfeld abgerufen. +- Die Farbe des Spielsteins wird ermittelt, um seinen Startpunkt (startIndex) im Spielfeld zu definieren. + + Bewegungsindex berechnen: + +- Der potenzielle neue Index (moveIndex) wird durch Addition der aktuellen Position (pieceIndex) und der Bewegungsanzahl (steps) berechnet. + + Prüfung auf Spielfeldlänge: + +- Wenn der Bewegungsindex die Spielfeldlänge überschreitet, wird der Index modulo der Spielfeldlänge berechnet (Rückkehr an den Startpunkt). + + Prüfung auf Zielfeld: + +- Das Diagramm überprüft, ob der neue Bewegungsindex über den Startpunkt hinausgeht, was darauf hindeutet, dass der Stein in das "Home"-Feld eintreten kann. +- Es gibt eine Rückgabe basierend darauf, wie viele Schritte übrig bleiben oder wie weit der Spielstein in das Home-Feld bewegt werden kann. + + Ergebnis: Die Funktion gibt entweder die verbleibenden Schritte bis zum "Home" oder 0 zurück, wenn der Zug nicht möglich ist. + +
+ +![getHomeMoves_v.0.5.0](../Implementierungsphase/FlowChart/FlowChartDiagram_getHomeMoves_v.0.5.0.png) + +--- + +
+Beschreibung infieldMove_v0.5.0 + +infieldMove(int moveNum, Piece piece) + +- Dieses Diagramm beschreibt die Logik, wie ein Spielstein innerhalb des Spielfelds bewegt wird, und prüft, ob das Ziel besetzt ist. + + Hauptschritte: + + Start der Bewegung: + +- Der Zielknoten (targetNode) wird basierend auf der aktuellen Position des Spielsteins und der Anzahl der Schritte (moveNum) berechnet. + + Prüfung, ob das Ziel besetzt ist: + +- Wenn das Zielknotenfeld unbesetzt ist, wird der Spielstein dorthin bewegt, und die Funktion gibt false zurück (keine Kollision). +- Wenn das Ziel besetzt ist, wird die Kollision verarbeitet: +- Die Funktion "wirft" das vorhandene Objekt (z. B. entfernt es oder schickt es zurück zur Basis). +- Der Spielstein wird auf das Feld gesetzt, und die Funktion gibt true zurück, um anzuzeigen, dass eine Kollision aufgetreten ist. + + Ergebnis: Die Funktion stellt sicher, dass Spielzüge gültig sind und Konflikte auf dem Spielfeld korrekt behandelt werden. + + +
+ +![infieldMove_v0.5.0](../Implementierungsphase/FlowChart/FlowChartDiagram_infieldMove_v0.5.0.png) diff --git a/Implementierungsphase/Klassendiagramme/Week_3/kl.diag_v0.5.0.png b/Implementierungsphase/Klassendiagramme/Week_3/kl.diag_v0.5.0.png new file mode 100644 index 0000000..48fdee3 Binary files /dev/null and b/Implementierungsphase/Klassendiagramme/Week_3/kl.diag_v0.5.0.png differ diff --git a/Implementierungsphase/Klassendiagramme/Week_3/notification_v.0.5.0.png b/Implementierungsphase/Klassendiagramme/Week_3/notification_v.0.5.0.png new file mode 100644 index 0000000..fe2bae2 Binary files /dev/null and b/Implementierungsphase/Klassendiagramme/Week_3/notification_v.0.5.0.png differ diff --git a/Implementierungsphase/Messages.md b/Implementierungsphase/Messages.md new file mode 100644 index 0000000..c82f3a5 --- /dev/null +++ b/Implementierungsphase/Messages.md @@ -0,0 +1,5 @@ +# Auf dieser Seite finden Sie die Client und Server Messages + +--- + +[Messages_v0.5.0](../Implementierungsphase/Messages/Messages_v0.5.0.pdf) \ No newline at end of file diff --git a/Implementierungsphase/Messages/Messages_v0.5.0.pdf b/Implementierungsphase/Messages/Messages_v0.5.0.pdf new file mode 100644 index 0000000..d4dae00 Binary files /dev/null and b/Implementierungsphase/Messages/Messages_v0.5.0.pdf differ diff --git a/Implementierungsphase/NotificationList.md b/Implementierungsphase/NotificationList.md index 3d8ec9f..cf85b43 100644 --- a/Implementierungsphase/NotificationList.md +++ b/Implementierungsphase/NotificationList.md @@ -4,4 +4,11 @@ Auf dieser Seite finden Sie die Notifications die im Rahmen der Implementierungs --- -[Notifications](../Implementierungsphase/NotificationList/Notifications.pdf) v.0.3.1 \ No newline at end of file +[Notifications](../Implementierungsphase/NotificationList/Notifications.pdf) v.0.3.1 + +--- + +[Notifications](../Implementierungsphase/NotificationList/Week_3/Notifications_v0.5.0.pdf) v.0.5.0 + +--- + diff --git a/Implementierungsphase/NotificationList/Week_3/Notifications_v0.5.0.pdf b/Implementierungsphase/NotificationList/Week_3/Notifications_v0.5.0.pdf new file mode 100644 index 0000000..baa9358 Binary files /dev/null and b/Implementierungsphase/NotificationList/Week_3/Notifications_v0.5.0.pdf differ diff --git a/Implementierungsphase/PackageDiagramm/packageDiagramm_v0.5.0.png b/Implementierungsphase/PackageDiagramm/packageDiagramm_v0.5.0.png new file mode 100644 index 0000000..a2bc8e7 Binary files /dev/null and b/Implementierungsphase/PackageDiagramm/packageDiagramm_v0.5.0.png differ diff --git a/Implementierungsphase/Packagediagramms.md b/Implementierungsphase/Packagediagramms.md new file mode 100644 index 0000000..10cc179 --- /dev/null +++ b/Implementierungsphase/Packagediagramms.md @@ -0,0 +1,50 @@ +# Informationen zu dieser Seite + +Auf dieser Seite finden Sie die Paketdiagramme für das Projekt. + +--- + + + +# Projektstruktur v0.5.0 + +
+Beschreibung + +## mdga +### client +- **acoustic** +- **animation** +- **dialog** +- **view** + - **board** +- **gui** +- **server** + +### model +#### message +- **client** +- **server** +- **game** + - **notification** + +## jme-common +- **dialog** +- **graphics** +- **view** + +### Verbindungen +- `client.dialog` <-> `client.view` +- `client.view` -> `client.board` +- `client` -> `model` +- `model.message.client` <-> `model.message.server` +- `model.message` -> `game` +- `game` -> `notification` +- `client` -> `jme-common` +- `model` -> `jme-common.common` + +
+ +![PaketDiagramm_v0.5.0](../Implementierungsphase/PackageDiagramm/packageDiagramm_v0.5.0.png) + + diff --git a/Implementierungsphase/UseCases.md b/Implementierungsphase/UseCases.md index 521f771..b300257 100644 --- a/Implementierungsphase/UseCases.md +++ b/Implementierungsphase/UseCases.md @@ -2,5 +2,9 @@ Auf dieser Seite findet man die Use-Cases, die im Rahmen der Implementierungsphase erstellt wurden. +--- + # Artefakte + + diff --git a/Protokolle/Gruppentreffen.md b/Protokolle/Gruppentreffen.md index b384f54..d059f0f 100644 --- a/Protokolle/Gruppentreffen.md +++ b/Protokolle/Gruppentreffen.md @@ -1023,5 +1023,115 @@ Was wurde besprochen: # Implementierungsphase II +
+ +24.11.2024 + +### Ort, Datum, Zeit + +Gebäude 2 Haus 200 Wohnebene, 24.11.2024, 22:00 - 22:35 Uhr + +### Teilnehmer + +- Bauer Lukas @j23b0233 +- Beck Cedric @j23b0826 +- Feyer Benjamin @j23f0712 +- Fleischer Hanno @j23f0779 +- Grigencha Daniel @j23g0274 + +Was haben wir gemacht: + +Model + +- State Automat Server Client + +- Model angepasst aufgrund der Kommunikation von Pieces + +View + +- Zweites GUI-Element eingefügt - Anzeige Menüführung + +Tests + +- Vorbereitungen Getter/Setter + + +### Wer Präsentiert: + +- Fleischer Hanno @j23f0779 + + +### Wer Protokolliert: + +- Bauer Lukas @j23b0233 + +
+ +
+29.11.2024 + +### Ort, Datum, Zeit + +Gebäude 2 Haus 200 Wohnebene, 24.10.2024, 10:00 - 10:30 Uhr + +### Teilnehmer + +- Bauer Lukas @j23b0233 +- Beck Cedric @j23b0826 +- Brennförderer Timo @j23b0724 +- Fleischer Hanno @j23f0779 +- Grigencha Daniel @j23g0274 +- Koppe Felix @fkoppe + +### Was wurde besprochen: +- Model -> aktueller Stand +- View -> aktueller Stand +- Server -> aktueller Stand +- Tests -> aktueller Stand +- Checkstyle!! +- Terminfindung Präsentation + +### Wer Präsentiert: + +- Fleischer Hanno @j23f0779 + + +### Wer Protokolliert: + +- Bauer Lukas @j23b0233 + +
+ + # Implementierungsphase III +
+08.12.2024 + +### Ort, Datum, Zeit + +Gebäude 2 Haus 200 Wohnebene, 24.10.2024, 10:00 - 10:30 Uhr + +### Teilnehmer + +- Bauer Lukas @j23b0233 +- Beck Cedric @j23b0826 +- Brennförderer Timo @j23b0724 +- Fleischer Hanno @j23f0779 +- Grigencha Daniel @j23g0274 +- Koppe Felix @fkoppe + +Was wurde besprochen: +- Aktueller Stand des Projekts +- Bugs +- Artefakte + +### Wer Präsentiert: + +- Grigencha Daniel @j23g0274 + +### Wer Protokolliert: + +- Bauer Lukas @j23b0233 + +
\ No newline at end of file diff --git a/home.md b/home.md index e742a7f..f8d85bc 100644 --- a/home.md +++ b/home.md @@ -62,13 +62,19 @@ # Implementierungsphase -- Diagramme - - [Klassendiagramme](./Implementierungsphase/Klassendiagramme) - - [Abweichungen von der Designphase](./Implementierungsphase/Abweichungen-von-der-Designphase) -- Artefakte +[Abweichungen von der Designphase](./Implementierungsphase/Abweichungen-von-der-Designphase) + +- Artefakte - [Use Cases](./Implementierungsphase/UseCases) - [Testhandbuch](./Implementierungsphase/Testhandbuch) - [NotificationList](./Implementierungsphase/NotificationList) + - [Messages](./Implementierungsphase/Messages) +- Diagramme + - [Klassendiagramme](./Implementierungsphase/Klassendiagramme) + - [BPMN](./Implementierungsphase/Abweichungen-von-der-Designphase) + - [Flussdiagramme](./Implementierungsphase/Abweichungen-von-der-Designphase) + - [Paketdiagramme](./Implementierungsphase/Abweichungen-von-der-Designphase) + - Commit Übersicht - [Commits](./Implementierungsphase/Commits)