Class DickwandigesLabyrinth

java.lang.Object
  extended by DickwandigesLabyrinth
All Implemented Interfaces:
LabyrinthModel

public class DickwandigesLabyrinth
extends java.lang.Object
implements LabyrinthModel

Ein Labyrinth mit dicken Waenden. Das Labyrinth wird als zweidimensionales, rechteckiges Feld von Textzeichen gespeichert.

Version:
2013-01-11
Author:
Bernd Gramlich

Constructor Summary
DickwandigesLabyrinth(int dieseSeitenlaenge)
          Konstruktor.
 
Method Summary
 void dreheNachLinks()
          Drehe Dich im Labyrinth nach links.
 void dreheNachRechts()
          Drehe Dich im Labyrinth nach rechts.
 void gehe()
          Gehe im Labyrinth einen Schritt geradeaus.
 char[][] gibLabyrinthansicht()
          Gib die aktuelle Ansicht des Labyrinths.
 int gibSchatzzahl()
          Gib die aktuelle Anzahl von Schaetzen.
 int gibSeitenlaenge()
          Nenne die Seitenlaenge der Labyrinthansicht.
 boolean istFrei()
          Pruefe, ob ein Schritt geradeaus moeglich ist.
 boolean istMarke()
          Pruefe, ob an der augenblicklichen Position eine Marke ist.
 void ladeLabyrinth(java.io.File labyrinthDatei)
          Lade das Labyrinth aus der Labyrinthdatei.
 void loescheAlsBeobachter(PositionsBeobachter b)
          Loesche einen Positionsbeobachter.
 void loescheAlsBeobachter(SchatzBeobachter b)
          Loesche einen Schatzbeobachter.
 void loescheMarke()
          Loesche die Marke an der augenblicklichen Position (sofern dort eine ist).
 void setzeMarke()
          Setze an der augenblicklichen Position eine Marke.
 void speichereAlsBeobachter(PositionsBeobachter b)
          Speichere einen Positionsbeobachter.
 void speichereAlsBeobachter(SchatzBeobachter b)
          Speichere einen Schatzbeobachter.
 boolean speichereLabyrinth(java.io.File labyrinthDatei)
          Speichere das Labyrinth in die Labyrinthdatei.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DickwandigesLabyrinth

public DickwandigesLabyrinth(int dieseSeitenlaenge)
Konstruktor. Erzeuge ein Minimallabyrinth und siehe dafuer eine Ansicht mit der genannten Seitenlaenge vor.

Method Detail

dreheNachLinks

public void dreheNachLinks()
Drehe Dich im Labyrinth nach links.

Specified by:
dreheNachLinks in interface LabyrinthModel

dreheNachRechts

public void dreheNachRechts()
Drehe Dich im Labyrinth nach rechts.

Specified by:
dreheNachRechts in interface LabyrinthModel

gehe

public void gehe()
Gehe im Labyrinth einen Schritt geradeaus.

Specified by:
gehe in interface LabyrinthModel

gibLabyrinthansicht

public char[][] gibLabyrinthansicht()
Gib die aktuelle Ansicht des Labyrinths.

Specified by:
gibLabyrinthansicht in interface LabyrinthModel

gibSchatzzahl

public int gibSchatzzahl()
Gib die aktuelle Anzahl von Schaetzen.

Specified by:
gibSchatzzahl in interface LabyrinthModel

gibSeitenlaenge

public int gibSeitenlaenge()
Nenne die Seitenlaenge der Labyrinthansicht.

Specified by:
gibSeitenlaenge in interface LabyrinthModel

istFrei

public boolean istFrei()
Pruefe, ob ein Schritt geradeaus moeglich ist. return True genau dann, wenn ein Schritt geradeaus moeglich ist.

Specified by:
istFrei in interface LabyrinthModel

istMarke

public boolean istMarke()
Pruefe, ob an der augenblicklichen Position eine Marke ist. return True genau dann, wenn eine Marke vorhanden ist.

Specified by:
istMarke in interface LabyrinthModel

ladeLabyrinth

public void ladeLabyrinth(java.io.File labyrinthDatei)
Lade das Labyrinth aus der Labyrinthdatei.

Specified by:
ladeLabyrinth in interface LabyrinthModel
Parameters:
labyrinthDatei - Die Datei, aus der das Labyrinth geladen werden soll.

loescheAlsBeobachter

public void loescheAlsBeobachter(PositionsBeobachter b)
Loesche einen Positionsbeobachter.

Specified by:
loescheAlsBeobachter in interface LabyrinthModel
Parameters:
b - Der Positionsbeobachter.

loescheAlsBeobachter

public void loescheAlsBeobachter(SchatzBeobachter b)
Loesche einen Schatzbeobachter.

Specified by:
loescheAlsBeobachter in interface LabyrinthModel
Parameters:
b - Der Schatzbeobachter.

loescheMarke

public void loescheMarke()
Loesche die Marke an der augenblicklichen Position (sofern dort eine ist).

Specified by:
loescheMarke in interface LabyrinthModel

setzeMarke

public void setzeMarke()
Setze an der augenblicklichen Position eine Marke.

Specified by:
setzeMarke in interface LabyrinthModel

speichereAlsBeobachter

public void speichereAlsBeobachter(PositionsBeobachter b)
Speichere einen Positionsbeobachter.

Specified by:
speichereAlsBeobachter in interface LabyrinthModel
Parameters:
b - Der Positionsbeobachter.

speichereAlsBeobachter

public void speichereAlsBeobachter(SchatzBeobachter b)
Speichere einen Schatzbeobachter.

Specified by:
speichereAlsBeobachter in interface LabyrinthModel
Parameters:
b - Der Schatzbeobachter.

speichereLabyrinth

public boolean speichereLabyrinth(java.io.File labyrinthDatei)
Speichere das Labyrinth in die Labyrinthdatei.

Specified by:
speichereLabyrinth in interface LabyrinthModel
Parameters:
labyrinthDatei - Die Datei, in die das Labyrinth gespeichert werden soll. return True genau dann, wenn das Speichern erfolgreich war.