Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Roolipeli (QB)

Sivun loppuun

tgunner [20.09.2004 21:16:42]

#

Tein yksinkertaisen roolipeli tappelu esimerkin QB:llä. Mutta se valittaa useita virheitä, kuten kohdassa "IF EXP = 20" se valittaa expected ( - juttua. Miten saisin korjattua tästä täydellisen.
PS: Älkää välittäkö tuosta:
JUDOKANSAI:
CLS
PRINT ""
PRINT "JUDOMIES ISKEE HUTI!"
PRINT ""
SLEEP 2
GOTO TAISTELU2

Kohdasta. En osaa nimittäin tehdä "Random" tapahtumia.

Jos selitin epämääräisesti pistä palautetta. Kokeilen selventää :P.

--------------------------------
LEVEL = 1
LEVELLISA = 1
EXPA = 10
EXPLEVEL = 1

ALKU:
CLS
PRINT " MINNE MENET? "
PRINT ""
PRINT "1. HARJOITUS AREENALLE"
PRINT "3. STATSIT"
PRINT ""
INPUT1:
INPUT V$
IF V$ = "1" THEN GOTO HA
IF V$ = "3" THEN GOTO STATS
GOTO INPUT1

HA:
CLS
PRINT "KETA VASTAAN HALUAT TAPELLA?"
PRINT ""
PRINT "1. JUDOKANSANIA"
PRINT ""
PRINT ""
INPUT2:
INPUT V$
IF V$ = "1" THEN GOTO JUDOKANSAI
GOTO INPUT2

JUDOKANSAI:
CLS
PRINT ""
PRINT "JUDOMIES ISKEE HUTI!"
PRINT ""
SLEEP 2
GOTO TAISTELU2

TAISTELU2:
CLS
PRINT "MITA TEET?"
PRINT ""
PRINT "1. LYO"
PRINT ""
INPUT3:
INPUT V$
IF V$ = "1" THEN GOTO VOITTO
GOTO INPUT3

VOITTO:
CLS
EXPA = EXPA + EXPLISA
IF EXP = 20
THEN LEVEL = LEVEL + LEVELLISA
PRINT "LOIT VASTUSTAJALTASI NENAN RUTTUUN"
PRINT "SAIT EXPAA 10"
PRINT ""
PRINT ""
SLEEP 3
GOTO ALKU

STATS:
CLS
PRINT "LEVELISI ON:"; LEVEL
PRINT ""
PRINT "EXPAA SULLA ON:"; EXPA
PRINT ""
PRINT ""
SLEEP 5
GOTO ALKU

Metabolix [20.09.2004 21:22:18]

#

No mutta, eihän tuolla ole missään aiemmin EXP-muuttujaa, vaan EXPA. Myöskään EXPLISA-muuttujaa ei näy, joten olisiko sekin syytä määritellä alussa?

Lisäksi pieni vihje: GOTO on lopulta aika kömpelö; kannattaa opetella käyttämään SUBeja.

Ja lupuksi, viitsisitkö käyttää kooditagia, kuten lupasit aiemmassa QB-aiheessasi tehdä:

[koodi QB]
Tähän koodia
[/koodi]

Harjoitusareena on muuten yhdyssana.

tgunner [20.09.2004 21:31:23]

#

Olisin käyttänyt, mutta en osannut :D.
Kiitos tiedosta, käytän sitä ensi kerralla.

Mutta voisiko joku kertoa muuttujista. Olen aloittelija.

-OHO! Niinpäs onkin! Unohdin kokonaan EXP muuttujan!
Eijeijei

Metabolix [20.09.2004 21:38:16]

#

Apua QB:n perusteisiin löytyy kolmesta QB-oppaasta Opassivulta kohdasta Aloittelijan QBasic-opas.

tgunner [20.09.2004 21:38:52]

#

Joo, kiitos. Sain selvitettyä virheen tuossa koodissa.
En nyt tarvitse enempää tietoa, KIITOS!

hunajavohveli [20.09.2004 21:50:52]

#

lainaus:

Olisin käyttänyt, mutta en osannut :D.

No onhan ne keskustelun ohjeissa selitetty. Ja tuo homma ei toiminut, koska THEN-jatko oli toisella rivillä, eikä se saa olla.

Antti Laaksonen [21.09.2004 06:58:39]

#

Outo virheilmoitus johtui siitä, että EXP on QBasicin oma sisäinen funktio. Sen takia sitä ei voi käyttää muuttujan nimenä.

hunajavohveli [21.09.2004 14:15:53]

#

Joo, niinpäs muuten onkin, mutta tuo ei olisi siltikään toiminut, vaikka muuttujanimi olisi ollut jokin muu. Jokaisen IF-alkavan rivin perässä on oltava THEN, mutta voit toki tehdä näin:

IF EXPA = 20 THEN
LEVEL = LEVEL + LEVELLISA
END IF   'tämä on pakkollinen, jos käytetään useampaa kuin yhtä riviä, jotta tiedetään, mihin "iffaus" loppuu

Edit: Lue tosiaan ne oppaat, niistä on paljon apua.


Sivun alkuun

Vastaus

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

Tietoa sivustosta