Skip to content
Snippets Groups Projects
Commit f330b02f authored by Fabian's avatar Fabian
Browse files

DATENSICHT FERTIG + uml korrektur xd

parent 46696521
No related branches found
No related tags found
No related merge requests found
......@@ -1316,13 +1316,17 @@ Dieses Modul realisiert somit die Strategie 3.1 (Abspeicherung des Spielstands).
Alle Spiel-relevanten Attribute sind in unserem Datenmodell in \textit{Ship} enthalten. Ein Schiff besteht aus mehreren Räumen , welche zum Teil leer sein können, aber auch wichtige Systeme beinhalten können. Damit realisieren wir die Strategie \textit{12.1} sowie die Strategien \textit{4.1} und \textit{4.2}.
Alle Spieler-relevanten Attribute sind in unserem Datenmodell in \textit{Ship} enthalten. Ein Schiff besteht aus mehreren Räumen , welche zum Teil leer sein können, aber auch wichtige Systeme beinhalten können. Damit realisieren wir die Strategie \textit{12.2} sowie die Strategien \textit{4.1}.
Ein Raum kann wiederum unterschiedliche Systeme beherbergen, wie z.B. Schilde, Hüllen oder Antriebskomponenten, womit wir Strategie \textit{20.1-3} umsetzen können. Zusätzlich zu den oben genannten Systemen, gibt es noch eine Komponente \textit{WeaponSystem}, welche wiederum die \textit{abstract class Weapon} erweitert. Diese wiederum beinhaltet alle frei-schaltbaren Waffensysteme, womit wir die Strategien \textit{10.1-3} abdecken.
Ein Raum kann wiederum unterschiedliche Systeme beherbergen, wie z.B. Schilde, Hüllen oder Antriebskomponenten, womit wir Strategie \textit{20.2} umsetzen können. Zusätzlich zu den oben genannten Systemen, gibt es noch eine Komponente \textit{WeaponSystem}, welche wiederum die \textit{abstract class Weapon} erweitert. Diese wiederum beinhaltet alle frei-schaltbaren Waffensysteme, womit wir die Strategien \textit{10.1-2} abdecken. Jede Waffe hat eine ID, ein Waffenlevel, welches im Laufe des Spiels erhöht werden kann und Werte für Schaden, Cooldown, Energie, Raketen-Kosten, eine Trefferchance, die \textit{drop-chance} einer bestimmten Waffe nach besonderen Ereignissen, Schild-Penetration, die Chance einen Hüllenbruch zu verursachen, den Schaden an Crewmitgliedern und die Anzahl der Projektile pro Salve.
Des weiteren kann jeder \textit{Room}, bis zu 4 Crew Mitglieder gleichzeitig beherbergen. Womit wir die Strategie \textit{15.3} umsetzen. Zudem kann es vorkommen dass im Falle eines Angriffes/Zerstörung eines Raumes, Crewmitglieder mit einer gewissen Prozent-Chance schaden nehmen, oder sterben, womit wir die Strategien \textit{21.1 u. 21.2} erfüllen.
Des Weiteren kann jeder \textit{Room}, bis zu 4 Crewmitglieder gleichzeitig beherbergen. Womit wir die Strategie \textit{15.3} umsetzen. Zudem kann es vorkommen, dass im Falle eines Angriffes/Zerstörung eines Raumes Crewmitglieder mit einer gewissen Prozent-Chance Schaden nehmen, oder sterben, womit wir die Strategien \textit{21.1 u. 21.2} erfüllen.
\textcolor{red}{TEXT NICHT FERTIG}
Es gibt eine \textit{User class}, welche den Namen des Spielers, seine ID, sein Schiff, sowie seinen Login-Status beinhaltet. Dies ist zudem essentiell für die Multiplayer-Funktion, womit wir die Strategie \textit{5.1} umsetzen.
Bei jeder neuen Runde wird eine \textit{Overworld} generiert, welche die komplette Sternenkarte als Liste von Planeten beinhaltet(Map). Diese werden anhand der verknüpften Koordinaten in der View des Spielers gerendert. Ein solcher Planet besteht aus einem Namen, einer X und Y Position, sowie einem zugeordneten Ereignis aus der \textit{Enum PlanetEvent}. Ein besuchter Planet bekommt zudem den Status \textit{discovered}. Der Spieler kann zwischen diesen Planeten hin- und her reisen, das Schiff befindet sich dabei immer an genau einem Planeten. Damit erfüllen wir die Strategie \textit{9.2} (Reisen).
Auf bestimmten Planeten, besteht die Chance auf einen \textit{Händler} zu treffen, dieser wird durch die Klasse \textit{Trader} repräsentiert. Dieser bietet dem Spieler eine Auswahl von Waffen, Raketen, Crewmitgliedern, sowie Treibstoff zum Verkauf an.
\begin{figure}[H]
\begin{center}
......
<mxfile host="app.diagrams.net" modified="2020-05-30T11:08:21.670Z" agent="5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Safari/605.1.15" etag="-F5hJpHYIOpgcrcktHg8" version="13.1.8" type="device"><diagram id="eSud1R6gVXv-HQVYPhv1" name="Page-1">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</diagram></mxfile>
\ No newline at end of file
<mxfile host="app.diagrams.net" modified="2020-05-31T16:06:38.134Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36" etag="c2yKEFLgEA21D3yoYNTY" version="13.1.9" type="device"><diagram id="eSud1R6gVXv-HQVYPhv1" name="Page-1">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</diagram></mxfile>
\ No newline at end of file
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment