Aufgabe 1: Mini-Schach
Ansprechpartner: Dr. Klaus Ahrens
Implementieren Sie ein Java-Programm (vermutlich bestehend aus mehreren Klassen:-) welches ein vereinfachtes Schachspiel realisiert. Das Programm soll mit einer graphischen Oberfläche ausgestattet sein, die den Verlauf des Spiels darstellt.
Mehrere Spielmodi sollen (im Idealfall) unterstützt werden:
Die Regeln sind gegenüber dem echten Schach etwas vereinfacht:
6x6 Spielfeld - - ohne Läufer
Hinweise
Vermutlich ist es sinnvoll, eine (abstrakte) Basisklasse aller Spielfiguren zu entwerfen, die alle gemeinsamen Operationen bündelt, die in den konkreten Ableitungen dann unterschiedlich ausfällt: z.B. die Erzeugung von Listen möglicher Züge oder von Listen verteidigter oder angegriffener Positionen. Letztere werden sicher bei der Strategie eine Rolle spielen. Darüber hinaus sollten in der Strategie natürlich auch die Stärken der einzelnen Figuren bewertet werden, ggf. die Zentralität von Zügen (Aktionen in der Mitte bzw. Richtung gegnerischer König sind wohl wichtig) und evtl. auch der Freiheitgrad (Anzahl der Felder, die eigene Figuren erreichen können).
Im Notfall kann Ihre Strategie auch darin bestehen, unter den zulässigen Zügen immer nur einen zufälligen Zug auszuwählen, womit sich aber sicher kein Turnier gewinnen lassen wird.
Geben Sie ein .tgz-Archiv ab, welches alle Quelltexte Ihres Schachprogramms enthält. Darüber hinaus muss eine Datei README im Archiv enthalten sein, die beschreibt, welche Ausbaustufe sie implementiert haben (s.o. Spielmodi) und wie das Programm zu starten ist (Name der main-Klasse, Parameter etc.)
Viel Spaß :-)