Olen tekemässä semmoista peliä QB:llä, mutta taas kerran.... voit jo arvatakin.... ongelma....
Mitenkä QB:llä saisi tehtyä semmoisen ohjelman, joka laskisi sekunteja 20:stä 0:laan. Eli luku 20 pienenee yhdellä joka sekunti. Ja kun luku on nollassa, hypätään GOTO:lla tai GOSUB:lla tiettyyn kohtaan.
Eikös se nollajuttu tehdä tällein:
IF ajastin < 1 THEN ajastin = 0: GOTO aikaloppui
Mutta mitenkäs se lukujen laskeminen tehdään??
Eikä siinä vielä kaikki:
Mitenkä pystyy tekemään semmosen, että ajastimen käydessä (toisin sanoen 20:ssä sekunissa) tarvitsis rämpyttää mahdollisimman monta kertaa Z-näppäintä. Jos näppäintä onnistuu rämpyttämään vaikka yli 100-kertaa, ohjelma siirtyy tiettyyn kohtaan. Eli siis kun luku 20:ntä on muuttunut nollaksi, tarkistetaan kuinka monta kertaa näppäintä on painettu, ja sen mukaan siirrytään tiettyyn kohtaan.
Suurkiitokset etukäteen!
EDIT: mitä nopeammin vastaat, sitä suuremman kiitoksen saat. Olis mainaan 'pikkusen' kiire!
EDIT:
Tai toisin sanoen:
DO UNTIL INKEY$ = CHR$(27): LOOP END
Tuo yllä oleva on ESC (CHR$(27), vai onko?), mutta mikä on CTRL tai Z. Vai onko Z vain 'z'. Entäs se [CTRL]. Mikä se on?
EDIT
Toisin sanoen...
agenttitehtava: CLS COLOR 6 PRINT "RäPYTä JO!!" TIMER ON ON TIMER(1) GOTO rampyttaminen rampyttaminen: DO UNTIL INKEY$ = CHR$(numero): LOOP DO UNTIL INKEY$ = CHR$(numero): LOOP DO UNTIL INKEY$ = CHR$(numero): LOOP DO UNTIL INKEY$ = CHR$(numero): LOOP DO UNTIL INKEY$ = CHR$(numero): LOOP DO UNTIL INKEY$ = CHR$(numero): LOOP DO UNTIL INKEY$ = CHR$(numero): LOOP DO UNTIL INKEY$ = CHR$(numero): LOOP DO UNTIL INKEY$ = CHR$(numero): LOOP GOTO onnistuipas END
...miten tota tarvii muokata?
...melko rajustikin, sanoisin. Miettisin itse koodin rakenteen hieman uusiksi; esim. seuraavalla tavalla:
DIM Aika AS INTEGER PRINT "Aloittaos..." Aika = 20 TIMER ON ON TIMER(1) GOTO Vahenna DO ' Rämpytys LOOP WHILE Aika > 0 Vahenna: Aika = Aika - 1 RETURN
kiitos. sovelsin tuota yhteen peliini: TOIMII!!
Ja Codeprofilen ei kannata ruveta pelejä tekemään, ennen kuin hallitsee QBasicin perusteet..
Pelien tekeminen kannattaa aloittaa merkkigrafiikkapeleistä Omasta mielestäni ne ovat helpoimmat tehdä..
Codeprofile kirjoitti:
Tuo yllä oleva on ESC (CHR$(27), vai onko?), mutta mikä on CTRL tai Z. Vai onko Z vain 'z'. Entäs se [CTRL]. Mikä se on?
Näppäinkoodeihin on täällä ihan oma tutustumisen arvoinen opaskin.
Heippa pojat!
Tutustumalla INP() funktioon saatte QB:ssä näppäimistöstä irti ENEMMÄN...
'esim: DO KeyCode& = INP(&H60) 'palauttaa eri arvon painettaessa/palautettaessa IF KeyCode& <> OldState& THEN LOCATE 1, 1: PRINT KeyCode&: OldState& = KeyCode& END IF LOOP UNTIL KeyCode& = 1
Aihe on jo aika vanha, joten et voi enää vastata siihen.