Small logo of ETH main building ETH Zurich : Computer Science : Pervasive Computing : Distributed Systems : Education : I2 FS2014 : Reversi

| Informatik II Vorlesung | Turnier | Arena | Installation | Probleme | Literatur |

Reversi-Turnier

Das Reversi-Turnier findet am Mittwoch, den 28.05.2014, ab 13:00 Uhr(!) im Stuz2 (CABinett) statt. Wir organisieren das Turnier gemeinsam mit dem AMIV.

Fotos

Das Turnier verlief reibungslos und war von vielen knappen und interessanten Spielen geprägt. Letztendlich konnte sich das Team delta.Epsilon.Player im Finale gegen das Team Team MiK durchsetzen. Wir freuen uns auf nächstes Jahr!

Die Entwickler des neuen Frameworks Organisator Leyna Co-Organisator Christian Frage nach der richtigen Strategie Gespanntes Publikum Für's leibliche Wohl war gesorgt. Das neue Framework Preisverleihung Gábor beim Setup Die Computerspieler Kommandozentrale Gut gelaunter Kommentator 2. Preis: Ein Fitbit-Armband Simon gut gelaunt Willi


Preise

Auch dieses Jahr werden unter den Gewinnern coole Gadgets vergeben - und zwar jeweils zwei pro Team. Für jedes Team, welches das Viertelfinale erreicht, ist etwas dabei:
LIFX lightbulb LIFX - The light bulb reinvented

