Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: QB: Merkkigrafiikka tasohyppely

Megant92 [14.04.2005 15:26:07]

#

Huomasin äsken, että Hunajavohveli oli lisännyt oppaisiin merkkigrafiikka-peli-oppaan.Noh,kaivoin tämän ohjelman esille ,koska ajattelin, että joku saattaisi tarvita tätä.

'MerkkiGrafiikka TasoHyppely Moottori
DECLARE SUB game ()
DIM SHARED x, y, A$, B$, C$, d$, hyppy, ags  'näkyviin
game

SUB game
 x = 4                                'aloitus kordinaatit(yllätys yllätys):)
 y = 10
 CONST maxhyppy = 3                   'en laittanut muuttujaksi hyvästä syystä
 CONST maxpysyvyys = 1                'kuinka kauan pysyy ilmassa  huom. tippuu jos hyppy=maxhyppy
 CLS
 SCREEN 13
 SCREEN 0
 PRINT "  ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
 PRINT "  Û                    Û"     'kenttä
 PRINT "  Û         Û          Û"
 PRINT "  Û    Û       Û       Û"
 PRINT "  Û Û     Û        Û   Û"
 PRINT "  Û           Û        Û"
 PRINT "  Û    Û         Û     Û"
 PRINT "  Û      Û             Û"
 PRINT "  Û  Û       Û         Û"
 PRINT "  Û     Û      Û   Û   Û"
 PRINT "  ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
 DO
  PRINT " "
  B = SCREEN(y, x - 1)
  A = SCREEN(y, x + 1)
  C = SCREEN(y - 1, x)                      'katsoo suunnat
  e = SCREEN(y, x)
  IF e = 219 THEN y = y - 1                    'menee päälle
  d = SCREEN(y + 1, x)
  IF d = 219 THEN
   hyppy = 0                                    'kun maassa ei hyppyä
   ags = 0
  END IF
  LOCATE y, x
  PRINT CHR$(2)       'laittaa smilen ruudulle
  IF hyppy = maxhyppy THEN hyppy = 0       'kun hypätty tarpeeksi
  lyppy = hyppy
  ff = TIMER
  DO
   hghj$ = INKEY$
  LOOP UNTIL TIMER - ff > .3 OR hghj$ <> ""    'hidastusta peliin
  SELECT CASE hghj$
  CASE CHR$(0) + "M"                      'oikealle
   IF A <> 219 THEN                       'oikealla ei ole seinää?
    LOCATE y, x
    PRINT " "                             'tyhjää tilalle
    x = x + 1
   END IF
  CASE CHR$(27)                           'esc
   END
  CASE CHR$(0) + "H"                      'ylös
   IF hyppy < maxhyppy THEN                      'ettei hyppää liikaa
    IF C = 32 THEN                        'ylhäällä tyhjää
     IF d = 219 OR hyppy > 0 THEN         'alla palikka tai on hypänny aikasemmin
      LOCATE y, x
      PRINT " "
      y = y - 1
      hyppy = hyppy + 1                   'on hypännyt
     END IF
    END IF
   END IF
  CASE CHR$(0) + "K"                      'vasen
   IF B <> 219 THEN                       'tsekataan onko tyhjää
    LOCATE y, x
    PRINT " "
    x = x - 1
   END IF
  END SELECT
  LOCATE y, x                             'piirretään hahmo
  PRINT CHR$(2)
  IF d = 32 AND hyppy = 0 THEN            'tippuu
   LOCATE y, x
   PRINT " "
   y = y + 1
  END IF
  IF lyppy = hyppy AND hyppy > 0 THEN ags = ags + 1     'ei hypätty lisää
  IF ags = maxpysyvyys AND hyppy > 0 THEN
   ags = 0
   hyppy = 0                                         'tippuu
  END IF
 LOOP
END SUB

Blaze [14.04.2005 16:16:37]

#

Uhhuhh... "Merkki Grafiikka Taso Hyppely Moottori" o_O

T.M. [15.04.2005 16:08:30]

#

Yh dys sanat

Vastaus

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

Tietoa sivustosta