Olen tekemässä matopeliä, jossa mato voi liikkua jokaiseen suuntaan. Madon osasten liike on tällä hetkellä toteutettu niin, että madon koordinaatit tallennetaan vektoriin jokaisella liikkumiskerralla - ja luetaan sieltä myöhemmin esim.
LiikutaOsaa(vektori_madon_koordinaatit[madon_osa * 10]);
Tämä toimii "hyvin". Mutta kun madon liikkuminen tehdään niin, että se suhteutetaan koneen nopeuteen, jotta mato liikkuu joka koneella samaa nopeutta - tulee ongelmia. Madon välit ovat erikoneilla eri pituiset. Olisiko tähän parempaa tapaa kun (vektoripurkka), vai pitääkö tätä muokata toivimammaksi?
Nopeana heittona tarjoaisin sellaista, että tallennat vektoriisi vektoreita.
Olkoon tietorakenne mikä tahansa (tässä tapauksessa vektori) niin pistä sinne 2 uloitteisia vektoreita(matemaattinen vektori).
Madon tietojäseniksi sijainti, liikevektori ja lista osien "koordinaateista" suhteutettuna sijaintiin(suom. vektoreita).
Tarkasti ja selkeästi selittäminen aiheuttaa hankalaa tekstiä.
Voisitkos valaista minua pienoisella koodintuhrauksella? :)
https://www.ohjelmointiputka.net/keskustelu/
https://www.ohjelmointiputka.net/keskustelu/
https://www.ohjelmointiputka.net/keskustelu/8095-peliohjaus-cpp-lla
https://www.ohjelmointiputka.net/keskustelu/
Ehkäpä noilla pääset alkuun.
Aihe on jo aika vanha, joten et voi enää vastata siihen.