diff --git a/projektdokumentation/Inhalt.tex b/projektdokumentation/Inhalt.tex index b327d8e..11c0433 100644 --- a/projektdokumentation/Inhalt.tex +++ b/projektdokumentation/Inhalt.tex @@ -3,3 +3,4 @@ \input{Inhalt/Projektarchitektur} \input{Inhalt/CI} \input{Inhalt/Dice.tex} +\input{Inhalt/Coinflip.tex} diff --git a/projektdokumentation/Inhalt/Coinflip.tex b/projektdokumentation/Inhalt/Coinflip.tex new file mode 100644 index 0000000..18ea1c5 --- /dev/null +++ b/projektdokumentation/Inhalt/Coinflip.tex @@ -0,0 +1,39 @@ +\clearpage +\section{Coinflip} + +\subsection{Was ist Coinflip?} +Das Münzwurf-Spiel 'Coinflip' ist ein klassisches Glücksspiel, das in seiner digitalen Umsetzung den traditionellen Münzwurf simuliert. Das Spiel basiert auf dem einfachen Prinzip einer Münze mit zwei Seiten: Kopf und Zahl. Spieler setzen auf eine der beiden Seiten und haben eine 50\%-ige Gewinnchance. Die Einfachheit des Spiels macht es zu einem idealen Einstiegsspiel für neue Nutzer der Casino-Plattform. + +Im Gegensatz zu komplexeren Spielen wie Dice bietet Coinflip eine feste Gewinnwahrscheinlichkeit von 50\% und einen konstanten Multiplikator von 2x. Dies bedeutet, dass Spieler bei einem Gewinn ihren Einsatz verdoppeln, während sie bei einer Niederlage ihren gesamten Einsatz verlieren. + +\subsubsection{Zufallszahlengenerierung} +Die Implementierung verwendet die Standardklasse java.util.Random zur Generierung des Münzwurfs. +Die Zufallsgenerierung erzeugt einen booleschen Wert, der anschließend einer der beiden Münzseiten zugeordnet wird. +Diese binäre Entscheidung gewährleistet die faire 50:50-Verteilung, die für ein authentisches Münzwurf-Erlebnis erforderlich ist. + +\subsubsection{Spielablauf und Datenfluss} + +Der Spielablauf von Coinflip folgt einem strukturierten Datenfluss zwischen Frontend und Backend. Der Controller empfängt die Spielanfrage mit folgenden Parametern: + +\begin{itemize} + \item \textbf{Einsatz:} Der gesetzte Münzbetrag. + \item \textbf{Gewählte Seite:} Die vom Spieler gewählte Münzseite (Kopf oder Zahl). +\end{itemize} + +Nach dem Erhalt der Anfrage führt der Controller eine Guthabenprüfung durch. Bei ausreichendem Guthaben wird die Anfrage an die Service-Schicht weitergeleitet, andernfalls wird eine entsprechende Fehlermeldung zurückgegeben. + +Die Service-Klasse verarbeitet die Spiellogik in folgender Reihenfolge: +\begin{enumerate} + \item Abbuchung des Einsatzes vom Spielerkonto. + \item Generierung des zufälligen Münzwurfs (Kopf oder Zahl). + \item Vergleich zwischen gewählter Seite und Wurfergebnis. + \item Bei einem Gewinn: Gutschrift des doppelten Einsatzes auf das Spielerkonto. + \item Rückgabe des Spielergebnisses an das Frontend. +\end{enumerate} + +Das Spielergebnis wird strukturiert an das Frontend übermittelt und enthält: +\begin{itemize} + \item Gewinnstatus (gewonnen/verloren) + \item Auszahlungsbetrag (bei Gewinn: 2x Einsatz) + \item Geworfene Münzseite +\end{itemize} \ No newline at end of file diff --git a/projektdokumentation/Projektdokumentation.pdf b/projektdokumentation/Projektdokumentation.pdf index a3d1545..c742f0b 100644 Binary files a/projektdokumentation/Projektdokumentation.pdf and b/projektdokumentation/Projektdokumentation.pdf differ