HSG

Aktuelle Seite: HSG/Fächer/Informatik/Material

chuck-a-luck

Gruppe: mk, 7.4.03

Aufgabenstellung

Es ist ein Programm zum chuck-a-luck-Spiel zu erstellen.


zitiert aus"casinocasinos.hypermart.net/german/chuck.htm"

Links zum Spiel (Achtung, keine Software laden!): 1 , 2
Zwei Bildschirm-Hardcopies aus der Spielsoftware aus Link 2:
Bild1, Bild2

Pflichtenheft

/1/ Es ist auf dem Bildschirm eine vereinfachte Version des Spielfeldes darzustellen.
/2/ Zunächst soll nur "Numbers Bet" dargestellt werden.
/3/ Es sollen drei Würfel geworfen werden.
/4/ Es soll zunächst nur ein Spieler spielen.
/5/ Es soll ein Konto für den Spieler verwaltet werden.

Prototyp

Objektorientierte Analyse

Use-Case-Diagramm

erstellt mit Dia

"Ein Geschäftsprozess (use case) - auch Arbeitsablauf genannt - besteht aus mehreren zusammenhängenden Aufgaben, die von einem Akteur durchgeführt werden, um ein Ziel zu erreichen bzw. ein gewünschtes Ergebnis zu erstellen.
Ein Akteur (actor) ist eine Rolle, die ein Benutzer des Systems spielt. Jeder Akteur hat einen gewissen Einfluss auf das System. Ein Akteur ist häufig eine Person. Es kann sich aber ebenso um eine Organisationseinheit oder ein externes System handeln, das mit dem zu modellierenden System kommuniziert. Akteure befinden sich stets außerhalb des Systems."
[SWT1, S.126]


Klassendiagramm für die Fachkonzeptklassen

Die Idee ist, dass die Kontroll-Klasse TSpiel das Fachkonzept nach außen vertritt. Die innere Struktur, insbesondere welche Tochterobjekte TSpiel nutzt, bleibt verborgen.
Wenn sich in TSpiel etwas "GUI-relevantes" ändert, soll das Ereignis Onchange angestoßen werden.

erstellt mit UmlEd

Klassendiagramm für die GUI-Klassen

erstellt mit ESSModel

Objektorientiertes Design

Einsatz setzen



updateGUI erfragt Zustände der Würfel, des Kontos und des Spielfeldes und aktualisiert die Labels. Außerdem aktiviert bzw. deaktiviert updateGUI Buttons je nach Zustand. updateGUI gehört offensichtlich zu GUI.

Zustandsautomat

Die Oberfläche soll durch verschiedene Zustände ein "vernünftiges" Navigieren unterstützen.

erstellt mit Violet

Zustand gesperrt frei
1. Setzen bWerteAus
bRaeumeAb
bInc1-bDec6
bWuerfele
2. Auswerten bInc1-bDec6
bWuerfele
bRaeumeAb
bWerteAus
3. Abraeumen bInc1-bDec6
bWuerfele
bWerteAus
bRaeumeAb

Da im Wesentlichen nur Buttons in der GUI enabled oder disabled gesetzt werden, wird die Zustandssteuerung zunächst nur in der GUI realisiert. Dazu werden einfach die Ereignisbehandlungsroutinen zu den auslösenden Ereignissen erweitert.

to do:

Im Moment ist ein Würfeln ohne vorangegangenes Setzen möglich. Wie ließe sich dieser Mangel beseitigen? Wo liegen neue Probleme?

Implementierung

------------chuckaluck.zip---------------

Test

----------------