Aloin tekemään tietovisaa kaverini kanssa, muuta ei saada mitenkään vastaus sydeemeitä toimiin tossa esimerkki meijän koodista:
1 :
CLS
INPUT "Annappa nimesi: ", A$
CLS
PRINT "Tervetuloa " + A$ + "!"
PRINT ""
PRINT ""
PRINT "Johdanto:"
PRINT "Seuraavassa tietovisassa tarkoituksenasi olisi saada vastattua oikein"
PRINT "kaikkiin esitettyihin kysymyksiin. Mikäli kuitenkin vastaat väärin, jou-"
PRINT "dut aloittamaan alusta."
PRINT ""
PRINT ""
PRINT "Ohjeet:"
PRINT "Ohjelma esittää sinulle 20 kysymystä. Vastaa painamalla vastausvaihto-"
PRINT "ehdon numeroa ja enteriä. Mikäli vastaat väärin ohjelma suljetaan ja"
PRINT "mikäli vastaat oikein, Sinulle esitetään seuraava kysymys. ONNEA!"
PRINT ""
PRINT ""
PRINT "Jatka painamalla enter"
INPUT v$
IF v$ = "1" THEN GOTO 2
2 :
CLS
PRINT "1. Kysymys "
PRINT "Mikä on Suomen pääkaupunki?"
PRINT ""
PRINT "1. Oslo"
PRINT "2. Helsinki"
PRINT "3. Tukholma"
INPUT v$
IF v$ = "1" THEN GOTO 4
IF v$ = "2" THEN GOTO 5
IF v$ = "3" THEN GOTO 4
4 :
CLS
PRINT "Valitettavasti vastauksesi oli väärin."
PRINT "Parempaa onnea ensi kerralla!"
PRINT ""
PRINT ""
PRINT "Paina vielä ENTER"
3 :
CLS
PRINT "2. Kysymys"
PRINT "Mikä on 'Mamba'?"
PRINT ""
PRINT "1. Rockyhtye"
PRINT "2. Valas"
PRINT "3. Koirarotu"
INPUT v$
IF v$ = "1" THEN GOTO 5
IF v$ = "2" THEN GOTO 4
IF v$ = "3" THEN GOTO 4
jne.
Tolla periaatteella me se tehtiin, mut yks vika on et visan pääsee läpi rämpyttämälle enteriä, ja tossa pääsee eteenpäinkin väärällä vastauksella...
Apuja
Loppuun goto siihen mihin pitää mennä. Eli :
3 :
CLS
PRINT "2. Kysymys"
PRINT "Mikä on 'Mamba'?"
PRINT ""
PRINT "1. Rockyhtye"
PRINT "2. Valas"
PRINT "3. Koirarotu"
INPUT v$
IF v$ = "1" THEN GOTO 5
IF v$ = "2" THEN GOTO 4
IF v$ = "3" THEN GOTO 4
GOTO 3
Eli jos vastaus ei ole 1, 2 tai 3 menee uudestaan kolmoseen... Ja tietty niihin vääriin vastauksiin loppuun GOTO 1 niin menee alkuun... Toivottavasti meni oikein, pää on pyörällä, kun menin pulkalla puuhun!
Sehän höpötti tuon ä:n... Eihän ään tuommoiseksi pitäisi muuttua edes JOULUNA!
Siis mita? Tietovisa gotoa kayttaen?? Menee liian, anteeksi vain, surkuhupaisaksi tuo tuollainen.. tehkaapas se sellaiseksi, etta yksi funktio hakee kysymykset/vastaukset tiedostosta ja toinen lukee ne naytolle, ja itse ohjelman tarvitsee vain silmukassa esittaa kysymykset, laskea pisteet ym.
Ohjelmassa on myös se vika, että se käyttää INKEY$ :tä näppiksen lukemiseen. Inkeyssä kun on se vika että napin painallus pysyy muistissa turhan pitkään. No voihan tätä hyödyntääkin joskus, mutta tälläisessa ohjelmassa ei. :)
Sori, käytittekin INPUT -käskyä... Sekosin hieman :P
Siis tuo INKEY$ tekee tuota napin pohjassa pysymistä...
BTW: Viestien muokkaus olisi kova sana. :)
Eihän sitä GOTO:a ole suositeltavaa käyttää, mutta tuohon nopeasti vastatessani en jaksanut alkaa selittämään, että koko systeemi pitäisi muuttaa, joten vastasin, miten vastasin!
~Sose~
noihin "jatka painamalla enter" kohtiin laita vaikka:
do while $inkey="":loop
sitte kannattais säätää eri systeemi tohon itse tietovisaan, vaikkapa:
print "tietovisa" print "kuka oli kekkonen?" print " 1. presidentti" print " 2. haudankaivaja" print " 3. orava" input a if a = 1 then pisteet = pisteet + 1 else print "väärin":end ' ja tähän seuraavat kysymykset..
Aihe on jo aika vanha, joten et voi enää vastata siihen.