Sunday 30 January 2011

Pelilogiikka ja sellainen

Koska vanhassa, vajaan puolentuhannen rivin MEMAP-moottorikokeilussa oli joku pinnanalainen bugi, aloin kirjoittamaan koko juttua alusta, pitäen huolta siitä etten vain räpellä vaan koodaan ihan ajatuksen kanssa.

Ennenkuin edes aloin väsäämään uutta versiota karttaluokasta, oli tehtävä uudestaan näyttöabstraktio ja perusobjektiluokka. Objektiluokan päälle olisi sitten helpohko kasata kartta.

Objektiluokan toteutuksen porkkana on kamera. Systeemi pitäisi toteuttaa niin, että kun kameraa liikuttaa ( .move(4,3)), koko pelimaailma käyttäytyy kuin pelimaailmaa tarkastelevaa kameraa olisi juuri siirretty 4 pikseliä oikealle ja 3 alas. Ellen aivan poro ole, tämä onnistuu antamalla objektille omat koordinaatit, ja kun piirtotarve sattuu kohdalle, sijoitetaan objekti kohtaan (kamera.x+objekti.x,kamera.y+objekti.y).

Ongelmaksi osoittautui etten ole aivan kartalla siitä miten luokkamuuttujat (static - muuttujat) toimivat C++ssa. Kääntäjästä nuo menevät ihan ylösalaisin läpi, mutta linkkeri ei tykännyt. Lopulta, kun linkkeri suolsi siansaksaansa ulos toista tuntia, lähdin iltapalalle. Huomenna olkoon parempi päivä.

No comments:

Post a Comment