snEADy

Aktuelles
Termine
*Aufgabe*
EAD-Contest
Downloads
iBoard
Kontakt
Links

Gästebuch
Aufgabe
Eure Aufgabe ist es, kurz gesagt, eine möglichst clevere Snake in Java zu schreiben, die andere Spieler so einwickeln kann, dass diese keine Möglichkeiten zur Flucht haben.

Für die Teilname am Turnier sowie die für den Beleg (Zulassung für die EAD-Klausur) muss euer Spieler folgende Bedingungen erfüllen:
  • Der Spieler sollte keine Exceptions verursachen.
  • Der Spieler muss innerhalb der geforderten Zeit seinen Zug berechnen
  • Er darf nur begrenzt viel Speicher belegen.
  • Er muss die Schlangenprüfung absolvieren können. Das heißt, er sollte im Level "Beleg" einen einzelnen LukeWallwalker schlagen können.
  • Das Ganze soll mit einer kleinen Doku abgerundet werden

Das schwierigste wird wahrscheinlich sein, Luke Wallwalker zu schlagen. Schaut euch einfach genau an was er macht, dann wird euch bestimmt eine Möglichkeit einfallen ihn zu besiegen.

Implementierung eines Spielers

Was programmiert werden soll

Eure Aufgabe ist es, eine Java-Klasse von der snEADy-klasse Player abzuleiten und die Funktion calculate zu implementieren. In dieser Funktion soll euer Spieler möglichst intelligent entscheiden wohin die Schlange ziehen soll.

Dateistruktur

Legt für euren Spieler bitte ein eigenes Package mit dem gleichen Namen wie euer Spieler heißt an. In dieses Package kommen alle Klassen rein, die ihr für euren Spieler braucht. Der Packagename sollte außerdem klein geschrieben sein.
Im player-Verzeichnis selbst muss dann noch eine Klasse rein, die nur zu eurer eigentlichen Spielerklasse weiter leitet.

Ein Beispiel wäre:
player\MyPlayer.java
player\MyPlayer.class
player\myplayer\MyPlayer.java
player\myplayer\MyPlayer.class
player\myplayer\Hilfsklasse1.java
player\myplayer\Hilfsklasse1.class
player\myplayer\Hilfsklasse2.java
player\myplayer\Hilfsklasse2.class
player\myplayer\MyDoku.txt

Bitte schreibt eine Dokumentation zu eurem Spieler in einem freien Format (also nicht Word) und legt sie mit in das Verzeichnis von eurem Package.

Die Klasse "MyPlayer", die direkt im player-Verzeichnis liegt, ist dazu da, um das Laden der Spieler im Programm zu vereinfachen.
Sie leitet eigentlich nur auf eure richtige Spielerklasse weiter, die im Package liegt.
Die Java-Datei "Player\MyPlayer.java"sieht so aus:

public MyPlayer extends myplayer.MyPlayer {}

Kompilieren

Mit folgender Zeile könnt ihr euren Spieler aus dem player-Verzeichnis heraus zu kompilieren:

unter Windows:
javac -classpath ..\snEADy.jar;.MyPlayer.java

unter Linux:
javac -classpath ../snEADy.jar:.MyPlayer.java

Nähere Infos gibt es in der Dokumentation im Programmarchiv.

top


Dokumentation

Wir erwarten keine Romane. Bedenkt aber, dass durchaus auch ein Professor die Arbeit lesen könnte. Deshalb gibts hier einige Anhaltspunkte.
  • Euer Name (sowohl der eigene als auch der der Schlange) muss enthalten sein
  • Bitte vollständige Sätze schreiben (Stichpunkte können an manchen Stellen auch ok sein, aber nicht ausschließlich)
  • Beschreibung der eigenen Strategie
  • Was wurde umgesetzt, evtl. wie wurde es umgesetzt (z.B. eure Lieblingsmethode beschreiben)
  • Probleme die auftraten
  • Bitte Rechtschreibung/Grammatik beachten. (Textverarbeitungsprogramme helfen auch dabei)
  • Dateiformat ist zwar nicht entscheidend, eine wissenschaftliche Arbeit macht sich aber gut als pdf, ps oder html. M$-Word Dokumente sind halt etwas...verpönt.

Was wir nicht wollen/brauchen:
  • Eine Beschreibung unserer Spielumgebung
  • Eine Ausführliche Beschreibung jeder einzelnen Variable

Wir bitten darum, das zu beherzigen. Auch die Leute, die ihren Spieler schon eingesendet haben, mögen doch bitte überprüfen, ob die Kriterien erfüllt sind.

top