Voiko q(uick)basicillä tehdä 2d peliä.
Sivultapäin kuvattu.
Jos voi niin miten? Voiko joku tehdä jonkun pienen pohjan.
Voihan sillä tehdä mutta minkälaisen?
Tasohyppelyn, puzzlen jne.?
tasohyppelyn tapaisen.
Tasohyppely? Täällä oli yksi koodivinkki tasohyppelystä...
https://www.ohjelmointiputka.net/koodivinkit/
Tuossa.
juups..
No teen "labyrintti" pelin tuolla snakarin tasohyppely pelin pohjalta.
Miten siihen saisi tehtyä semmoisen "lopetus kohdan".
Esim.
jos ukkeli menee kohtaan x niin tulee seuraava maa.
Tee sille, että ku osut johonki siirrä seuraavaan maahan!
IF X > 100 AND X < 120 AND Y > 100 AND Y < 120 THEN PRINT "Pääsit tason läpi!"
Tuosta varmaan saat pääidean selville.
En tiedä toimiiko, mutta luulis toimivan.
no kysyn vielä.
miten sen ukkelin saisi hyppäämään hieman?
olen kokeillut monella tapaa melkein koko yön mutta ei onnistu.
Noh... Tuota noin... Tämä ei kyllä ole mikään paras mutta pistä se ukkelin Y -4 vaikka ja sitten lisäät siihen kokoajan yhden lisää. Tuota on vähän hankala selittää...
Hyppäämään saat jotenki tälleen, mikäli QB:tä muistan yhtään
FOR i = 1 to 20000 Y = Y - .001 NEXT i FOR i = 1 to 20000 Y = Y + .001 NEXT i
Eli aluks Y:tä vähennetään 20 000 * 0,001 ja sitten sitä lisätään saman verran (20 pikseliä objekti liikkuu)
Jo se menee liian nopeesti/hitaasti niin lisää tota paljonko Y:tä lisätään kerrallaan ja vähennä luuppikertaa
Parempiakin tapoja varmaan on toi tuli ekana mieleen :)
Toimii varmaan muuten ihan hyvin, mutta ideana olisi, että ukkoa pystyisi liikuttamaan myös sivullepäin hypyn aikana ja ukko pitäisi myös piirtää parikymmentä kertaa tuon loopin aikana (if y mod 100 = 0 then piirraukko).
Silleen kävis, että ois arvo yspeed joka kertoo kuinka nopeasti ukko liikkuu vertikaalisesti. Sitten kun hypätään niin laitetaan esim. yspeed = -4 ja lasketaan sitten sopivassa kohdassa joka loopilla ukon uusi positio ja sitten joka loopilla pienennetään tota yspeediä vaikka 0.5. Kun se on negatiivinen, ukko tippuu. Sitten kun ollaan taas maalla, niin säädetään että yspeed = 0. Selkiskö?
Selkis, ainakin luulisin niin.
Vaikuttaa ihan toimivalta konstilta siihen, paitsi että kannattaisi ehkä käyttää xspeediä (eikös x ole vaaka-akseli? Ja jos sen avulla ollaan liikuttamassa ukkoa sivullepäin niin eikö olisi loogisempaa käyttää xspeediä?)
Mä en näe mitään hyötyä käyttää tollasta xspeed juttua, jos ukon vauhti vaaka-suunnassa ei jotenkin kiihdy. Laitat vaan jonku handlerin joka kuuntelee jos vaikka oikeelle painetaan niin x = x + jotain
Toi DSwordin esittämä yspeed systeemi on kyllä ihan kätevä.
Omassa tavassani on aika paljon samaa kuin DSwordin ideassa: On ynopeus-muuttuja, joka kuvaa pelihahmon putoamisnopeutta. Pelisilmukan sisällä hahmon y-koordinaatti lisääntyy aina ynopeuden verran, mikäli hahmo ei ole maassa. Ynopeus taas kasvaa hieman ("painovoimakiihtyvyyden" verran) joka kerta.
Normaalisti ynopeus on 0, mutta hypyn alkaessa se asetetaan negatiiviseksi. Tällöin y-koordinaattiin lisätään negatiivista arvoa, jolloin hahmo alkaa nousta ylöspäin. Ynopeus kasvaa kuitenkin kokoajan, ja pian nouseminen vaihtuu laskeutumiseksi. Lopuksi hahmo on takaisin maassa.
Eikös tuo mun esitys ole juuri sama kuin Antti Laaksosen, Antti vain selostaa asian selkeämmin.
Taitaa se muuten olla, mutta silmään pisti tuo kohta "joka loopilla pienennetään tota yspeediä vaikka 0.5" - oikeastihan yspeediä täytyy suurentaa, jottei hahmo lentäisi korkeuksiin.
Oho, siihen tuli virhe. Hyvä kun korjasit.
Aihe on jo aika vanha, joten et voi enää vastata siihen.