Class Room

java.lang.Object
  extended byRoom

class Room
extends java.lang.Object

Class Room - popisuje jednotlivou místnost ve hře Tato třída je součástí hry Zork - jednoduché textové hry. "Room" reprezentuje jedno místo (místnost, prostor, ..) ve scénáři hry. Místnost může mít sousední místnosti připojené přes východy. Pro každý východ si místnost ukládá odkaz na sousedící místnost (instanci třídy Room).


Constructor Summary
Room(java.lang.String name, java.lang.String description)
          Vytvoření místnosti (pojmenovaný prostor) se zadaným popisem, např.
 
Method Summary
 boolean equals(java.lang.Object o)
          Metoda equals pro porovnání dvou místností.
 java.lang.String getName()
          Vrací jméno místnosti (bylo zadáno při vytváření místnosti jako parametr konstruktoru)
 java.lang.String longDescription()
          Vrací "dlouhý" popis místnosti, který může vypadat následovně: You are in the kitchen.
 Room nextRoom(java.lang.String direction)
          Vrací místnost, která sousedí s aktuální místností a jejíž jméno je zadáno jako parametr.
 void setExit(Room soused)
          Definuje východ z místnosti (sousední místnost).
 java.lang.String shortDescription()
          Vrací popis místnosti (byl zadán při vytváření místnosti jako parametr konstruktoru
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Room

public Room(java.lang.String name,
            java.lang.String description)
Vytvoření místnosti (pojmenovaný prostor) se zadaným popisem, např. "kuchyň", "hala", "trávník před domem"

Parameters:
name - Jméno místnosti, jednoznačný identifikátor, pokud možno jedno slovo
description - Popis místnosti.
Method Detail

setExit

public void setExit(Room soused)
Definuje východ z místnosti (sousední místnost). Vzhledem k tomu, že je použit Set pro uložení východů, může být sousední místnost uvedena pouze jednou (tj. nelze mít dvoje dveře do stejnéh sousední místnosti). Druhé zadání stejné místnosti tiše přepíše předchozí zadání (neobjeví se žádné chybové hlášení). Lze zadat též cestu ze do sebe sama.


equals

public boolean equals(java.lang.Object o)
Metoda equals pro porovnání dvou místností. Překrývá se metoda equals ze třídy Object. Dvě místnosti jsou shodné, pokud mají stejné jméno. Tato metoda je důležitá z hlediska správného fungování seznamu místností (Set). Bližší popis metody equals je u třídy Object.

Parameters:
o - object, který se má porovnávat s aktuálním
Returns:
hodnotu true, pokud zadaná místnost má stejné jméno, jinak false

getName

public java.lang.String getName()
Vrací jméno místnosti (bylo zadáno při vytváření místnosti jako parametr konstruktoru)

Returns:
Jméno místnosti

shortDescription

public java.lang.String shortDescription()
Vrací popis místnosti (byl zadán při vytváření místnosti jako parametr konstruktoru

Returns:
Popis místnosti

longDescription

public java.lang.String longDescription()
Vrací "dlouhý" popis místnosti, který může vypadat následovně: You are in the kitchen. Exits: lab outside

Returns:
Dlouhý popis místnosti

nextRoom

public Room nextRoom(java.lang.String direction)
Vrací místnost, která sousedí s aktuální místností a jejíž jméno je zadáno jako parametr. Pokud místnost s udaným jménem nesousedí s aktuální místností, vrací se hodnota null.

Parameters:
direction - Jméno sousední místnosti (východu)
Returns:
Místnost, která se nachází za příslušným východem, nebo hodnota null, pokud místnost zadaného jména není sousedem.