tämä on enmsimmäinen pelini....
start: SCREEN 12 CLS RANDOMIZE TIMER x = INT(RND(20) * 600) 'pallon muuttujat y = INT(RND(20) * 400) xl = -1 'liike ja määritys yl = -1 x1 = 280 x2 = 360 'mailan muutujat y1 = 470 y2 = 470 pisteet = 0 LOCATE 15, 29 'alkutiedot COLOR 9: INPUT "anna nimesi >", nimi$ SLEEP 1 CLS LOCATE 15, 29 COLOR 4: PRINT "peli alkaa!!!!!!!!" SLEEP 2 CLS DO IF INKEY$ = "q" THEN GOTO kuolema 'pallon piirto ja liike CIRCLE (x, y), 10, 10 PAINT (x, y), 10 FOR i = 1 TO 10000 NEXT PAINT (x, y), 0 CIRCLE (x, y), 10, 0 'onko pallo melan kohalla IF x > x1 AND x < x2 THEN IF y + 10 > y2 THEN 'jos on niin... yl = -1 'vaihtaa suuntaa pisteet = pisteet + 1 END IF END IF x = x + xl y = y + yl 'kuvaruudun määritys ja kimpoaminen IF x = 630 THEN xl = -1 IF x = 10 THEN xl = 1 IF y = 470 THEN GOTO kuolema IF y = 10 THEN yl = 1 'maila ja toiminnot LINE (x1, y1)-((x2 - 10), (y2 + 10)), 3, BF l$ = INKEY$ 'vasempaan IF l$ = "j" THEN IF x1 - 10 > 0 THEN 'outoa? LINE (x1, y1)-((x2 - 10), (y2 + 10)), 0, BF x1 = x1 - 70 x2 = x2 - 70 END IF END IF 'oikeaan IF l$ = "l" THEN IF x2 + 10 < 640 THEN ' LINE (x1, y1)-((x2 - 10), (y2 + 10)), 0, BF x1 = x1 + 70 x2 = x2 + 70 END IF END IF IF l$ = "q" THEN GOTO lopetus LOOP kuolema: LOCATE 15, 29 COLOR 6: PRINT "nyt kyllä kuolit "; nimi$; SLEEP 1 LOCATE 20, 29 COLOR 2: PRINT "pisteesi on: "; pisteet SLEEP 2 CLS IF pisteet <= 10 THEN LOCATE 15, 29 COLOR 15: PRINT "YRITŽ PARANTAA "; nimi$ ELSEIF pisteet > 10 AND pisteet < 20 THEN LOCATE 15, 29 COLOR 8: PRINT "HYVŽ "; nimi$ ELSE LOCATE 15, 29 COLOR 13: PRINT "TE OLETTE LOISTAVA "; nimi$ END IF SLEEP 2 CLS LOCATE 15, 28 INPUT "pelataanko uudestaan ? k/e > ", s$ CLS IF s$ = "k" THEN GOTO start IF s$ = "e" THEN GOTO lopetus lopetus: END
antaisiko joku vinkkejä koodin optimoimiseen.
No en optimointiin nyt ihmeempiä keksi... ihan hieno koodi ensimmäiseksi peliksi. Kannattaa muuten käyttää mieluummin subeja ja funktioita kun tuota goto -rakennetta...
joo, gotot pois ja ton sais varmaan pienempään tilaan..
en jaksanu ettiä kontrolleja, mutta näyttää jopa toimivan
l$ = INKEY$ > l$ = LCASE$(INKEY$)
sori kun näitä tulee kokoajan
näppiksenluku kannattais varmaan toteuttaa suoraan portista &h60, eli näppäin=inp(&h60) ja sitten sitä näppispuskurin tyhjennystä en nyt jaksa muistaa...
Hyvä, varsinkin ensimmäiseksi peliksi.
Juu, kyllä tuo on oikein hyvä peli!
IF s$ = "k" THEN GOTO start
IF s$ = "e" THEN GOTO lopetus
??????????????????????????
IF s$ = "k" THEN CALL SUB start
IF s$ = "e" THEN CALL SUB lopetus
unohtakaa edellinen
nolo stume...
Lähellä puolivalmista ensimmäistä peliäni.
Aihe on jo aika vanha, joten et voi enää vastata siihen.