Saatat ihmetellä, miksi juuri valitsin tällaisen karttamuodon. En voi sanoa, että tämä on ehdottomasti paras tapa edetä, en voi sanoa, että tämä karttamuoto luo karttoja nopeimmin tai luo pienimmän tiedostokoon. Voin vain sanoa, että parin vuoden laattapohjaisten pelien sekaisin jälkeen olen löytänyt tämän muodon parhaiten tarpeisiini. Mutta tarkastellaan muita mahdollisia tapoja säilyttää karttatietojasi.
JailBitch menetelmä
Alkuperäiset OutsideOfSociety-opetusohjelmat käyttävät hyvin yksinkertaista karttamuotoa. Se on tallennettu samalla tavalla kaksiulotteiseen taulukkoon ja jokainen numero antaa meille kehysnumeron näytettäväksi kyseisessä paikassa. Joka kerta, kun sinun pitäisi tarkistaa, onko seuraava laatta seinä (tai jotain noudettavaa, ovi tai melkein mikä tahansa), etsit numeron karttataulukosta.
Kun etsit törmäystä, määrität seiniksi (tai noutureiksi tai oviksi) laskettavan kehyksen osan. Voit esimerkiksi tehdä päätöksen ja sanoa, että kaikki laatat kehyksestä 0-100 ovat käveleviä laattoja, kaikki laatat 101-200 ovat seiniä ja laatat >200 ovat erikoislaattoja.
Kun sinulla on vähän erilaisia laattatyyppejä ja laatat eivät muutu paljon, tämä on hyvä ja helppo tapa.
Puu autiomaassa
Joissakin kartoissa on monia erilaisia laattoja, joissakin hyvin vähän. Kuvittele esimerkiksi autiomaa, jossa kilometrien ajan ei ole muuta kuin hiekkaa, ja jos olet onnekas, voit nähdä muutaman keitaan. Tai meri, on vettä ja vettä ja lisää vettä ja lopulta pieni saari.
Jos karttasi koostuu enimmäkseen samanlaisista laatoista (hiekka) ja sinulla on vain pieni vaihtelu (puut), kaksiulotteinen taulukko ei ole hyvä valinta. Se sisältää liian paljon kuollutta tietoa, nollarivejä ennen kuin jokin muu kehys ilmestyy. Tässä tapauksessa voisi olla parempi ilmoittaa kaikki ei-hiekkaobjektit erikseen ja antaa kaiken muun olla hiekkaa.
Oletetaan, että sinulla on 100×100 kartta ja siellä on 3 puuta. Voit kirjoittaa:
puut = [[23,6], [37,21], [55,345]]
Kun luot karttaa, astut puutaulukon läpi, asetat puut ja annat jokaisen toisen laatan näyttää hiekkakuvaa. Se on paljon yksinkertaisempaa kuin 100×100 kaksiulotteisen matriisin kirjoittaminen.
Tietenkin, kun teet enemmän esineitä (puita, pensaita, ruohoa, kiviä, vettä), tämä menetelmä menettää suuren osan nopeudestaan ja voi olla vaikea muistaa, mihin laatat on sijoitettu.
S, M, XXXL
Olet luultavasti kuullut maagisesta pikakuvakkeesta XML. Se on samanlainen muoto kuin HTML, joka mahdollistaa monien asioiden ilmoittamisen. Voit käyttää XML:ää karttatietojen säilyttämiseen.
Seuraava XML-kartan selitys perustuu Jobe Makarin kirjaan “Macromedia Flash MX Game Design Demystified”.
Katsotaanpa esimerkkikarttaa XML:ssä:
Tässä olemme asettanut 3×3-kartan. Ensin on otsikko “kartta”. Sitten asetetaan 3 “rivi” solmua. Jokaisessa niistä on 3 “solu” solmua.
Karttojen lataamiseen ulkoisista tiedostoista XML saattaa olla hyvä ratkaisu, koska suurin osa XML-jäsentämisestä voidaan tehdä Flash MX:n sisäänrakennetuilla toiminnoilla. Kaksiulotteisen taulukon lataaminen tekstitiedostoista ei ole niin helppoa, saat aina merkkijonon muuttujien lataamisesta ja joudut jakamaan merkkijonon taulukkoon, mikä taas on erittäin hidasta.
Voit myös nähdä XML:n haitat: se johtaa paljon suurempaan tiedostokokoon ja et saa kovin selkeää yleiskuvaa kartasta pelkällä koodia katsomalla.
Kaikissa seuraavissa esimerkeissä käytetään kaksiulotteista taulukkoa karttatietojen säilyttämiseen ja objektien luomiseen ruudulle luotaessa, kuten luvussa “Karttamuoto” on selitetty.
