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
LOOPEDIT:Koodi tehty pitkällä tavalla...
Ä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.
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
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. :)
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.
Ylemmässäkään koodissa sisennyksestä ei juuri ole hyötyä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.