2017-09-17 17:06:55 +02:00
|
|
|
/**
|
|
|
|
* Diese Klasse modelliert Räume in der Welt von Zuul.
|
|
|
|
*
|
|
|
|
* Ein "Raum" repräsentiert einen Ort in der virtuellen Landschaft des
|
|
|
|
* Spiels. Ein Raum ist mit anderen Räumen über Ausgänge verbunden.
|
|
|
|
* Mögliche Ausgänge liegen im Norden, Osten, Süden und Westen.
|
|
|
|
* Für jede Richtung hält ein Raum eine Referenz auf den
|
|
|
|
* benachbarten Raum.
|
|
|
|
*
|
|
|
|
* @author Michael Kölling und David J. Barnes
|
|
|
|
* @version 31.07.2011
|
|
|
|
*/
|
2017-10-23 13:20:05 +02:00
|
|
|
public class Raum
|
|
|
|
{
|
|
|
|
public String beschreibung;
|
|
|
|
public Raum nordausgang;
|
|
|
|
public Raum suedausgang;
|
|
|
|
public Raum ostausgang;
|
|
|
|
public Raum westausgang;
|
2017-09-17 17:06:55 +02:00
|
|
|
|
2017-10-23 13:20:05 +02:00
|
|
|
/**
|
|
|
|
* Erzeuge einen Raum mit einer Beschreibung. Ein Raum
|
|
|
|
* hat anfangs keine Ausgänge.
|
|
|
|
* @param beschreibung enthält eine Beschreibung in der Form
|
|
|
|
* "in einer Küche" oder "auf einem Sportplatz".
|
|
|
|
*/
|
|
|
|
public Raum(String beschreibung)
|
|
|
|
{
|
|
|
|
this.beschreibung = beschreibung;
|
|
|
|
}
|
2017-09-17 17:06:55 +02:00
|
|
|
|
2017-10-23 13:20:05 +02:00
|
|
|
/**
|
|
|
|
* Definiere die Ausgänge dieses Raums. Jede Richtung
|
|
|
|
* führt entweder in einen anderen Raum oder ist 'null'
|
|
|
|
* (kein Ausgang).
|
|
|
|
* @param norden Der Nordausgang.
|
|
|
|
* @param osten Der Ostausgang.
|
|
|
|
* @param sueden Der Südausgang.
|
|
|
|
* @param westen Der Westausgang.
|
|
|
|
*/
|
|
|
|
public void setzeAusgaenge(Raum norden, Raum osten,
|
|
|
|
Raum sueden, Raum westen)
|
|
|
|
{
|
|
|
|
if(norden != null) {
|
|
|
|
nordausgang = norden;
|
|
|
|
}
|
|
|
|
if(osten != null) {
|
|
|
|
ostausgang = osten;
|
|
|
|
}
|
|
|
|
if(sueden != null) {
|
|
|
|
suedausgang = sueden;
|
|
|
|
}
|
|
|
|
if(westen != null) {
|
|
|
|
westausgang = westen;
|
|
|
|
}
|
|
|
|
}
|
2017-09-17 17:06:55 +02:00
|
|
|
|
2017-10-23 13:20:05 +02:00
|
|
|
/**
|
|
|
|
* @return die Beschreibung dieses Raums.
|
|
|
|
*/
|
|
|
|
public String gibBeschreibung()
|
|
|
|
{
|
|
|
|
return beschreibung;
|
|
|
|
}
|
2017-09-17 17:06:55 +02:00
|
|
|
}
|