Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Ukon liikuttaminen (QB)

p-p [05.12.2004 22:05:51]

#

Tämmösen alun oon peliini tehny mut siin on noi ohjaukset vähä pieles...Toshan ne o ihan oikein mun mielest laitettu.Mitä vikaa tos on?

DIM x AS INTEGER, ux AS INTEGER
DIM y AS INTEGER, uy AS INTEGER

x = 10: y = 10: ux = z: uy = y
SCREEN 13
CLS
LOCATE x, y: PRINT "@"
DO
        button$ = INKEY$
        IF button$ = "w" THEN
        uy = uy - 1
        LOCATE ux, uy
        PRINT "@"
        LOCATE x, y
        PRINT " "
        x = ux
        y = uy
        END IF
        IF button$ = "s" THEN
        uy = uy + 1
        LOCATE ux, uy
        PRINT "@"
        LOCATE x, y
        PRINT " "
        x = ux
        y = uy
        END IF
        IF button$ = "a" THEN
        ux = ux - 1
        LOCATE ux, uy
        PRINT "@"
        LOCATE x, y
        PRINT " "
        x = ux
        y = uy
        END IF
        IF button$ = "d" THEN
        ux = ux + 1
        LOCATE ux, uy
        PRINT "@"
        LOCATE x, y
        PRINT " "
        x = ux
        y = uy
        END IF
        IF button$ = "q" THEN
        END
        END IF
LOOP

EDIT:Koodi tehty pitkällä tavalla...

hunajavohveli [05.12.2004 22:23:00]

#

Älä ihmeessä laita ukon piirtoa erikseen jokaiselle liikutussuunnalle, vaan ainoastaan yksi ukon piirto luupin alkuun, sitten näppäimen lukeminen, sitten ukon kumitus, ja sitten näppäimen mukaan koordinaattien muuttaminen. Kaikki tämä pitää olla luupin sisällä. Ja sitten kun luuppi kertautuu, ukko on eri paikassa.

p-p [05.12.2004 22:47:48]

#

Nyt tajusin,et mul oli x:ät ja Y:t väärinpäin... :D

DIM x AS INTEGER, ux AS INTEGER
DIM y AS INTEGER, uy AS INTEGER

x = 10: y = 10: ux = x: uy = y
SCREEN 13
CLS
LOCATE x, y: PRINT "@"
DO
button$ = INKEY$
IF button$ = "w" THEN ux = ux - 1
IF button$ = "s" THEN ux = ux + 1
IF button$ = "a" THEN uy = uy - 1
IF button$ = "d" THEN uy = uy + 1
IF button$ = "q" THEN END

IF ux <> x OR uy <> y THEN
LOCATE x, y: PRINT " "
LOCATE ux, uy: PRINT "@"
x = ux: y = uy
END IF
LOOP

Antti Laaksonen [05.12.2004 22:59:00]

#

Sinun kannattaa vielä muuttaa luettu näppäin pieneksi LCASE$-funktiolla, jotta ohjaus toimii Caps Lockin painamisen jälkeen. Ja koodin lukeminen on helpompaa sisennettynä, joten ota tavaksi sisentää se. :)

p-p [06.12.2004 12:04:54]

#

Antti Laaksonen kirjoitti:

Ja koodin lukeminen on helpompaa sisennettynä, joten ota tavaksi sisentää se. :)

Toi koodi on otettu sisennyksinee päivinee mun BAS tiedostosta mut sisennys ei näytä toimivan.Ylemmäs koodis se toimi.

GorkkiusSuuri [19.12.2004 22:31:08]

#

Ylemmässäkään koodissa sisennyksestä ei juuri ole hyötyä.

Vastaus

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

Tietoa sivustosta