From b4135aaf03a8cc8a9f094e0e25d2705f22883690 Mon Sep 17 00:00:00 2001
From: Lukas Bauer <157071544+Heady045@users.noreply.github.com>
Date: Thu, 14 Nov 2024 17:11:02 +0100
Subject: [PATCH] =?UTF-8?q?added=20Erl=C3=A4uterung=20Flussdiagramme?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Designphase/Flussdiagramme.md | 36 ++++++++++++++++++++++++++++-----
Designphase/Sequenzdiagramme.md | 3 +--
2 files changed, 32 insertions(+), 7 deletions(-)
diff --git a/Designphase/Flussdiagramme.md b/Designphase/Flussdiagramme.md
index 3e673b5..55abd0e 100644
--- a/Designphase/Flussdiagramme.md
+++ b/Designphase/Flussdiagramme.md
@@ -5,16 +5,42 @@ Auf dieser Seite finden Sie die Flussdiagramme für das Projekt.
---
-Es gibt zusätzlich auch noch eine [Erläuterung](/Designphase/ErläuterungZustandsdiagramme) für diese Diagramme.
+
+getHomeMoves
----
+Dieses Flussdiagramm zeigt die Logik zur Bestimmung der "Heimzüge" einer Spielfigur auf einem Spielfeld.
+Der Prozess beginnt mit dem Abrufen des aktuellen Indexes der Figur (figIndex) und der Farbe der Figur (col).
+Basierend auf der Farbe wird der Startindex (startIndex) aus den Spielerdaten abgerufen.
+Ein moveIndex wird berechnet, indem eine Zugnummer zu figIndex addiert wird.
+Falls der moveIndex die Länge des Spielfeldes überschreitet, wird er mittels Modulo an den Anfang zurückgesetzt.
+Verschiedene Bedingungen prüfen, ob der berechnete moveIndex innerhalb der gültigen Bereiche liegt, und geben entweder den angepassten moveIndex zurück oder 0, falls der Zug ungültig oder blockiert ist.
-- getHomeMoves
+

-- infieldMove
+
+
+infieldMove
+
+Dieses Flussdiagramm behandelt die Bewegung einer Figur innerhalb des Spielfeldes.
+Zunächst wird der Zielknoten (Position) für einen bestimmten Zug berechnet und geprüft, ob dieser besetzt ist.
+Falls der Zielknoten besetzt ist, wird eine Aktion (throwPiece) ausgelöst, um die besetzte Position zu handhaben, wodurch die Figur diesen Platz einnehmen kann.
+Falls der Zielknoten unbesetzt ist, wird die neue Figur dort platziert, und das Diagramm gibt entweder false zurück, falls keine weitere Aktion notwendig ist, oder true, falls eine Figur geworfen wurde.
+
+

-- move
+
+
+
+move
+
+Dieses Flussdiagramm stellt die Hauptbewegungsfunktion dar und enthält Prüfungen sowie Aufrufe zu anderen Bewegungsfunktionen.
+Der Prozess startet mit der move()-Funktion, die zunächst prüft, ob ein Zug möglich ist, indem sie tryMove() aufruft.
+Falls tryMove() fehlschlägt, wird ein Fehler zurückgegeben.
+Falls der Zug möglich ist, wird geprüft, ob "Heimzüge" vorhanden sind. Wenn ja, wird homeMove() aufgerufen.
+Wenn keine Heimzüge verfügbar sind, wird infieldMove() ausgeführt.
+
+

diff --git a/Designphase/Sequenzdiagramme.md b/Designphase/Sequenzdiagramme.md
index 8584a4e..1d29ae3 100644
--- a/Designphase/Sequenzdiagramme.md
+++ b/Designphase/Sequenzdiagramme.md
@@ -4,11 +4,10 @@ Auf dieser Seite finden Sie die Sequenzdiagramme für das Projekt.
---
-Es gibt zusätzlich auch noch eine [Erläuterung](/Designphase/ErläuterungZustandsdiagramme) für diese Diagramme.
+Es gibt zusätzlich auch noch eine [Erläuterung](//TODO) für diese Diagramme.
---
-
- TryMove v0.1

- TryInfieldMove v0.1