Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: QB: pallopeli

Sivun loppuun

Jamppa [07.10.2002 22:04:05]

#

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

Jamppa [08.10.2002 09:10:46]

#

antaisiko joku vinkkejä koodin optimoimiseen.

Vilikki [08.10.2002 14:39:31]

#

No en optimointiin nyt ihmeempiä keksi... ihan hieno koodi ensimmäiseksi peliksi. Kannattaa muuten käyttää mieluummin subeja ja funktioita kun tuota goto -rakennetta...

snakari [08.10.2002 16:06:45]

#

joo, gotot pois ja ton sais varmaan pienempään tilaan..

snakari [08.10.2002 16:55:55]

#

en jaksanu ettiä kontrolleja, mutta näyttää jopa toimivan

snakari [08.10.2002 16:56:46]

#

l$ = INKEY$ > l$ = LCASE$(INKEY$)
sori kun näitä tulee kokoajan

Jogge [08.10.2002 17:05:21]

#

näppiksenluku kannattais varmaan toteuttaa suoraan portista &h60, eli näppäin=inp(&h60) ja sitten sitä näppispuskurin tyhjennystä en nyt jaksa muistaa...

KimmoKM [08.10.2002 18:14:14]

#

Hyvä, varsinkin ensimmäiseksi peliksi.

tuobbi-89 [31.10.2002 20:39:08]

#

Juu, kyllä tuo on oikein hyvä peli!

Stume [21.01.2004 18:13:35]

#

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

Stume [06.03.2004 20:58:01]

#

unohtakaa edellinen


nolo stume...

Kipperi [09.02.2005 17:49:38]

#

Lähellä puolivalmista ensimmäistä peliäni.


Sivun alkuun

Vastaus

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

Tietoa sivustosta