Übungen Handlungsplanung und Allgemeines Spiel
Übungsblätter
Die Übungsblätter werden im zweiwöchigen Rhythmus - startend mit dem ersten Mittwoch der Vorlesung (27.10.2010) - in der Vorlesung verteilt und auch hier veröffentlicht. Besprechung ist donnerstags zwei Wochen später. Abgabe (soweit erforderlich) ist jeweils am Montag vor der Übung - bei Stefan (Raum 2.62) oder mir (Raum 2.86) oder auch im Sekretariat (Raum 1.53) in unseren Briefkasten.
- Blatt 1
-
Blatt 2
verschlüsselte Spielbeschreibung für Aufgabe 2.1 (ex_2_1.kif) - Blatt 3
- Blatt 4
- Blatt 5
-
Blatt 6
Ineffiziente Spielbeschreibung für Aufgabe 6.1 (zhadu2.gdl)
Hinweise
Zum ersten Übungsblatt:
Zum einen ist auf den Seiten, auf denen
die Referenzspieler
zu finden sind ein Fehler in einem der Links: Eclipse Prolog ist
unter eclipseclp.org zu
finden.
Zum anderen ist die Installation nicht unmittelbar klar gewesen,
daher hier kurz die Beschreibung für den Basic C++
Player.
Der Code des Spielers
ist verlinkt. Eclipse
Prolog ist unter oben genannter Adresse zu finden. Geht einfach in
die Download-Sektion, wählt die aktuellste Version aus,
für ein Linux-basiertes System wählt die i386_linux
Variante und ladet zumindest die eclipse_basic.tgz herunter. Falls
ihr ein 64-bit System habt und auch die 64-bit Version nutzen
möchtet: Die scheint es bisher nur bis zur Version 6.0_162 zu
geben.
Entpackt die eclipse_basic.tgz in ein Verzeichnis (das soll dann
später ECLIPSE_DIR sein) und führt das RUNME-Skript
aus. Dabei wird das Programm lokal in diesem Ordner
installiert.
Jetzt könnt ihr auch den Spieler entpacken. Wenn ihr ein
64-bit Linux nutzt, müsst ihr in den beiden Makefiles (im
Hauptverzeichnis und im BasicPlayer-Unterverzeichnis) ARCH
anpassen (steht jeweils ganz oben) - bei mir ist es etwa
x86_64_linux. Außerdem fehlt in der Datei
BasicPlayer/GameHttpServer.cc eine Header-Datei (zumindest bei
aktuellen g++-Versionen) - fügt einfach die Zeile
"#include <cstring>" in den include-Block am Anfang
hinzu. Um das Ganze kompilieren zu können müsst ihr noch
den Pfad zum Eclipse-CLP Paket setzen. Führt dazu einfach
"export ECLIPSE_DIR=/home/<name>/eclipse-clp" (oder was auch
immer euer Pfad sein mag) aus. Dann könnt ihr den Spieler
über "make" kompilieren.
Nach dem Kompilieren sollte im Hauptverzeichnis des Spielers die
Datei myPlayer liegen. Ehe ihr den aber starten könnt
müsst ihr dem Spieler noch den Pfad zur Eclipse-Prolog
Library bekannt machen. Fügt dazu das Library-Verzeichnis am
Besten mit in den LD_LIBRARY_PATH ein (etwa "export
LD_LIBRARY_PATH=/home/<name>/eclipse-clp/lib/i386_linux:$LD_LIBRARY_PATH"). Dann
lässt sich der Spieler mittels "./myPlayer <port>"
starten (wobei port den Port bezeichnet, auf dem der Spieler
lauschen soll - den müsst ihr entsprechend auch im
GameController einstellen, wenn ihr damit spielen wollt).
Es empfiehlt sich, die Anpassung des LD_LIBRARY_PATH sowie
ECLIPSE_DIR in den Start des Betriebssystems einzubinden, sonst
müsst ihr das bei jedem Neustart wieder eingeben.
Den Basic Prolog Player habe ich nach der Installation des
Eclipse-Prolog auch problemlos zum Laufen gebracht. Der
Java-Player scheint in ein Plugin für Eclipse eingebunden zu
sein. Zumindest das Plugin ließ sich (selbst unter Windows)
problemlos installieren, so dass man dann innerhalb von Eclipse
zufällige Spiele laufen lassen kann.
Lösungsvorschläge
Blatt 1
Zu der Aufgabe, eine Spielbeschreibung in GDL zu formulieren, hier die Abgabe von Team gaertner:
Käsekästchen (Dots and Boxes)
Und hier die vereinfachte Version:
Käsekästchen (Dots and Boxes) - vereinfacht