8.04.2016

Odwzorowanie znaków ASCII z pliku mapy na identyfikatory powierzchni

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