Realisierung von 4-Gewinnt

Abschlussarbeit von: Sebastian Kortler - kortler (bei) in (Punkt) tum (Punkt) de
  Maria Lötsch - loetsch (bei) in (Punkt) tum (Punkt) de
  Tim A.Dutz - timdutz (bei) gmx (Punkt) de

SPEZIFIKATION

HIGH - LEVEL - SPEZIFIKATION
Implementiert werden soll eine Umsetzung des Brettspiels VIER GEWINNT.
Das Spiel muss sowohl alleine, d.h.gegene eine künstliche Intelligenz, als auch via Netzwerk gegen einen weiteren menschlichen Spieler spielbar sein. Hierfür soll zudem eine Chat Funktion zur Verfügung stehen.
REGELSATZ: VIER GEWINNT
Gespielt wird auf einem 8x8 Felder großen Spielbrett. Eine der vier Seiten des Spielbretts ist der "Boden". Beide Spielder erhalten eine genügend grosse Zahl von Spielsteinen. Ein Spieler erhält blaue Steine, der andere rote.Der Zufall entscheidet, welcher Spieler beginnen darf. Gezogen wird abwechselnd. Ein Spielstein darf entweder direkt auf eines der Boden-Felder, oder aber "oberhalb" eines anderen Steines (gleichgültig ob eigener oder gegnerischer) gelegt werden. In jedem Zug muss genau ein Stein gelegt werden. Derjenige Spieler, der zuerst 4 direkt aneinander-grenzende Steine (gleichgültig ob horizontal, vertikal oder diagonal) legen konnte, gewinnt.
ENTWICKLUNGS-ABFOLGE
1.) View Die grafische Programmoberfläche, einschliesslich Spielbrett-Darstellung und GUI.
2.) Event - Agent Behandelt User-Aktionen. Bündelt Informationen und leitet sie weiter.
3.) Table - Agent Speichert das Spielbrett in einem doppelten Feld. Bietet vielfältige Accessor-Methoden.
4.) View - Agent Verwaltet die Darstellung des Spielbretts. Bedient sich dazu der Informationen des Table-Agent
5.) Net - Agent Stellt eine Netzwerkverbindung mittels Rendezvous her. Pakt und sendet Informationen.
6.) Chat - Unit Eigenständiges Chat Fenster
7.) Referee - Agent Verwaltet die Zug-Berechtigung. Stimmt sich ggbf.per Net-Agent mit seinem Pendant ab.
8.) Processing - Unit Verarbeitet sämtliche Informationen der Agenten. Liefert dementsprechend neue Anweisungen.
9.) KI - Agent Künstliche Intelligenz für den Computerspieler. Testet günstigsten Zug per Entscheidungsbaum.

PROGRAMM-STRUKTUR-SKIZZE

AUSZÜGE AUS DEM FERTIGEN PROGRAMM

Bei Spielstart:



In Runde 6 - rot = Gegner, grün = Spieler



Spielende: Spieler gewinnt diagonal



Verbindungsaufbau für 2-Spielermodus/Chat per Rendevouz