Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB: Liikkuminen

LL [05.01.2003 19:01:56]

#

Olen tehnyt seuraavan laisen liikkumiskoodin:

DO
LINE (x, y)-STEP(10, 10), 15, BF

IF INKEY$ = "s" THEN
  LINE (x, y)-STEP(10, 10), 0, BF
   y = y + 4
  LINE (x, y)-STEP(10, 10), 15, BF
END IF

IF INKEY$ = "w" THEN
  LINE (x, y)-STEP(10, 10), 0, BF
   y = y - 4
  LINE (x, y)-STEP(10, 10), 15, BF
END IF

IF INKEY$ = "q" THEN END

IF INKEY$ = "a" THEN
  LINE (x, y)-STEP(10, 10), 0, BF
   x = x + 4
  LINE (x, y)-STEP(10, 10), 15, BF
END IF

LOOP

Ongelmana on että tuo nykii aika paljon.
Miten tuon voisi toteuttaa nykimättä?

Antti Laaksonen [05.01.2003 19:37:24]

#

Tuossa ohjelmassa on se vika, että joka kohdassa tarkastetaan eri näppäimenpainallus ja jopa 75% painalluksista jää tunnistamatta. Seuraava koodi toimii paljon paremmin, SELECT CASEa käyttäen:

SCREEN 13
LINE (x, y)-STEP(10, 10), 15, BF

DO
  SELECT CASE LCASE$(INKEY$)
  CASE "s"
    LINE (x, y)-STEP(10, 10), 0, BF
    y = y + 4
    LINE (x, y)-STEP(10, 10), 15, BF
  CASE "w"
    LINE (x, y)-STEP(10, 10), 0, BF
    y = y - 4
    LINE (x, y)-STEP(10, 10), 15, BF
  CASE "q"
    END
  CASE "a"
    LINE (x, y)-STEP(10, 10), 0, BF
    LINE (x, y)-STEP(10, 10), 0, BF
    x = x + 4
    LINE (x, y)-STEP(10, 10), 15, BF
  END SELECT
LOOP

LL [05.01.2003 20:10:41]

#

Kiitos! Nyt pyörii nopeammin...

sLVr [08.01.2003 19:57:35]

#

lainaus:

Tuossa ohjelmassa on se vika, että joka kohdassa tarkastetaan eri näppäimenpainallus ja jopa 75% painalluksista jää tunnistamatta. Seuraava koodi toimii paljon paremmin, SELECT CASEa käyttäen:

SCREEN 13
LINE (x, y)-STEP(10, 10), 15, BF

DO
  SELECT CASE LCASE$(INKEY$)
  CASE "s"
    LINE (x, y)-STEP(10, 10), 0, BF
    y = y + 4
    LINE (x, y)-STEP(10, 10), 15, BF
  CASE "w"
    LINE (x, y)-STEP(10, 10), 0, BF
    y = y - 4
    LINE (x, y)-STEP(10, 10), 15, BF
  CASE "q"
    END
  CASE "a"
    LINE (x, y)-STEP(10, 10), 0, BF
    LINE (x, y)-STEP(10, 10), 0, BF
    x = x + 4
    LINE (x, y)-STEP(10, 10), 15, BF
  END SELECT
LOOP

joo testaan vaan miten toi lainausjuttu toimii.... ;P

Vastaus

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

Tietoa sivustosta