Tässäpä qbasicille keskeneräinen matopeliesimerkki, jossa käännös asteittain, tosin astelukua suosittelen muuntamaan sopivaksi... Napit a-vasemmalle, d-oikealle, w-kasvata matoa, q-lopeta...
' tehnyt Ville Kumpulainen SCREEN 12 RANDOMIZE TIMER mato.pituus = 60 mato.kulma = 30 DIM mato.pix(999, 2) mato.vauhti = 1 mato.vari = 2 kuolema = 0 kaannos = 1 pisteet = 0 mato.pix(1, 1) = 200 mato.pix(1, 2) = 200 WHILE kuolema = 0 GOSUB nappaimisto GOSUB siirra.mato GOSUB tormays.mato.ja.reuna GOSUB piirra.mato FOR i = 0 TO 999: NEXT i WEND END piirra.mato: PSET (mato.pix(1, 1), mato.pix(1, 2)), mato.vari PSET (mato.pix(mato.pituus, 1), mato.pix(mato.pituus, 2)), 0 RETURN siirra.mato: vali.x = mato.pix(1, 1) vali.y = mato.pix(1, 2) rad.kulma = mato.kulma * (3.1415926535# / 180) mato.pix(1, 1) = mato.pix(1, 1) + SIN(rad.kulma) * mato.vauhti mato.pix(1, 2) = mato.pix(1, 2) + COS(rad.kulma) * mato.vauhti FOR i = 2 TO mato.pituus vali2.x = mato.pix(i, 1) vali2.y = mato.pix(i, 2) mato.pix(i, 1) = vali.x mato.pix(i, 2) = vali.y vali.x = vali2.x vali.y = vali2.y NEXT i RETURN tormays.mato.ja.reuna: FOR i = 7 TO mato.pituus IF INT(mato.pix(1, 1)) = INT(mato.pix(i, 1)) AND INT(mato.pix(1, 2)) = INT(mato.pix(i, 2)) THEN kuolema = 1 NEXT i IF INT(mato.pix(1, 1)) < 1 OR INT(mato.pix(1, 1)) > 639 THEN kuolema = 1 IF INT(mato.pix(1, 2)) < 1 OR INT(mato.pix(1, 2)) > 479 THEN kuolema = 1 RETURN nappaimisto: syotto$ = INKEY$ IF syotto$ = "a" THEN mato.kulma = mato.kulma + kaannos IF syotto$ = "d" THEN mato.kulma = mato.kulma - kaannos IF syotto$ = "w" THEN mato.pituus = mato.pituus + 5 IF syotto$ = "q" THEN kuolema = 1 IF mato.kulma > 359 THEN mato.kulma = 0 IF mato.kulma < 0 THEN mato.kulma = 359 RETURN
Ei toimi. Tulee pres a key to continue
QB 4.5
Jaa... omalla koneella se ainakin toimi hyvin... ja qbasiccini tais olla se 4.5. Kaannos kannattaa ehdottomasti vaihtaa johonkin 15....
Ai niin, ja kaksi viimestä if-ehtoa kannattaa korjata, elikkä:
if mato.kulma>360 then mato.kulma=mato.kulma-360
if mato.kulma<0 then mato.kulma=mato.kulma+360
Oletko sattumoisin Oulusta? Tuli vain
mieleen että tunnen yhden sen nimisen
www.sunpoint.net\~imbator
En ole Oulusta, vaan Lapinlahdelta (Lapinlahdella tarkoitan sitä Savossa sijaitsevaa käpykylää, en Helsingin mielisairaalaa ;-) ) Minulla on viimeistelyä vaille oleva valmis matopeli, josta en vielä tiedä, lähettäisinkö sen kilpailuun, kun kääntäminen ei suju. Se tulee jokatapauksessa kaikkien nähtäviksi kilpailun jälkeen ;-)
Ja vielä mainostaakseni, kuvia pelistäni löytyy osoitteesta http://koti.mbnet.fi/~vilikki/index.htm Kolmasosan matopeliin käyttämästäni ajasta olen käyttänyt sellaisen piirto-ohjelman tyylisen ohjelman tekoon, jonka aion myös julkaista kilpailun jälkeen. Seuraavaksi olisi varmaan vuorossa jäätelömatoteema.
Ja jos jollakulla on hyvä ehdotus teemaksi ennen kilpailun loppua, niin mailia vaan! Pelissä on muuten myös äänet, elikkä voi ehdottaa jotain ääntä. Ääni kuuluu, kun:
-omena syödään
-banaani syödään
-pääsee listoille
Jäätelöteemaan on luonnollisestikin tarkoitus pistää fanfaariksi jäätelöauton ääni...
Teoria toimii. Sisennyksistä tosin huomauttaisin, ja hidastustakin pitää lisätä.
Ihan hyvä vinkki ainakin minä tykkään tästä...
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!! SSSSSSSSSSSEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEIIIIIIIIII TTTTTTTTTTTTTTTTOOOOOOOOOOOOOOIIIIIIIIIIIIIMMMMMMMMMMMIIIIIIIIIIIIII!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Muuten hyvä, mutta heti aloituksessa mato osuu reunaan. mistähän mahtaisi johtua?
Aihe on jo aika vanha, joten et voi enää vastata siihen.