Black Jack
Schindlar Roland
WS2004
Problemstellung
Aufgabe dieses Projektes ist es ein Programm zu erstellen, dass die Ausführung des Spieles 17+4 oder auch Black Jack genannt ermöglicht. Das Ziel dieses Spiel ist es durch ziehen von einer Karte nach der anderen 21 Punkte zu erreichen. Der Spieler kann jederzeit auch schon bei einer geringeren Punkteanzahl als 21 sagen, dass er keine weitere Karte mehr ziehen möchte. Wenn alle Spieler keine weitere Karte mehr möchten, wird verglichen welcher die höhere Punkteanzahl erreicht hat und dieser ist dann der Sieger. Ein überschreiten von 21 Punkten muss jedenfalls vermieden werden, da die Spielrunde sonst verloren ist. Es stehen 52 Karten zur Verfügung, von jeder Farbe 13. Die Karten 2 bis 10 haben die jeweils entsprechende Punkteanzahl, die Spielkarten Bube, Dame und König haben die Punkteanzahl 10 und die Spielkarte Ass hat die Punkteanzahl 11.
Das Spiel wird gegen die Bank gespielt. Am Beginn des Spieles erhält der Spieler ein Konto mit einem Wert von EUR 100,00 zur Verfügung gestellt. Pro Spiel wird ein Einsatz von 5,00 EUR verlangt. Im Falle eines Gewinnes des Spielers erhält dieser 5,00 Euro auf seinem Konto gutgeschrieben. Verliert der Spieler werden ihm 5,00 Euro vom Konto abgezogen. Sobald das Konto des Spielers auf Null oder der Spieler es wünscht ist das Spiel beendet.
Am Beginn des Spieles erhalten der Spieler und der Computer jeweils eine Karte, die beide für den Spieler ersichtlich sind. Anschließend kann der Spieler auswählen ob er noch eine weitere Karte erhalten möchte oder nicht. Bei „Ja“ erhält der Spieler eine weitere Karte und hat wieder dieselben Möglichkeiten wie vorher. Bei „Nein“ beendet der Spieler seine Spielrunde und die Bank ist an der Reihe. Die Bank gibt sich selber weitere Karten. Sie stoppt jedoch falls sie eine Punkteanzahl von 15 oder mehr Punkten erreicht hat. Im Anschluss wird festgestellt wer mehr Punkte hat und zum Sieger erklärt. Sowohl für Spieler als auch Bank gilt jedoch, sobald 21 Punkte überschritten wurden, ist diese Spielrunde verloren. Die Karten werden durch den Computer per Zufallsgenerator vergeben und jede Spielkarte kann nur einmal pro Spiel vorkommen.
UML - Diagramme
|
|
|
|
|
|
|
Klassenbeschreibung
Klasse Karte:
Die Karten müssen aus einem Namen und einem Wert bestehen.
Klasse Kartenstapel:
Festlegung, dass es insgesamt 52 Karten im Spiel gibt. Die 52 verschiedenen Karten werden erstellt sowie ein Wert und ein Name zugewiesen und anschließend gemischt. Das Mischen funktioniert durch das Tauschen der Variablen „von“ und „nach“ die mit Zufallszahlen gespeist werden.
Klasse Bank (extends
Teilnehmer):
Die Bank erhält den fixen Namen „Bank“ sowie einen Kontostand in Höhe von 10000000 Euro. Es wird festgelegt, dass die Bank an jeder Spielrunde teilnimmt und nur solange eine weitere Karte im Laufe einer Spielrunde verlangt, solange der Wert ihrer eigenen Karten weniger als 16 Punkte ausmacht.
Klasse Spieler (extends
Teilnehmer):
Der Startbetrag des Spielerkontos wird mit 100 Euro festgesetzt, sowie der Spieler aufgefordert einen Namen unter dem er spielen möchte über die Tastatur einzugeben. Im Laufe des Spieles kann der Spieler durch Eingabe über die Tastatur im Gegensatz zur Bank wählen ob er eine weitere Karte möchte oder ob er eine weitere Spielrunde wagen möchte.
Klasse Teilnehmer:
Ist eine abstrakte Klasse. Stellt den Wert der Karten der Teilnehmer fest, es wird jede neu erhaltene Karte zu den bestehenden dazu addiert. In dieser Klasse wird auch die Obergrenze von 21 Punkten festgelegt. Zusätzlich wird der Betrag eines Sieges oder einer Niederlage mit 5 Euro festgelegt und sowohl nach Sieg oder Niederlage die Punkteanzahl (Karten) der Teilnehmer wieder auf Null gesetzt.
Klasse Konto:
Das Konto kann seinen Wert erhöhen und vermindern sowie seinen Betrag zurückgeben.
Klasse Spiel:
In dieser Klasse befindet sich die Main-Methode über die das Spiel Black-Jack gestartet wird. Es gibt nur 2 Teilnehmer. Der erste Teilnehmer ist die Bank, der zweite der Spieler. Solange das Konto des Spielers nicht Null ist und entweder die gespielten Spielrunden Null sind oder der Spieler noch eine Runde spielen will, solange läuft das Spiel. Die Anzahl der Spielrunden werden mitgezählt. Bei jeder neuen Spielrunde werden die Karten neu gemischt und der Kontostand des Spielers ausgegeben. Sowohl die Bank als auch der Spieler erhalten zu beginn eine Karte. Danach kann der Spieler sagen ob er eine weitere Karte möchte oder nicht. Sobald er keine Karte mehr will ist die Bank an der Reihe und erhält Karten bis sie die Punkteanzahl von 15 überschritten hat. Hat einer der beiden Teilnehmer jedoch schon zuvor 21 Punkte überschritten ist die Spielrunde schon früher beendet. Andernfalls werden am Ende die Punkte verglichen und der Gewinner ermittelt.
Beschreibung für den Anwender
Black-Jack wird in der Klasse Spiel gestartet. Als erstes muss ein Name vergeben werden mit dem dann gespielt wird. Anschließend wird der Startkontostand bekannt gegeben und auch die erste Karte für die Bank und den Spieler gegeben. Danach muss man sich durch Eingabe von „J“ oder „N“ über die Tastatur entscheiden ob man weitere Karten möchte oder nicht. Sobald man „N“ wählt erhält die Bank ihre Karten und am Ende wird dann die Punkteanzahl verglichen und der Sieger verkündet. Bei gleicher Punkteanzahl hat die Bank gewonnen! Falls jedoch während des Spieles einer der Teilnehmer 21 Punkte überschreitet, hat dieser automatisch verloren. Im Falle einer Niederlage werden 5 Euro vom Konto des Spielers abgebucht, andererseits werden 5 Euro dem Konto gutgeschrieben und der neue Kontostand wird ausgegeben. Im Anschluss kann der Spieler durch Eingabe über die Tastatur auswählen ob er eine weitere Spielrunde starten möchte („W“) oder lieber aufhören möchte („X“).
Wartung
Es ist grundsätzlich keine Wartung des Programms notwendig.