algds.c2002
Interface Constants

All Known Implementing Classes:
Hamster

public interface Constants

Die Konstanten, die der Hamster kennen soll. Wenn ihr noch zusaetzliche Klassen braucht, die die Konstanten verwenden, empfiehlt es sich, einfach das Interface Constants zu implementieren.

Zurueck zur Wettbewerbsseite.


Field Summary
static int CLIFFDOWN
          Zwischen diesem und dem betrachteten Feld liegt ein steiler Abhang (es gehts runter), den der Hamster zwar hinunter, aber nicht wieder herauf kommt.
static int CLIFFUP
          Zwischen diesem und dem betrachteten Feld liegt ein steiler Abhang (es gehts rauf), den der Hamster nicht hinauf kommt, aber von der anderen Seite herunter kaeme.
static int CORN
          Auf dem betrachteten Feld befindet sich Mais.
static int CORNCARRY_MAX
          Maximale Gesamtgroesse der gleichzeitig transportierbaren Koerner (= 20).
static int CORNFIELD_MAX
          Gesamtgroesse der maximal auf ein Feld passenden Koerner (= 100).
static int CORNMASK
          Filtermaske fuer Korninformationen.
static long INFINITE_LOOP
          Wartezeit in Millisekunden fuer Entscheidung ob Endlosschleife (= 3 Minuten).
static int MAZELENGTH_MAX
          Maximale Seitenlaenge eines Labyrinths (= 30).
static int POINTS_COLLISION
          Punkte fuer Kollision (= -200).
static int POINTS_CORN
          Punkte fuer heimgebrachte Koerner (= +10).
static int POINTS_CRASH
          Punkte fuer Absturz oder Timeout (= -3000).
static int POINTS_LOWERBOUND
          Untere Grenze fuer die erreichbare Punktzahl (= -10000).
static int POINTS_NOTHOME
          Punkte fuer Beenden ausserhalb des Heimatfeldes (= -1000).
static int POINTS_STEP
          Punkte fuer einen Schritt des Hamsters (= -1).
static int SLOPEDOWN
          Zwischen diesem und dem betrachteten Feld liegt ein flacher Abhang (es gehts runter), den der Hamster sowohl hinunter, als auch wieder herauf kommt.
static int SLOPEUP
          Zwischen diesem und dem betrachteten Feld liegt ein flacher Abhang (es gehts rauf), den der Hamster sowohl hinauf, als auch wieder herunter kommt.
static long TOTAL_RUNTIME
          Zeit in Millisekunden fuer den gesamten Durchlauf durch ein Labyrinth (= 120 Minuten).
static int TURN_LEFT
          Nach Links drehen.
static int TURN_RIGHT
          Nach Rechts drehen.
static int WALL
          Der Blick wird von einer Wand blockiert.
static int WALLMASK
          Filtermaske fuer Wandinformationen.
 

Field Detail

CLIFFDOWN

public static final int CLIFFDOWN
Zwischen diesem und dem betrachteten Feld liegt ein steiler Abhang (es gehts runter), den der Hamster zwar hinunter, aber nicht wieder herauf kommt. Bitweiser Vergleich: (((lookForward() & WALLMASK) == CLIFFDOWN))
See Also:
Hamster2.lookForward()

CLIFFUP

public static final int CLIFFUP
Zwischen diesem und dem betrachteten Feld liegt ein steiler Abhang (es gehts rauf), den der Hamster nicht hinauf kommt, aber von der anderen Seite herunter kaeme. Bitweiser Vergleich: (((lookForward() & WALLMASK) == CLIFFUP))
See Also:
Hamster2.lookForward()

CORN

public static final int CORN
Auf dem betrachteten Feld befindet sich Mais. Dieser Wert muss bitweise aus dem look()-Ergebnis extrahiert werden: Ein Feld enthaelt Mais, genau dann wenn der bitweise Vergleich ((lookHere() & CORNMASK) == CORN) true liefert (analog fuer lookForward()).

Es kann sein, dass von den look-Methoden in zukuenftigen Versionen noch weitere Informationen zurueckgegeben werden, daher sollte man keinesfalls die Werte direkt vergleichen, sondern stets bitweise.

