Anforderungen
- Die Implementierung soll bzgl. der
Spielregeln konform sein.
- Das Programmsystem soll nach folgender Rollenaufteilung strukturiert sein:
- Verwalter
Der Verwalter kontrolliert den Spielablauf. Er organisiert die Reihenfolge
der einzelnen Spielerzüge, kontrolliert die Rechtmäßigkeit, bestimmt die Gewinner
und benachrichtigt Ausgabekanäle von Änderungen.
- Spieler
Der Spieler führt die einzelnen Züge durch. Er kann entweder künstlich sein und
nach einer einprogrammierten Strategie verfahren oder von einem Menschen gesteuert
werden.
- Ausgabekanal
Ein Ausgabekanal dient zur grafischen Darstellung des Spielzustands.
- Damit die Implementierungen der einzelnen Gruppen gegeneinander
antreten können, müssen bestimmte
Protokolle und Datenformate
eingehalten werden.
- Das Programm soll mindestens diese Eigenschaften besitzen:
- Eine beliebige Anzahl (2-8) von menschlichen und künstlichen
Spielern kann an einem Spiel teilnehmen.
- Die Interaktion mit den menschlichen Spielern erfolgt über eine
grafische Schnittstelle.
- Beliebige Spielkacheln, die in dem Format
<SFKachel>
gespeichert sind, werden beim Start geladen und interaktiv zu einem Spielfeld
zusammengesetzt.
- Menschliche Spieler können an verschiedenen Rechnern, die über
ein Netzwerk verbunden sind, an einem Spiel teilnehmen. Ein Beispiel, wie sich
Sockets in Java programmieren lassen, ist vorhanden
(Java-Code,
Dokumentation)
- Zusätzlich können die Spielregeln um Optionskarten erweitert werden: