|
Verteilte Systeme | Reversi | Vorlesung | Übungen | Forum | FAQ | Literatur |
|
||||
Um einen eigenen Reversi-Spieler zu implementieren, der mit dem
Monitor zusammenarbeitet, müsst Ihr ein von uns zur Verfügung
gestelltes Reversi-Paket herunterladen, installieren und
anschliessend Eure bisherige Implementierung an das
Monitor-Interface anpassen. |
||||
Aktuelle Hinweise: |
|
|||
Download: |
Das Reversi-Paket enthält den Monitor und alle Klassen und
Interfaces, die benötigt werden, um Euren eigenen Spieler
Monitor-kompatibel zu machen.
Wir stellen das Paket in der Version 1.0.1 in zwei Formaten
bereit. Als komprimiertes tar-Archiv reversi.tgz und als zip-Datei reversi.zip. |
|||
Installation: |
Die Datei nach dem Herunterladen mit Verzeichnisstruktur
auspacken. Auf UNIX-Systemen entpackt man die tgz (kurz für
.tar.gz) Datei z.B. mit dem Kommando gtar xvfz
reversi.tgz , die zip-Datei mit unzip
reversi.zip . Auf den verschiedenen Windows-Systemen
kann zum Entpacken (sowohl der tgz-, als auch der zip-Dateien)
z.B. Winzip benutzt werden.Nach dem Auspacken existieren im aktuellen Verzeichnis drei neue Unterverzeichnisse: reversi, interactive_player und random_player. Das Verzeichnis reversi enthält den Monitor und alle zugehörigen Klassen und Interfaces. Das Verzeichnis interactive_player enthält einen graphisch-interaktiven Spieler, random_player einen Zufallsspieler.
Die Dateien sind bereits compiliert. Zum Testen der
Installation könnt Ihr im aktuellen Verzeichnis |
|||
Mitgelieferte Spieler & Monitor: |
In dem Paket kommen neben dem Monitor zwei Implementierungen
eines Spielers. Zum einen die Implementierung eines
"Zufallsspielers", der einen zufälligen (aber korrekten) Zug
liefert. Zum anderen haben wir einen interaktiven Spieler
implementiert, der einen Zug über eine graphische Schnittstelle
entgegennimmt und diesen dann an den Monitor zurückgibt. Ihr
könnt die mitgelieferten Spieler gegen Eure eigene
Implementierung oder gegen sich selbst spielen lassen. Der Monitor lädt für jedes Spiel jeweils zwei Implementierungen eines Reversi-Spielers dynamisch und lässt diese dann gegeneinander spielen. Damit das funktionieren kann, ist es notwendig, dass die Reversi-Spieler das von uns bereitgestellte Interface ReversiPlayer implementieren. Während des Spieles verwaltet der Monitor das Spielbrett und übernimmt das Umdrehen der Spielsteine. Die Spieler-Implementierungen berechenen nur die Spielzüge.
Jedem der beiden Reversi-Spieler wird vom Monitor zu Beginn der
Partie eine Farbe zugeordnet und die maximale Dauer für die
Berechnung eines Zuges übergeben (Methode initialize()
im Interface ReversiPlayer). Dann ruft der Monitor
solange abwechselnd die Methode der Reversi-Spieler auf, die
den nächsten Zug berechnet (Methode nextMove() ),
bis das Spielfeld gefüllt ist oder beide Spieler passen
müssen. Die Methode nextMove() bekommt das Spielfeld
übergeben. Auch sie ist im bereitgestellten Interface
ReversiPlayer definiert. Nach jedem Zug eines Spielers
wird das Spielfeld vom Monitor aktualisiert. |
|||
Anpassung des eigenen Spielers: |
Schritt für Schritt-Anleitung zum Anpassen seines eigenen
Spielers an den Monitor:
| |||
Fragen und Probleme: | Wenn Ihr Probleme und Fragen habt, seht bitte zuerst in der FAQ nach. Nennt dort nicht genannte auftretende Probleme sofort im Forum, diskutiert dort auch eventuell auftretende Fragen. Schaut bitte öfters ins Forum, wir werden dort auf neue Versionen der bereitgestellten Software hinweisen. |