Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB: Vanhan uusiminen

Ämppi [10.06.2003 13:30:46]

#

Selailin läpi CD - levyjäni ja löysin vanhan Qbasic tekstiseikkailun. Ryhdyin sitä heti uusimaan. Kuitenkin jämähdin samoihin ongelmiin kuin viimeksi:

1.) Kun painaa F11, tulee esille mitä tavaroita sinulla on mukana. tavarat on määritelty alussa ihan:

miekka = 0
kypara = 0
...

Mutta tässä ongelma: Kun uusi esine saadaan, niin miten tuo luku ( 0 ) nyt sitten saatin ykköseksi ( 1 ) että ohjelma tunnistaa että se on mukana ? En ole ihan kaikkea kokaillut, mutta jelpatkaa.

2.) Ongelma on aika vaikea, tiedän kyllä.
Tarkoitus olisi saada nyt tuon "esineidennäkö" tilanteen jälkeen jatkaa siitä mihin jäätiin. Kelpaako aliohjelmasta RETURN käsky ?

kaviaari [10.06.2003 15:34:35]

#

Kannattais tehdä taulukolla eli:

TYPE esine
nimi AS STRING
mukana AS INTEGER
END TYPE

DIM SHARED esineet(10) AS esine

esineet(0).nimi="miekka"
esineet(0).mukana=0

miekka=0
esinemaara=0

rem koodia...

IF komento = "ota miekka" THEN
   esineet(miekka).mukana=1
   esinemaara=esinemaara+1
   PRINT "Sait miekan!"
END IF

rem listakoodit:
PRINT "Kannat:"
FOR j=0 TO esinemaara
   IF esineet(j).mukana=1 THEN PRINT esineet(j).nimi
NEXT

Huom. bugeja voi olla =/

Antti Laaksonen [10.06.2003 17:47:18]

#

lainaus:

Tarkoitus olisi saada nyt tuon "esineidennäkö" tilanteen jälkeen jatkaa siitä mihin jäätiin. Kelpaako aliohjelmasta RETURN käsky ?

Kelpaahan se, jos teet aliohjelmat GOSUB-komennon avulla:

PRINT "Saavut majatalon ovelle."
GOSUB Esineet
PRINT "Isäntä ottaa sinut ystävällisesti vastaan."
END

Esineet:
PRINT "Sinulla on miekka, lamppu ja pullo."
RETURN

Itse suosittelen kuitenkin modernimpaa tapaa:

SUB Esineet
  PRINT "Sinulla on miekka, lamppu ja pullo."
END SUB

PRINT "Saavut majatalon ovelle."
Esineet
PRINT "Isäntä ottaa sinut ystävällisesti vastaan."

Ämppi [10.06.2003 21:37:25]

#

Ajattelinkin että selitän sen väärin. Kaikenlaista on väärin.

Elikkä tarkoitan ennemmän Kaviaarin tapaa. Pitäisi olla pätkä joka ottaisi selvä mitä esineitä on mukana.

Korjailin kaikenlaista ja kuten sanoitkin Kaviaari, sinun pätkässäsi oli jokunen virhe.

Mielestäni sen pitäisi toimia, mutta kun tuo selville otto ei saa kontaktia tuonne "ylös", niin ei näe muuttuuko mikään. Harmi

Vastaus

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

Tietoa sivustosta