docs: add dice docs
All checks were successful
CI / Get Changed Files (pull_request) Successful in 16s
Pull Request Labeler / labeler (pull_request_target) Successful in 4s
Label PRs based on size / Check PR size (pull_request) Successful in 12s
CI / eslint (pull_request) Has been skipped
CI / oxlint (pull_request) Has been skipped
CI / prettier (pull_request) Has been skipped
CI / test-build (pull_request) Has been skipped
CI / Backend Tests (pull_request) Has been skipped
CI / Checkstyle Main (pull_request) Has been skipped
CI / Docker frontend validation (pull_request) Has been skipped
CI / Docker backend validation (pull_request) Has been skipped
CI / Playwright (pull_request) Has been skipped
Claude PR Review / claude-code (pull_request) Successful in 1m25s
All checks were successful
CI / Get Changed Files (pull_request) Successful in 16s
Pull Request Labeler / labeler (pull_request_target) Successful in 4s
Label PRs based on size / Check PR size (pull_request) Successful in 12s
CI / eslint (pull_request) Has been skipped
CI / oxlint (pull_request) Has been skipped
CI / prettier (pull_request) Has been skipped
CI / test-build (pull_request) Has been skipped
CI / Backend Tests (pull_request) Has been skipped
CI / Checkstyle Main (pull_request) Has been skipped
CI / Docker frontend validation (pull_request) Has been skipped
CI / Docker backend validation (pull_request) Has been skipped
CI / Playwright (pull_request) Has been skipped
Claude PR Review / claude-code (pull_request) Successful in 1m25s
This commit is contained in:
parent
5bd3f554e2
commit
1bca2b8611
4 changed files with 48 additions and 1 deletions
|
@ -13,7 +13,7 @@
|
|||
% Die Option (in den eckigen Klammern) enthält das längste Label oder
|
||||
% einen Platzhalter der die Breite der linken Spalte bestimmt.
|
||||
\begin{acronym}[WWWWW]
|
||||
%\acro{API}{Application Programming Interface}
|
||||
\acro{API}{Application Programming Interface}
|
||||
\acro{CI}{Continuous Integration}
|
||||
\acro{CI/CD}{Continuous Integration/Continuous Deployment}
|
||||
\acro{CLI}{Command Line Interface}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
% !TEX root = Projektdokumentation.tex
|
||||
\input{Inhalt/Einleitung}
|
||||
\input{Inhalt/CI}
|
||||
\input{Inhalt/Dice.tex}
|
||||
|
|
46
projektdokumentation/Inhalt/Dice.tex
Normal file
46
projektdokumentation/Inhalt/Dice.tex
Normal file
|
@ -0,0 +1,46 @@
|
|||
\clearpage
|
||||
\section{Dice}
|
||||
|
||||
\subsection{Was ist Dice?}
|
||||
Das Würfelspiel 'Dice' ist ein originelles Spiel der Casinoplattform Stake.com\footnote{Stake.com ist eine bekannte Online-Glücksspielplattform, die eine Vielzahl von Casinospielen und Sportwetten anbietet.}. Das Spiel dreht sich um einen virtuellen 100-seitigen Würfel,
|
||||
bei dem Spieler die Parameter ihrer Wette beeinflussen können. Im Kern geht es darum,
|
||||
einen zuvor festgelegten 'Roll Over'- oder 'Roll Under'-Betrag zu unter- oder überschreiten,
|
||||
um eine Runde zu gewinnen. Spieler haben die Kontrolle über den Multiplikator und ihre Gewinnchancen:
|
||||
Durch die Anpassung des Zielwerts können sie das Verhältnis
|
||||
von Risiko und potenzieller Auszahlung steuern. Ein höherer Multiplikator verspricht zwar größere Gewinne,
|
||||
reduziert jedoch gleichzeitig die Wahrscheinlichkeit eines erfolgreichen Würfelwurfs.
|
||||
|
||||
\includegraphics[scale=1]{dice.png}\\[1ex]
|
||||
|
||||
\subsubsection{Zufallszahlengenerierung}
|
||||
Zur Generierung des Würfelwurfs verwendet diese Implementierung die Standardklasse java.util.Random.
|
||||
Sie erzeugt eine pseudo-zufällige Zahl zwischen 1 und 100 (inklusive),
|
||||
die das Ergebnis des virtuellen 100-seitigen Würfels darstellt.
|
||||
|
||||
|
||||
\subsubsection{Spielablauf und Datenfluss}
|
||||
|
||||
Der zentrale Controller steuert den Spielablauf und empfängt die Anfragen vom Frontend. Jede Anfrage enthält die Eckdaten des gewünschten Würfelwurfs:
|
||||
\begin{itemize}
|
||||
\item \textbf{Einsatz:} Der gesetzte Münzbetrag.
|
||||
\item \textbf{Wettart:} Soll der Würfel ``über'' oder ``unter'' einen Wert fallen?
|
||||
\item \textbf{Zielwert:} Der vom Spieler festgelegte Referenzwert (1-100).
|
||||
\end{itemize}
|
||||
|
||||
Zuerst prüft der Controller das Guthaben des Spielers. Bei unzureichenden Mitteln wird der Vorgang abgelehnt. Andernfalls übergibt er die weitere Ausführung an die Dienstklasse.
|
||||
|
||||
Die Dienstklasse übernimmt die eigentliche Logik des Würfelspiels:
|
||||
\begin{enumerate}
|
||||
\item Zieht den Einsatz vom Spielerkonto ab.
|
||||
\item Erzeugt einen zufälligen Würfelwurf (Wert zwischen 1 und 100).
|
||||
\item Prüft, ob der Wurf die Gewinnbedingung erfüllt (entsprechend Wettart und Zielwert).
|
||||
\item Berechnet die Gewinnwahrscheinlichkeit und den sich daraus ergebenden Multiplikator.
|
||||
\item Schreibt bei einem Gewinn den entsprechenden Betrag (Einsatz $\times$ Multiplikator) dem Spielerkonto gut.
|
||||
\end{enumerate}
|
||||
|
||||
Das Ergebnis des Spiels wird an das Frontend zurückgesendet und enthält:
|
||||
\begin{itemize}
|
||||
\item Gewinnstatus (gewonnen/verloren)
|
||||
\item Auszahlungsbetrag
|
||||
\item Gewürfelten Wert
|
||||
\end{itemize}
|
Binary file not shown.
Reference in a new issue