algds.contest
Interface Constants

All Known Implementing Classes:
Hamster

public abstract interface Constants

Dieses Interface dient als allgemeines Sammelbecken fuer die dem Hamster bekannten Konstanten. Es wird von Hamster implementiert und diese Werte stehen damit den Abkoemmlingen von Hamster direkt zur Verfuegung.

Author:
Christian Semrau
See Also:
Hamster

Field Summary
static int BEAMER
          Das betrachtete Feld enhaelt einen Beamer (= 4).
static int CORN
          Auf dem betrachteten Feld befindet sich Mais (= 1).
static int CORNCARRY_MAX
          Maximale Gesamtgroesse der gleichzeitig transportierbaren Koerner (= 20).
static int CORNFIELD_MAX
          Gesamtgroesse der maximal auf ein Feld passenden Koerner (= 500).
static int CORNSIZE_MAX
          Maximale Groesse der Koerner im Labyrinth (= 7).
static int DIR_EAST
          Blickrichtung ist nach Osten.
static int DIR_NORTH
          Blickrichtung ist nach Norden.
static int DIR_SOUTH
          Blickrichtung ist nach Sueden.
static int DIR_WEST
          Blickrichtung ist nach Westen.
static int EMPTY
          Das betrachtete Feld ist leer (= 0).
static int ENERGY_COLLISION
          Energieaengerung pro Kollision (= -19).
static int ENERGY_CORN
          Energieaengerung pro gefressenem Korn der Groesse 1 (= +200).
static int ENERGY_MAX
          Maximaler Energievorrat des Hamsters (= 20000).
static int ENERGY_START
          Anfaenglicher Energievorrat des Hamsters (= 4000).
static int ENERGY_STEP
          Energieaenderung pro Schritt (= -4).
static int ENERGY_TURN
          Energieaenderung pro Drehung (= -1).
static long INFINITE_LOOP
          Wartezeit in Millisekunden fuer Entscheidung ob Endlosschleife (= 3 Minuten).
static int POINTS_COLLISION
          Punkte fuer Kollision (= -20).
static int POINTS_CORN
          Punkte fuer heimgebrachte Koerner der Groesse 1 (= +30).
static int POINTS_CRASH
          Punkte fuer Absturz oder Timeout (= -5000).
static int POINTS_DIE
          Punkte fuer Verhungern (= -200).
static int POINTS_NOTHOME
          Punkte fuer Beenden ausserhalb des Heimatfeldes (= -100).
static int POINTS_STEP
          Punkte fuer einen Schritt des Hamsters (= -1).
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 (= 2).
 

Field Detail

EMPTY

public static final int EMPTY
Das betrachtete Feld ist leer (= 0). Wenn ein betrachtetes Feld leer ist, also keinen Mais und kein Beamer enthaelt und keine Wand im Blick ist, so wird EMPTY geliefert. Der Wert EMPTY kann nicht mit einem bitweisen Vergleich getestet werden, sondern direkt mit (look()==EMPTY).
See Also:
Hamster.look(), Hamster.lookCurrent()

CORN

public static final int CORN
Auf dem betrachteten Feld befindet sich Mais (= 1). Dieser Wert muss bitweise aus dem look()-Ergebnis extrahiert werden: Ein Feld enthaelt Mais, genau dann wenn der Ausdruck ((look() & CORN) != 0) true liefert.
See Also:
Hamster.look(), Hamster.lookCurrent()

WALL

public static final int WALL
Der Blick wird von einer Wand blockiert (= 2). Bitweiser Vergleich wie CORN.
See Also:
Hamster.look()

BEAMER

public static final int BEAMER
Das betrachtete Feld enhaelt einen Beamer (= 4). Bitweiser Vergleich wie CORN.
See Also:
Hamster.look(), Hamster.lookCurrent()

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, int)

CORNSIZE_MAX

public static final int CORNSIZE_MAX
Maximale Groesse der Koerner im Labyrinth (= 7). Moegliche Korngroessen sind 1,2...,MAX_CORNSIZE
See Also:
Hamster.take(int, int), Hamster.drop(int, int), Hamster.eat(int, int), Hamster.getCarriedCorn(int), Hamster.getCollectedCorn(int), Hamster.getAvailableCorn(int)

CORNFIELD_MAX

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

ENERGY_START

public static final int ENERGY_START
Anfaenglicher Energievorrat des Hamsters (= 4000).

ENERGY_MAX

public static final int ENERGY_MAX
Maximaler Energievorrat des Hamsters (= 20000).
See Also:
Hamster.eat(int, int)

ENERGY_STEP

public static final int ENERGY_STEP
Energieaenderung pro Schritt (= -4).
See Also:
Hamster.forward()

ENERGY_TURN

public static final int ENERGY_TURN
Energieaenderung pro Drehung (= -1).
See Also:
Hamster.turn(int)

ENERGY_COLLISION

public static final int ENERGY_COLLISION
Energieaengerung pro Kollision (= -19). Die Drehung zieht einen weiteren Energiepunkt ab.
See Also:
Hamster.forward()

ENERGY_CORN

public static final int ENERGY_CORN
Energieaengerung pro gefressenem Korn der Groesse 1 (= +200).
See Also:
Hamster.eat(int, int)

POINTS_CORN

public static final int POINTS_CORN
Punkte fuer heimgebrachte Koerner der Groesse 1 (= +30).
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()

POINTS_COLLISION

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

POINTS_DIE

public static final int POINTS_DIE
Punkte fuer Verhungern (= -200).
See Also:
Hamster.getPoints()

POINTS_NOTHOME

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

POINTS_CRASH

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

INFINITE_LOOP

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

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)

DIR_WEST

public static final int DIR_WEST
Blickrichtung ist nach Westen.
See Also:
Hamster.getDirection()

DIR_NORTH

public static final int DIR_NORTH
Blickrichtung ist nach Norden.
See Also:
Hamster.getDirection()

DIR_EAST

public static final int DIR_EAST
Blickrichtung ist nach Osten.
See Also:
Hamster.getDirection()

DIR_SOUTH

public static final int DIR_SOUTH
Blickrichtung ist nach Sueden.
See Also:
Hamster.getDirection()