Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB näppis

Jyri [27.09.2004 15:05:31]

#

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?

remontti-reiska [27.09.2004 15:13:51]

#

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 ;).

Blaze [27.09.2004 15:18:47]

#

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"

Antti Laaksonen [27.09.2004 15:51:37]

#

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

Jyri [27.09.2004 17:30:01]

#

Kiitti! Nyt lähti luistamaan! Ja taas koodaamaan -->

Vastaus

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

Tietoa sivustosta