Widzieliście już z pewnością wiele gier opartych na takiej zasadzie. Tym razem jednak sami spróbujmy napisać podobną. Tak jak to robiliśmy w poprzednim programie – „Spadochroniarze", nie będziemy korzystać z funkcji graficznych, różnych dla każdego mikrokomputera. Aby nasz program był uniwersalny zastosujmy tylko instrukcje PRINT.
Fragment programu od linii 530 do 680 to właśnie rysowanie – za pomocą instrukcji PRINT – jednej komnaty wraz z Kubusiem i ewentualnie ze skarbem czy fantami (rys. 1). Komnaty różnią się między sobą jedynie rozmieszczeniem wejść: gdrzwi, ddrzwi, ldrzwi, pdrzwi. Pozostaje pytanie jak nauczyć nasz komputer– w możliwie najprostszy i najkrótszy sposób – planu całego zamku. Najpierw jednak poznamy nowe pojęcie – tablica, okaże się nam bardzo przydatne.
Wyobraźmy sobie, że dla porządku postanowiliśmy wszystkie nasze notatki przechowywać na półkach (po jednej informacji na półkę). Jeśli więc teraz chcemy zapamiętać jedną rzecz np. ocenę z matematyki wystarczy nam jedna półka (rys. 2a). Jeśli jednak chcemy zanotować oceny z kilku przedmiotów wygodnie będzie skorzystać z kilku półek ustawionych obok siebie (rys. 2b). Sprawa nie komplikuje gdy postawimy umieścić tam także oceny kolegów. Oczywiście moglibyśmy po prostu przedłużyć naszą półkę, lecz byłoby trudno – na pierwszy rzut oka – domyślić się, która z ocen dotyczy którego kolegi i jakiego przedmiotu. Możemy jednak ustawić półki nieco inaczej, w kilku rzędach (rys. 2c). W pierwszym rzędzie umieścimy nasze oceny, a w następnych, kolegów. Nasze półki możemy również ustawić piętrowo. Każde piętro może np. zawierać oceny na świadectwach z kolejnych klas (rys. 2d).
Przygotowując informacje dla komputera często korzystamy z tej samej zasady. Nasze półki nazywamy w tym przypadku tablicami. Rysunek 2b ilustruje tablice jednowymiarową, rys. 2c – dwuwymiarową, natomiast rys. 2d – trójwymiarową. Oczywiście to jeszcze nie koniec. Możemy tworzyć tablice większej liczbie wymiarów ale wówczas trudniej przedstawić ich graficzną ilustrację. Tablice o czterech wymiarach możemy wyobrazić sobie tak jak to zostało przedstawione na rys. 2e (czwarty wymiar to numer kostki).
W naszym programie określimy sobie trzy dwuwymiarowe tablice (linie 20-40). W pierwszej zapiszemy czy jest wyjście z danej komnaty (o współrzędnych x,y) prowadzące do góry, w drugiej to samo tylko dla wyjścia w lewo. Trzecia będzie zawierała informacje o skarbach. Sposób określania przejść wyjaśniony jest na rys. 3. Po prostu: „1" – przejście otwarte, „0" – brak przejścia. Odpowiednie wartości zapisujemy w liniach 5000-5090 za instrukcją DATA. Będą one odczytane za pomocą instrukcji READ i wprowadzone do tablic zaraz po uruchomieniu programu (linie 100-160).
Niektórych z Was pewnie trochę zdziwiło, że zanotowaliśmy tylko górne i lewe przejścia, ale inni już się domyślili o co chodzi. Przecież prawe drzwi jakiejś komnaty są równocześnie lewymi drzwiami komnaty następnej. To samo dotyczy drzwi dolnych. Nie musimy więc zapisywać dwa razy tego samego, wystarczy tylko „zaglądnąć" do sąsiednich komnat (linie 730-740).
Teraz już chyba sami bez trudu odkryjecie resztę tajemnic tego programu. Zwróćcie uwagę na to, skąd komputer wie gdzie znajdują się skarby (i jakie!). Radzę Wam najpierw poznać zasadę działania programu a później dopiero przystąpić do wpisywania go, gdyż w innym razie najdrobniejsza pomyłka może stać się problemem nie do przebycia.
Roman Poznański
