Suche Home Einstellungen Anmelden Hilfe  

 
UNI Didaktik der 
Informatik
DdI
 Hausaufgabe zum Erwerb eines Scheins zur
Vorlesung Algorithmen, Daten und Programme I, WS 97/98

Programmierung des Strategiespiels "Vier gewinnt"

Spielregeln:

Das reale Spielbrett steht aufrecht und besteht aus sieben Schächten, die jeweils 6 Steine aufnehmen können.  Am Spiel nehmen zwei Spieler A und B teil. Spieler A besitzt rote, Spieler B gelbe Steine. Jeder Spieler wirft abwechselnd einen Stein seiner Farbe in einen der Schächte. Der eingeworfene Stein fällt bis zur tiefsten, noch freien Position des jeweiligen Schachtes. Ziel des Spiels ist es, als erster vier Steine der eigenen Farbe aufeinanderfolgend in einer Reihe, einer Spalte oder in einer Diagonalen zu bekommen. Ist kein Schacht mehr frei und hat kein Spieler einen Vierer gebaut, geht das Spiel unentschieden aus.
 

Aufgabenstellung:

Implementieren Sie unter Verwendung der funktionalen Sprache Standard-ML das Spiel "Vier gewinnt", wobei ihre Funktion sowohl die direkte Angabe von Spielzügen als auch die automatische Berechnung eines Spielzuges ermöglichen soll. Kommentieren Sie Ihr Programm und dokumentieren Sie die Entwicklung und Funktionsweise der angewendeten Strategien zur Bewertung der Computerzüge. Als Schnittstelle ist folgende Funktion zur Verfügung zu stellen:

xxxSpielzug(Spielfeld:Farbe list,Stein:Farbe,Schacht:int)

Ersetzen Sie die Zeichen xxx durch ihre Initialen und einen beliebigen Buchstaben.
Der Eingabeparameter Spielfeld enthält den derzeitigen Spielstand in einer Liste der Form

[x11 ,x12 ,x13 , .. , x17 ,x21 ,x22 , .... ,  x67]

wobei xij das Spielfeld der i-ten Zeile und des j-ten Schachtes  beschreibt und xij vom Typ

datatype Farbe = leer|gelb|rot;

ist. Der Parameter Stein beschreibt die Farbe des Steins, der gesetzt werden soll. Wenn der Computer einen Spielzug berechnen soll, enthält der Eingabeparameter Schacht eine 0. Anderenfalls wird mit Schacht der Schacht (1 bis 7) angegeben, in den der Stein geworfen werden soll.

Die Funktion liefert als Rückgabewerte in einem Tupel des Typs (Farbe list, int, int):

Alle weiteren erforderlichen Funktionen dürfen nicht sichtbar sein, müssen also innerhalb der Funktion xxxSpielzug implementiert werden.

Abnahme:

Am 17. März 1998 werden die Programme in einem Wettkampf nach dem KO-System präsentiert. Der Wettbewerb findet voraussichtlich in Raum 2.07 ab 10 Uhr statt (unter SML Version 0.93). Die Anmeldung hierzu muss unter Abgabe der Dokumentation und einer MS-DOS-formatierten Diskette mit der Programmdatei bis zum 16. März 1998, 10 Uhr erfolgt sein.

Bewertungskriterien sind u. a.:
- die angewendete Strategie zur Berechnung der Spielzüge,
- die Vollständigkeit der Implementierung des Spiels,
- der funktionale Programmierstil,
- die Dokumentation des Programms,
- der erzielte Platz im Wettbewerb.

Anmerkung:
Literatur zur Programmierung von Spielen und zu ML wird im Semesterapparat ausgelegt.
Es wird dringend empfohlen, weitere Literatur zu suchen und zu studieren!!
 
 

Benutzer: gast • Besitzer: hwsystem • Zuletzt geändert am: