/** * 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 */ public class Raum { public String beschreibung; public Raum nordausgang; public Raum suedausgang; public Raum ostausgang; public Raum westausgang; /** * 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; } /** * 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; } } /** * @return die Beschreibung dieses Raums. */ public String gibBeschreibung() { return beschreibung; } }