Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB vinkkiä etsitään...

Grey [03.02.2003 17:41:48]

#

Koetin tässä löytää Putkan vinkeistä sellaista QB vinkkiä, joka olisi tarjonnut käyttöön SUBin, jolla olisi voinut PRINTata tekstiä sotkematta taustaa. Sopivaa en kuitenkaan löytänyt. Basguruissa taisi kerran olla joku, mutta ne ovat minulta jo ajat sitten kadonneet.

Kuitenkin, olen ajatellut käyttää sitä vinkkiä SCREEN 12, ja myös SCREEN 11. Teksti mikä PRINTataan on muuttujissa. Jos joku haluaa kysyä missä sitä tulen käyttämään, kyse on GUI - projektistani, johonka olen saanut jo aikaan esim. alun kätevälle aliohjelmalle, jonka avulla saa aikaan melko yksinkertaisia ikkunoita. Niin, ja on minulla tekeillä asetustiedosto, jonka tekstejä muuttumalla voi muuttaa koko systeemin kielen ^_^

-Grey-

KemXy [03.02.2003 18:08:53]

#

On täällä nyt jonkunlainen kuitenkin. En ole kyllä itse testannut. Tämä taitaa kuitenkin olla SCREEN 13:sta.

https://www.ohjelmointiputka.net/koodivinkit/23580-qb-print-joka-ei-sotke-taustaa

Grey [03.02.2003 18:17:22]

#

Siinä joutuu asettamaan alussa SCREEN 13, ja enkä siksi sitä mene huolimaan. Varsinkin kun tuossa näyttäisi olevan jotenkin liiaksi purukumia seassa :-P

-Grey-

Antti Laaksonen [03.02.2003 18:41:52]

#

Basgurun koodipätkä lukee fontit näppärästi muistista, mutta siinä on ongelmana se, että ainoastaan ASCII-koodit 0-127 toimivat, esimerkiksi skandinaaviset merkit jäävät tämän alueen ulkopuolelle. Ehkä parempi tapa on ladata fontti taulukkoon. Tähän tarkoitukseen Dj Wolfin vinkki on ihan hyvä ja toimii myös muilla näyttötiloilla pienen jatkokehittelyn jälkeen. Tämä versio on näyttötilalle 12.

DECLARE SUB Txt (tek$, mika.x!, mika.y!, vari!)
DEFINT A-Z
CLS
SCREEN 12 'aluksi on pakko olla screen 13...
DIM SHARED kirjain(1 TO 8, 1 TO 16, 1 TO 255) AS INTEGER

'ladataan fontit muistiin
PALETTE 15, 0
FOR asciikoodi = 1 TO 255
  IF asciikoodi = 7 THEN asciikoodi = 8
  COLOR 15: LOCATE 1, 1: PRINT CHR$(asciikoodi)
  FOR y = 1 TO 16
    FOR x = 1 TO 8
      vari = POINT(x - 1, y - 1)
      kirjain(x, y, asciikoodi) = vari
    NEXT x
  NEXT y
NEXT asciikoodi
PALETTE 15, 4144959

'tyhjennetään näyttö
CLS
'sotketaan taustaa
FOR i = 1 TO 10
  LINE (RND * 200, RND * 50)-(RND * 200, RND * 50), 2
NEXT
'tulostetaan tekstiä
Txt "Tausta ei sotkeennu!", 1, 20, 15

DEFSNG A-Z
'aliohjelma tekstin tulostamiseen
SUB Txt (tek$, mika.x, mika.y, vari)
  FOR kerrat = 1 TO LEN(tek$)
    asciikoodi = ASC(MID$(tek$, kerrat, LEN(tek$)))
    FOR y = 1 TO 16
      FOR x = 1 TO 8
        IF NOT kirjain(x, y, asciikoodi) = 0 THEN
          kirjain(x, y, asciikoodi) = vari
          PSET (x + mika.x, y + mika.y), kirjain(x, y, asciikoodi)
        END IF
      NEXT x
    NEXT y
    mika.x = mika.x + 8
  NEXT kerrat
END SUB

Grey [03.02.2003 21:14:38]

#

Pienen viilailun jälkeen tuo lähti toimimaan. Nyt minulla on valikon alku SCREEN 12 (WIDTH 80, 30 saa tekstistä siedettävän kokoista). Vielä sitten toimiva valikko, ja sen jälkeen kansioikkunoiden kimppuun, ja kuvakkeiden. Tulen kyllä vielä kysymään neuvoa kuvakkeiden lataamisesta taulukkoon, mutta se sitten ajallaan ^_^

-Gey-

hotso [13.02.2003 18:24:09]

#

Lähettäkää mulle QB ohjelman teko ohjeita.PLZ!

hotso2002@luukku.com

Antti Laaksonen [13.02.2003 18:33:18]

#

Sinun on turha pyydellä joka viestiketjussa lähettämään valmiita ohjelmia tai pelejä: paitsi että niitä tuskin moni jaksaa laatia, niitä tutkimalla et kuitenkaan opi ohjelmoimaan. Ohjelmoinnin opettelu alkaa yksinkertaisista pikkuohjelmista - pelin tekeminen itse ei tule onnistumaan välttämättä edes ensimmäisenä vuonna. Anteeksi, jos olin vähän epäystävällinen.

Vastaus

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

Tietoa sivustosta