Kirjoittaja: snakari
Kirjoitettu: 23.01.2003 – 23.01.2003
Tagit: pelinteko, koodi näytille, peli, vinkki
No tein nyt tämmösen. Pelissä ei voi hyppiä, mutta tippuminen ja esteinsiin osuminen on kyllä kunnossa. Koodi ei ole mitään parasta (gotoakin jouduin kerran käyttämään :).
Vinkkiä saa käyttää niin paljon kuin haluaa ja tekijän nimeä ei tarvitse mainita.
Toivottavasti tästä on jollekkin hyötyä :)
DECLARE SUB hidaste ()
SCREEN 13
ukkoy = 7 '\ ukon leveydet
ukkox = 7 '/
alkuy = 0 '\ ukon aloitus kohdat
alkux = 0 '/
DIM SHARED ukko(ukkoy, ukkox) AS INTEGER
' luetaan ukko
FOR y = 1 TO ukkoy
FOR x = 1 TO ukkox
READ ukko(y, x)
NEXT
NEXT
' piirretään kenttä
' taustan tulee olla musta (väri 0)
FOR y = 8 TO 199 STEP 8
IF NOT INT(y / 2 / 8) = y / 2 / 8 THEN
LINE (0, y)-(310, y), 15
ELSE
LINE (10, y)-(319, y), 15
END IF
NEXT
DO
DO
' piirretään ukko
FOR y = 1 TO ukkox
FOR x = 1 TO ukkoy
PSET (alkux + x - 1, alkuy + y - 1), ukko(y, x)
NEXT
NEXT
' onko ukon alla maata
FOR x = 1 TO ukkox
IF POINT(x + alkux - 1, alkuy + ukkoy) > 0 THEN EXIT DO
NEXT
alkuy = alkuy + 1
hidaste
' tyhjennetään vanha ukko
FOR y = 1 TO ukkox
FOR x = 1 TO ukkoy
PSET (alkux + x - 1, alkuy + y - 2), 0
NEXT
NEXT
LOOP
DO: nappain$ = UCASE$(INKEY$): LOOP UNTIL nappain$ <> ""
SELECT CASE nappain$
CASE CHR$(0) + "M"
' liikutetaan ukkoa eteenpäin
IF NOT alkux > 319 - ukkox - 1 THEN
' tarkistetaan osuuko ukko johonkin
FOR y = 1 TO ukkoy
IF POINT(alkux + ukkox, y + alkuy - 1) > 0 THEN GOTO 666
NEXT
alkux = alkux + 1
' tyhjennetään vanha ukko
FOR y = 1 TO ukkox
FOR x = 1 TO ukkoy
PSET (alkux + x - 2, alkuy + y - 1), 0
NEXT
NEXT
END IF
CASE CHR$(0) + "K"
' liikutetaan ukkoa taaksepäin
IF NOT alkux < 1 THEN
' tarkistetaan osuuko ukko johonkin
FOR y = 1 TO ukkoy
IF POINT(alkux - 1, y + alkuy - 1) > 0 THEN GOTO 666
NEXT
alkux = alkux - 1
' tyhjennetään vanha ukko
FOR y = 1 TO ukkox
FOR x = 1 TO ukkoy
PSET (alkux + x, alkuy + y - 1), 0
NEXT
NEXT
END IF
CASE CHR$(27)
END
END SELECT
666 :
LOOP
' ukko datana
DATA 0,0,0,12,0,0,0
DATA 0,12,12,0,12,12,0
DATA 12,0,0,0,0,0,12
DATA 12,0,4,0,4,0,12
DATA 12,0,0,0,0,0,12
DATA 0,12,12,0,12,12,0
DATA 0,0,0,12,0,0,0
SUB hidaste
' homma hidastaa :)
a = TIMER
DO: LOOP UNTIL TIMER - a > .01
END SUBKommentteja, kiitos
Ihme esimerkki :) Kyllä tuosta jollekkin on hyötyä (!)
Kiitti!! Tosta on tosi paljon hyötyä!...
...paitsi, että miten saa ukon hyppimään???
no sun pitää vähentää alkuytä ja sit tehdä tarkistus osuuko sen pää seinään.
Tosi mahtava!
Hyvä! ;)
no jaa, aika hidas on, mutta mutta.. hyvin on koodattu. itse en tollaista osaisi :P
Tässä on yksi todiste siitä, ettei Quick Basic ole kunnollisten pelien tekemiseen. Kyllä tämä kuitenkin melko hyvä QB peliksi on, tai no... pelin aluksi.
mitenniin todiste? kyllähän tuo toimii ;)
Pitääkö tänne postata joka ikinen keskeneräinen sorsanpätkä?
tietty :)
ja sitä paitti en tehny tätä ittelleni vaan johonkin keskustelun vastaukseen.
Tämä oli avuksi.
Eks vois laittaa jonkinmoisen "16"-värin jonka kohalla se ei ollenkaan pistäis mitään pistettä siihen?
Muuten hyvä esimerkki, hieno tausta ja monimutkasempi DATAan sijotettava taso vaan puuttuu.
-The PC-Master-
miksi kaikki valittaa keskeneräsistä ohjelmista taikka peleistä jne...
mun mielestäni on taas hyvä että jotkut on kesken koska niistä voi oppia uutta kun itse yrittää tehdä jonkun jutun loppuun
eihän se aina oo hyvä että kaikki on valmista silloin et opi esimerkiksi mitään mutta jos haluat oppia kannattaa kopsaa joku systeemi joka on vielä vaikka kesken jotta voit itse miettiä erilaisia ratkaisu vaihtoehtoja
vaikka kyllä pitää myös olla valmiita ohjelmia sekä pelejä koska niistäkin voi oppia itse en ennen edes tiennyt miten gotoa voisi välttää :D
vaikka nykyään käytän harvemmin gotoa (onneksi)
senkin opin vain jostain pelistä joka ei ollut valmis ja jossa oli käytetty älypaljon gotoa aloin miettimään miten sen voisin korjata ja nykyään se onnistuu
eli:
älkää aina valitakko keskeneräisistä töistä
niistä on aina hyötyä jollekkin
jos ei muille niin sitten edes aloittelijoille jotka saavat vaikutteita ja oppivat hyvän tavan koodaa...
jne...
AAMEN!!!
oisko tästä valmista bassia jossakin?
Ei tota oikeestaan peliksi voi sanoa, kun ei oo mitään pisteitä tai örkkejä tms. Mutta koodaus on hyvä, ainakin minunlaisen alottelijan mielestä...
Tosi kiva, mutta vauhtia voisit vähän lisätä.
Hyppimisenkin aion varmaan laittaa.
Mä olisin teheny erilailla, mutta kyllä tuo toimii. Vähä hiras
verrrrry nic