Tässä taas n. 13kk n jälkeen aloitin QB:n ja törmäsin heti pariin tosihelppoon ongelmaan. Ensiksi kysyisin, että miten QB:ssä saa ohjattua jotain merkkiä(vaikka O) esim. nuolinäppäimillä, vai voiko mitenkään?
Sitten vielä: Luotiinko QB taulukot näin:
DIM taulukko(10, 10) AS INTEGER ?
Pystyykö tuolla tyylillä asettelemaan vaikka kirjaimen F näytön kohtaan 5,5?
Taulukko luodaan:
Dim taulukko(1 to 100) as integer
Ja talukon alkioihin voi dataa lisätä taulukon muodon mukaan näin:
taulukko[alkionnro] = 1337
ja tekstiä saa tiettyyn paikkaan käyttämällä locatea:
LOCATE x,y: Print "F"
Ensimmäistä kysymystä en rupea selittämään. Enempi QB:n perehtyneet saavat sen paremmin selitettyä. Mutta yksi keino olisi ainakin tyhjentää ruutu napin painalluksesta ja muuttaa x ja y arvoja ;).
Jyri kirjoitti:
Sitten vielä: Luotiinko QB taulukot näin:
DIM taulukko(10, 10) AS INTEGER ?
Juu.
Jyri kirjoitti:
Pystyykö tuolla tyylillä asettelemaan vaikka kirjaimen F näytön kohtaan 5,5?
(Disclaimer: en osaa QB:tä)
LOCATE 5, 5 PRINT "F"
Tässä on esimerkki merkin ohjaamisesta, törmäystarkistukset ja muut hienoudet saat tehdä itse:
'aloituskoordinaatit x% = 40: ux% = x% y% = 10: uy% = y% 'piirretään pelihahmo LOCATE y%, x%: PRINT CHR$(2) DO 'luetaan painettu näppäin n$ = INKEY$ 'liikutaan näppäimen mukaan SELECT CASE n$ CASE CHR$(0) + "P" 'alas ux% = x%: uy% = y% + 1 CASE CHR$(0) + "H" 'ylös ux% = x%: uy% = y% - 1 CASE CHR$(0) + "K" 'oikea ux% = x% - 1: uy% = y% CASE CHR$(0) + "M" 'vasen ux% = x% + 1: uy% = y% END SELECT 'piirretään pelihahmo tarpeen tullen uudestaan IF x% <> ux% OR y% <> uy% THEN LOCATE y%, x%: PRINT " " LOCATE uy%, ux%: PRINT CHR$(2) x% = ux%: y% = uy% END IF LOOP UNTIL n$ = CHR$(27)
Reiskan esimerkkiin pääsi pujahtamaan virhe. QBasicissa taulukon kohtiin viitataan tavallisilla suluilla, ei siis hakasuluilla. Korjattuna koodi on:
taulukko(alkio) = 1337
Kiitti! Nyt lähti luistamaan! Ja taas koodaamaan -->
Aihe on jo aika vanha, joten et voi enää vastata siihen.