See Also:
Hamster.lookHere(), Hamster.lookForward()

CORNCARRY_MAX

public static final int CORNCARRY_MAX
Maximale Gesamtgroesse der gleichzeitig transportierbaren Koerner (= 20). Sozusagen das "Backenvolumen" des Hamsters.
See Also:
Hamster.take(int)

CORNFIELD_MAX

public static final int CORNFIELD_MAX
Gesamtgroesse der maximal auf ein Feld passenden Koerner (= 100). Die einzige Ausnahme von der Platzbeschraenkung ist das Heimatfeld.
See Also:
Hamster.dropHere(int), Hamster2.dropForward(int)

CORNMASK

public static final int CORNMASK
Filtermaske fuer Korninformationen.
See Also:
CORN

INFINITE_LOOP

public static final long INFINITE_LOOP
Wartezeit in Millisekunden fuer Entscheidung ob Endlosschleife (= 3 Minuten). Wenn innerhalb dieser Zeit nicht die Methode Hamster.forward() aufgerufen wird, dann wird der Lauf beendet und der Hamster mit POINTS_CRASH Punkten bestraft.

MAZELENGTH_MAX

public static final int MAZELENGTH_MAX
Maximale Seitenlaenge eines Labyrinths (= 30).

POINTS_COLLISION

public static final int POINTS_COLLISION
Punkte fuer Kollision (= -200).
See Also:
Hamster.forward(), Hamster.getPoints()

POINTS_CORN

public static final int POINTS_CORN
Punkte fuer heimgebrachte Koerner (= +10).
See Also:
Hamster.getPoints()

POINTS_CRASH

public static final int POINTS_CRASH
Punkte fuer Absturz oder Timeout (= -3000).
See Also:
Hamster.getPoints()

POINTS_LOWERBOUND

public static final int POINTS_LOWERBOUND
Untere Grenze fuer die erreichbare Punktzahl (= -10000).
See Also:
Hamster.getPoints()

POINTS_NOTHOME

public static final int POINTS_NOTHOME
Punkte fuer Beenden ausserhalb des Heimatfeldes (= -1000).
See Also:
Hamster.getPoints()

POINTS_STEP

public static final int POINTS_STEP
Punkte fuer einen Schritt des Hamsters (= -1).
See Also:
Hamster.forward(), Hamster.getPoints()

SLOPEDOWN

public static final int SLOPEDOWN
Zwischen diesem und dem betrachteten Feld liegt ein flacher Abhang (es gehts runter), den der Hamster sowohl hinunter, als auch wieder herauf kommt. Bitweiser Vergleich: (((lookForward() & WALLMASK) == SLOPEDOWN))
See Also:
Hamster2.lookForward()

SLOPEUP

public static final int SLOPEUP
Zwischen diesem und dem betrachteten Feld liegt ein flacher Abhang (es gehts rauf), den der Hamster sowohl hinauf, als auch wieder herunter kommt. Bitweiser Vergleich: (((lookForward() & WALLMASK) == SLOPEUP))
See Also:
Hamster2.lookForward()

TOTAL_RUNTIME

public static final long TOTAL_RUNTIME
Zeit in Millisekunden fuer den gesamten Durchlauf durch ein Labyrinth (= 120 Minuten). Wenn innerhalb dieser Zeit der Lauf nicht beendet ist, dann wird der Lauf beendet und der Hamster mit POINTS_CRASH Punkten bestraft.

TURN_LEFT

public static final int TURN_LEFT
Nach Links drehen.
See Also:
Hamster.turn(int)

TURN_RIGHT

public static final int TURN_RIGHT
Nach Rechts drehen.
See Also:
Hamster.turn(int)

WALL

public static final int WALL
Der Blick wird von einer Wand blockiert. Dieser Wert muss bitweise aus dem look()-Ergebnis extrahiert werden: In Blickrichtung liegt eine Wand, genau dann wenn der bitweise Vergleich ((lookForward() & WALLMASK) == WALL) true ergibt.
See Also:
Hamster.lookForward()

WALLMASK

public static final int WALLMASK
Filtermaske fuer Wandinformationen.
See Also:
WALL, CLIFFDOWN, CLIFFUP, SLOPEDOWN, SLOPEUP