Samouczek dotyczący mapy

Samouczek dotyczący mapy ===================== > Zasady gry

Szybko nabierzesz ochoty na samodzielną eksplorację mapy Leek Wars. Ale w tym celu musisz zrozumieć, jak to działa.

Być może wydaje ci się to dziwne, a nawet skomplikowane. Jest jednak dość prosty w użyciu, gdy zrozumiesz, jak jest zorganizowany.

Geometria

!Mapa Tuto 1

Mapa gry jest w widoku izometrycznym. Więc komórki są kwadratami i widzimy je tak, jakbyśmy byli umieszczeni w rogu, trochę wysoko.

!Tuto Map Iso

Ten kąt widzenia sugeruje, że mapa jest prostokątna. Ale jeśli umieścimy to „płasko”, otrzymamy:

!Samouczek dotyczący płaskiej mapy

Mapa jest kwadratem nachylonym pod kątem 45° lub, bardziej wizualnie, w kształcie rombu.

Po umieszczeniu w znaczniku komórka na środku mapy ma współrzędne [0;0]. Rogi mapy znajdują się na współrzędnych [0;-17], [0;17], [-17;0] i [17;0].

Ze względu na kształt mapy możemy powiedzieć, że:

Z x i y współrzędne komórki i abs(), funkcja podająca wartość bezwzględną.

Suma bezwzględnych wartości współrzędnych komórki nie może przekroczyć 17. Czyli np. komórki o współrzędnych [0;18], [9;12], [-12;10 ] itd. nie istnieje.

W Leek Wars możesz pracować ze współrzędnymi komórki. Funkcje getCellX i getCellY odpowiednio podają współrzędne x i y danej komórki. Funkcja getCellFromXY działa odwrotnie i zwraca komórkę znajdującą się pod współrzędnymi przekazanymi jako parametr. Uważaj, jeśli przekażesz współrzędne poza mapą, funkcja zwróci null.

!Tuto Map Axes

Przeglądaj mapę

Na koniec może być konieczne przejrzenie całej mapy. Jednak kształt mapy sprawia, że nawigacja ze współrzędnymi jest nieco bardziej skomplikowana.

Na przykład za pomocą współrzędnych musiałbyś to zrobić:

Ale mapa ma 613 komórek, ponumerowanych od 0 do 612.

Dzięki temu możemy przeglądać komórki w znacznie prostszy i mniej kosztowny sposób w operacjach:

Kształt mapy oraz kolejność pól pozwalają uzyskać interesującą właściwość, która pozwala wydedukować komórkę na podstawie jej współrzędnych: komórkę można znaleźć dzięki formule (306 + 18 * x + 17 * y). Zatem przesunięcie o jedną jednostkę na osi x powoduje zmianę wartości komórki o 18, a przesunięcie na osi y powoduje zmianę wartości komórki o 17. Właściwość ta umożliwia zapisanie dużej liczby operacji w określonej liczbie algorytmów, ale wymaga zarządzania lewą i prawą granicą mapy: chcąc przesunąć o jedno pole, możemy przez pomyłkę uzyskać kwadrat znajdujący się naprzeciw mapy !

Podczas walk masz możliwość przeglądania numerów komórek: w opcjach musisz zaznaczyć pola _Wyświetl numery komórek_ (aby zobaczyć liczby) i _Tryb taktyczny_ (aby ukryć przeszkody).

Numery komórek

Numeracja komórek jest następująca: