Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: matopeli

Sivun loppuun

BlueByte [17.06.2004 23:45:48]

#

voisiko joku heittää hiukan teoriaa miten tehdä semmoinen matopeli jossa voisi kääntyille ei siis semmoinen neliömöinen käkkärämömmö vaan semmonen taktinen te tiedätte kyllä

Metabolix [17.06.2004 23:58:16]

#

Jollain sinillä ja cosinilla joudut kaiketi laskemaan montako pikseliä mato liikkuu minnekin päin... Pidä muistissa asteluku, muuta sitä jos nuolia pidetään pohjassa jne... Graafinen toteutus itseäni lähinnä huolestuttaisi.
Voin joku päivä tehdä sellaisen ja kertoa sitten :D

Mitä kieltä käytät?

BlueByte [18.06.2004 00:39:53]

#

öö, graafisessa ei tuskin mitään vaikeuksia ja olen miettinyt noita kulmia jonkinverran, että luulen osaavani. Ongelmat ovat: madon liikkuminen (miten pidän muistissa missä se on) ja törmäystarkistus

niin ja kieli on C++ ja käytän SDL kirjastoja

Metabolix [18.06.2004 01:07:31]

#

Ratkaisuni ovat outoja, joten älä pelästy jos et ymmärrä... :D

Madon sijainniksi voi laittaa ihan vaan koordinaatit, joissa sen pää on, tallentaa ne joka hetki ja laittaa madon toisen pään kulkemaan samaa reittiä sopivalla viiveellä.
Itse tykkään Windowsin messageista niin paljon, että voisi tallentaa kaikki WM_KEYDOWNit ja lähettää jonkin ajan päästä WM_USER-viestin jonka wParam olisi se aiempi viesti ja laittaa ne kääntämään madon peräpään kulkua samalla lailla. Tässä siis madon toinen pää olisi pyyhekumina.

Törmäyksen voisi tehdä graafisella puolella: katsotaan ne pikselit, jotka mato seuraavaksi peittäisi, jos jokun niistä on madon värinen (tai erivärinen kuin tausta), mato törmää.

BlueByte [18.06.2004 01:12:24]

#

nojaa, enköhän keksi ihan itse parempia ideoita. muutenkin tämän tulee vain linuxille :)

Metabolix [18.06.2004 01:20:07]

#

Mitä?!? Haukutsämunideoita?! Kohta mä teen sen matopelin, sit katotaan kuka saa "parempia ideoita" :P. Mun tetris-kloonini toimii (menee kyllä alhaalta ylös päin) ja siinä on suunnilleen yhtä outo toteutus... palikka on Boolean-taulukko. :P

Antti Laaksonen [18.06.2004 01:31:31]

#

BlueByte kirjoitti:

Ongelmat ovat: madon liikkuminen (miten pidän muistissa missä se on) ja törmäystarkistus

Madon osien paikat voi tallentaa ihan tavalliseen taulukkoon, jonka koko on madon maksimipituus. Joka kerta taulukkoon lisätään uusi paikka ja viimeinen otetaan pois. Kannattaa kuitenkin tehdä niin, että lisäys- ja poistokohta on liikkuva, jotta kaikkia taulukon alkioita ei tarvitse aina siirrellä.

Törmäystarkistus tosiaan onnistuu hyvin kuvasta katsomalla. Jos se ei ole mahdollista, niin sitten pitää käydä kaikkien madon osien paikat läpi.

BlueByte [18.06.2004 02:14:52]

#

Juu, no eiköhän tästä ollut jo tarpeeksi apua. Kiitos.

mikko [18.06.2004 09:22:12]

#

https://www.ohjelmointiputka.net/keskustelu/5496-gdiworm
Olisiko tuosta apua?

Metabolix [18.06.2004 10:02:18]

#

Nimenomaan tuollaista hän käsittääkseni EI halunnut tehdä.

sooda [18.06.2004 10:16:44]

#

Njoh, pidä muistissa madon kääntymisaste(0-360) ja nopeus, ja sitten aina kun matoa siirretään niin siirrät sitä yksinkertaisesti

madon_x += nopeus * cos(kääntymisaste * pi / 180)
madon_y += nopeus * sin(kääntymisaste * pi / 180)

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta