chore: Add docs for coinflip
All checks were successful
Pull Request Labeler / labeler (pull_request_target) Successful in 4s
CI / Get Changed Files (pull_request) Successful in 18s
Label PRs based on size / Check PR size (pull_request) Successful in 16s
CI / Backend Tests (pull_request) Has been skipped
CI / eslint (pull_request) Has been skipped
CI / Checkstyle Main (pull_request) Has been skipped
CI / oxlint (pull_request) Has been skipped
CI / Docker frontend validation (pull_request) Has been skipped
CI / prettier (pull_request) Has been skipped
CI / Docker backend validation (pull_request) Has been skipped
CI / test-build (pull_request) Has been skipped
CI / Playwright (pull_request) Has been skipped
Claude PR Review / claude-code (pull_request) Successful in 1m16s
All checks were successful
Pull Request Labeler / labeler (pull_request_target) Successful in 4s
CI / Get Changed Files (pull_request) Successful in 18s
Label PRs based on size / Check PR size (pull_request) Successful in 16s
CI / Backend Tests (pull_request) Has been skipped
CI / eslint (pull_request) Has been skipped
CI / Checkstyle Main (pull_request) Has been skipped
CI / oxlint (pull_request) Has been skipped
CI / Docker frontend validation (pull_request) Has been skipped
CI / prettier (pull_request) Has been skipped
CI / Docker backend validation (pull_request) Has been skipped
CI / test-build (pull_request) Has been skipped
CI / Playwright (pull_request) Has been skipped
Claude PR Review / claude-code (pull_request) Successful in 1m16s
This commit is contained in:
parent
7e30e191b4
commit
095d7497b4
3 changed files with 40 additions and 0 deletions
|
@ -3,3 +3,4 @@
|
||||||
\input{Inhalt/Projektarchitektur}
|
\input{Inhalt/Projektarchitektur}
|
||||||
\input{Inhalt/CI}
|
\input{Inhalt/CI}
|
||||||
\input{Inhalt/Dice.tex}
|
\input{Inhalt/Dice.tex}
|
||||||
|
\input{Inhalt/Coinflip.tex}
|
||||||
|
|
39
projektdokumentation/Inhalt/Coinflip.tex
Normal file
39
projektdokumentation/Inhalt/Coinflip.tex
Normal file
|
@ -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}
|
Binary file not shown.
Reference in a new issue