diff --git a/projektdokumentation/Abkuerzungen.tex b/projektdokumentation/Abkuerzungen.tex index 02656ed..b1979ea 100644 --- a/projektdokumentation/Abkuerzungen.tex +++ b/projektdokumentation/Abkuerzungen.tex @@ -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} diff --git a/projektdokumentation/Inhalt.tex b/projektdokumentation/Inhalt.tex index 47f9fe1..d099234 100644 --- a/projektdokumentation/Inhalt.tex +++ b/projektdokumentation/Inhalt.tex @@ -1,3 +1,4 @@ % !TEX root = Projektdokumentation.tex \input{Inhalt/Einleitung} \input{Inhalt/CI} +\input{Inhalt/Dice.tex} diff --git a/projektdokumentation/Inhalt/Dice.tex b/projektdokumentation/Inhalt/Dice.tex new file mode 100644 index 0000000..a4d942a --- /dev/null +++ b/projektdokumentation/Inhalt/Dice.tex @@ -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} diff --git a/projektdokumentation/Projektdokumentation.pdf b/projektdokumentation/Projektdokumentation.pdf index fa35967..be035ea 100644 Binary files a/projektdokumentation/Projektdokumentation.pdf and b/projektdokumentation/Projektdokumentation.pdf differ