Mapa planszy jest umieszczona w obiekcie typu theLevel i składa się z jednostek obszarów mapUnit.
Funkcja interpretująca dane z pliku mapy theLevel::buildMap( _CHAR* file ) sprawdza najpierw jaka jest długość pierwszej linii (z pominięciem linii konfiguracyjnej). Jeżeli rozmiar linii jest nieparzysty (a musi być, gdyż każdy obszar mapy reprezentowany jest dwoma znakami) funkcja zwraca komunikat o błędnym wprowadzeniu danych dla mapy. Podobnie jest w przypadku, gdy długość którejś następnej linii jest inna niż długość pierwszej. Ta funkcja sprawdza też czy istnieje w ogóle reprezentacja obszaru podana określonymi znakami.
Jednostka mapy zawiera informacje o tym co znajduje się w tym obszarze, jaki jest identyfikator podłogi i identyfikator obiektu, który znajduje się na tej podłodze (jeżeli jest). Czy określony obiekt można poruszyć, czy w ogóle można przemieścić coś na daną lokalizację, czy znajduje się na niej ruchoma platforma, itp.
Brak komentarzy:
Prześlij komentarz