Game On példakönyvtár: térkép
Ki ne játszott volna valamely klasszikus, mezőre osztott szerep- vagy stratégiai játékkal ifjúsága derekán? Műfaj máig népszerű, a dobókockás, az asztali 3d-s és a webes játékok között is.
Jono DiCarlo, a Mozilla munkatársa a Game On versenyhez készít példakódokat, hogy inspirálja azokat, akik eddig nem szándékoztak nevezni, és irányt mutasson azoknak, akik nem tudják, hogyan fogjanak hozzá.
Első kis könyvtára a térképkezelés alapjait valósítja meg. A pályához nem használ semmilyen egzotikus elemet: az egész egy nagy táblázat, melynek cellái a játékmezők. A karaktert a nyílbillentyűkkel terelhetjük egyik mezőről a másikra, miközben a program folyamatosan nyilvántartja, a térkép mely szelete látható épp a képernyőn, a szélső cellákhoz érve pedig frissíti a nézetet.
A dolog lelke a WorldMap
osztály, az éppen kirajzolt terület kezdőkoordinátáit a _scrollX
és _scrollY
tárolják, a scroll()
frissíti őket, ellenőrzi a határokat és meghívja a redraw()
-t. Az autoScrollToPlayer()
kiszámítja, mennyit kell görgessünk, hogy a kép követhesse a karaktert.
Mindezek mellett kész függvények állnak rendelkezésre ha korlátozni akarjuk egy mező átjárhatóságát, eseményt akarunk rendelni a rálépéshez, vagy át akarunk lépni egy másik térképre.
A kód a demóoldalon megtekinthető működés közben is.
A könyvtár MPL / GPL / LGPL hármas licenc alatt érhető el.
■
izometrikusan
http://jo-hely.hu/~aadaam/aoe/
(Hint: 2:1-es atloju rombuszokkal kell dolgozni, es akkor konnyu a matek.)