"LIFX® is a wifi enabled, multi-color, energy efficient LED light bulb that you can control with your smartphone." (http://lifx.co/)
fitbit Flex fitbit Flex

"Dieses schmale, modische Armband kannst du rund um die Uhr tragen. Tagsüber zeichnet es Schritte, Strecke und verbrannte Kalorien auf. In der Nacht verfolgt es deinen Schlafrhythmus und morgens weckt es dich geräuschlos auf. Anhand der Lämpchen siehst du, wie nahe du deinem persönlichen Ziel schon gekommen bist. So kannst du dich motivieren, dich zu bewegen und aktiver zu werden." (www.fitbit.com)
Reversi-Brettspiel Reversi-Brettspiel aus Holz

"Ein altbekanntes Strategiespiel für 2 Spieler, welches das logische Denken fördert. Maße (cm): B 25 x L 25" (www.spiel-viel.de)
Lautsprecher 2x MOBI Mini-Lautsprecher

"Jeden Tag genießen mehr Menschen ihre Musik mit einem wavemaster MOBI. Am Strand. Im Hotel. Auf der Terrasse. Bei der Arbeit. MOBI ist kompromisslos klein und produziert dennoch einen erstaunlich klaren und voluminösen Sound. Der Mini-Lautsprecher wird über das integrierte 3,5 mm Stereokabel an mobile Klangquellen angeschlossen (Smartphone, Tablet, MP3, Notebook, usw.)." (www.wavemaster.eu)
KITAG 3x KITAG Kinogutscheine

Kinogutscheine im Wert von je 20 CHF

Regeln

Es gibt verschiedene Varianten dieses einfachen Spiels. Wir verwenden diese Regeln: reversi-spielregeln.pdf

Einsendungen

Wer selbst mit einem Spieler teilnehmen möchte, muss diesen bis spätestens Mittwoch, den 21.05.2014, 23:59 Uhr (Zürich Time) per Mail an Leyna Sadamori einsenden. Dabei müssen Sie folgendes beachten:

  • Teilnehmen können Sie entweder alleine oder im Zweierteam. Alle Teammitglieder müssen jedoch dieses Semester die Vorlesung "Informatik II für ITET" belegt haben.
  • Alle Programmteile müssen in Java geschrieben sein und als Quellcode abgegeben werden. Die Einbindung von C++-Code (z.B. über JNI) ist nicht gestattet. Einsendungen ohne vollständigen Quellcode können nicht teilnehmen!
  • Alle Programmteile müssen in einem eigenen Package untergebracht sein (also nicht im Reversi-Package!)
  • Das Programm muss sich mit Java 1.7 übersetzen und ausführen lassen.
  • Verwenden Sie UTF-8 für Ihre Quelldateien.
  • Zitieren ist erlaubt – Abschreiben nicht: Falls Sie Teile Ihres Quellcodes von anderen Spielern kopiert haben, so müssen Sie das im Quellcode kenntlich machen. Anderenfalls ist das ein Disqualifikationsgrund.
  • Ihr Spieler muss eine eigene Leistung erkennen lassen, um am Turnier teilnehmen zu können, d.h. Sie können also nicht einfach einen RandomPlayer abgeben!
  • Sie können Ihren Spieler im Vorfeld des Turniers gegen andere, etablierte Spieler antreten lassen (El Pulpo, Holy Gamma). Informationen, wie man diese Spieler einbindet, finden Sie in dieser Readme. Die Zugangsdaten erhalten Sie von Ihrem Übungsgruppenleiter.
Bitte senden Sie den Quellcode unter Angabe des Paket- und Klassennamens in einem (zip-, tar- oder rar-) Archiv. Nennen Sie bitte in der E-Mail den Vor- und Nachnamen der Autoren und tragen Sie als Betreff "Reversispieler" ein.


Wettkampfbedingungen

  • Die Zugdauer beträgt 5 Sekunden, der für Ihren Spieler verfügbare Speicher 128 MB.
  • Wird das Zeitlimit überschritten oder ein ungültiger Zug gemacht, gilt das Spiel als verloren.
  • Es sind keine zusätzlichen Threads erlaubt (dazu zählt auch der Aufruf des Garbage Collectors), die Priorität des gegebenen Threads darf nicht verändert werden.
  • Um einen störungsfreien Ablauf des Turniers zu gewährleisten, dürfen die Spieler keine GUI-Elemente verwenden (wie z.B. Fenster öffnen) oder die System-Streams (System.in, System.out, System.err) umleiten. Textausgabe auf die Konsole ist jedoch erlaubt.
  • "Unfaires" Verhalten, wie z.B. Netzwerkzugriffe, exzessive Berechnungen während des Konstruktors bzw. des initialize()-Aufrufs oder Manipulationsversuche führen zum Ausschluss vom Turnier.

Ermittlung des Siegers

Die genauen Wettkampfmodalitäten, also das System, nach dem der Sieger ermittelt wird, hängen von der Anzahl der Teilnehmer ab und werden vor Beginn des Turniers angekündigt. Typischerweise gibt es 2-4 (abhängig von der Anzahl der Einsendungen) parallel durchgeführte und zufällig ausgeloste Vorrunden. Jeweils die Gruppensieger oder die zwei Gruppenersten kommen in die Finalrunden, in denen dann nach dem K.O.-System gespielt wird.


Reversi-Arena

Für Reversi haben wir ein Programm namens Arena entwickelt, welches es ermöglicht, Computerspieler gegeneinander antreten zu lassen. Dieses Programm befindet sich im Reversi-Framework zusammen mit dessen öffentlichen Schnittstellen und internen Implementierungen. Das Framework gibt es als Paket, welches Sie bei sich lokal installieren müssen.

Installation

  • Das Reversi-Framework können Sie hier beziehen: reversi.jar
  • Hier gibt es eine kurze Anleitung zur Integration des Reversi-Frameworks in Eclipse.
  • Die Dokumentation können Sie hier beziehen: reversi-doc.zip. Binden Sie sie über den Java Build Path, Reiter "Libraries" an das Jarfile an. Expandieren Sie hierzu den Punkt "reversi.jar" und setzen Sie die "Javadoc location" auf das reversi-doc.zip-Archiv. Sie müssen auch den Pfad im Archiv noch korrekt setzen!
  • Für das Reversi-Turnier benötigen Sie - wie auch für die Übungen - Java Version 1.7. Ihre Java-Version können Sie mit dem Befehl java -version feststellen.
  • Die main-Methode ist in der Klasse reversi.Arena. Die Dokumentation erklärt nähere Details.

Probleme

Bei Problemen mit der Reversi-Distribution gehen Sie bitte nach folgender Eskalationsstrategie vor:
  1. Konsultieren Sie die Dokumentation.
  2. Wenden Sie sich per Email an Ihren Betreuer.
  3. Wenden Sie sich per Email an Leyna Sadamori.
Bekannte Probleme:
  • Unter Ubuntu 8.10 mit Gnome wurden Probleme mit dem X-Server festgestellt, die nicht direkt vom Reversi-Framework ausgelöst werden.
    Bisher ist leider keine Lösung – ausser auf ein anderes System umzusteigen – bekannt.
  • Alte Eclipse-Versionen 3.2.x unterstützen die .launch-Dateien noch nicht.
    Installieren Sie die aktuelle Version, die Sie unter http://www.eclipse.org/downloads/ finden (Eclipse IDE for Java Developers). Beachten Sie, dass manche Linux-Distributionen ältere Versionen im Paketmanager anbieten.

Literatur

Der Zugriff auf die unten angegebenen Dokumente ist passwortgeschützt. Bitte fragen Sie Ihren Übungsgruppenleiter nach Benutzernamen und Passwort. Bei Problemen können Sie sich an Leyna Sadamori wenden.

ETH ZurichDistributed Systems Group
Last updated June 3 2014 01:59:03 PM MET sm