Mikä täs koodis on vikana.
FOR maara = 1 TO 2
FOR y = 1 TO 5
FOR x = 1 TO 5
READ a
IF a = 1 THEN PSET (x, y)
NEXT x
NEXT y
GET (1, 1)-(5, 5), fontti(maara)
CLS
NEXT maara
CLS
PUT (3, 1), fontti(1)
PUT (13, 1), fontti(2)
'A
DATA 0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0,
DATA 1,1,1,1,0,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,1,1,1,
Toi eka kirjain näyttää oudolta. Missä vika?
lainaus:
Mikä täs koodis on vikana.
Ei koodissa mitään vikaa ole. Nyt on vain niin, että QB:ssä ei pysty GET:llä tallentamaan kuvia taulukkoon jossa on monta solua. Tätä _EN_ sano 100% varmaksi tiedoksi joten jos joku tietää miten monta kuvaa saa samaan taulukkoon, kertokoon sen täällä.
Eli mikäli yo. väittämäni on oikein joudut tekemään jokaiselle kirjaimelle oman taulukon (esim. Fontti_A, Fontti_B jne) ja lukemaan kuvat niihin.
Mutta kuten kerroin en ole 100%:n varma tästä.
PS. Ohjelmointiputkan koodi-tageja kannattaisi käyttää koodilistauksien näytössä: https://www.ohjelmointiputka.net/ohje.php?tunnus=kohjeet
FOR maara = 1 TO 2 FOR y = 1 TO 5 FOR x = 1 TO 5 READ a IF a = 1 THEN PSET (x, y) NEXT x NEXT y GET (1, 1)-(5, 5), fontti(maara) CLS NEXT maara CLS PUT (3, 1), fontti(1) PUT (13, 1), fontti(2) 'A DATA 0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0,1 DATA 1,1,1,1,0,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,1,1,1,0
Itse en ole ainakaan koskaan onnistunut saamaan useampaa GET-kuvaa yhteen taulukkoon. Mutta jos kuvia on paljon ja ne ovat suhteellisen pieniä, ne kannattaa tallentaa taulukkoon piste kerrallaan ja piirtää ne sieltä PSET:illä.
oisko mahdollista jos tietäis paljo yks kirjain tarvii tilaa esim. A veis 10 paikkaa ja sit laitettas toinen kirjain paikalle 11
lainaus:
oisko mahdollista jos tietäis paljo yks kirjain tarvii tilaa esim. A veis 10 paikkaa ja sit laitettas toinen kirjain paikalle 11
Selitäpä hieman tarkemmin mitä oikein tarkoitat tuolla?
Mutta mikset pyöräytä tuota koodia toimimaan toisinpäin? Eli niin, että taulukon eri soluissa on nuo DATA lauseet tähän tyyliin:
fontti(1) = "0111010001100011111110001"
fontti(2) = "1111010001111101000111110"
Sitten vain luet taulukkoa merkki kerrallaan ja piirrät ne PSET:llä näyttöön (niin kuin Anttikin ehdotti)
lainaus:
Selitäpä hieman tarkemmin mitä oikein tarkoitat tuolla?
Eli kaikki kuvat tarvii tietyn määrän noit soluja. Mitä suurempi kuva sitä enemmän se tarvii soluja. Eli jos oletetaan iso tarvii 200 soluu ja pien 100 soluu niin voiks laittaa ekan kuvan 0-100 soluihin ja toisen kuvan soluihin 100-200.
esim.
dim kuva(200) line (1,1)-(5,5),1,bf get (1,1)-(5,5), kuva(1) cls line (1,1)-(5,5),2,bf get (1,1)-(5,5), kuva(100)
lainaus:
Eli jos oletetaan iso tarvii 200 soluu ja pien 100 soluu niin voiks laittaa ekan kuvan 0-100 soluihin ja toisen kuvan soluihin 100-200.
Ei tule onnistumaan, koska silloin olisi taas kaksi kuvaa samassa taulukossa. Olet varmaankin ymmärtänyt taulukoiden käytön hieman väärin?
Eli taulukoissa on soluja (tai alkioita miten niitä sitten kutsutaankin?) jotka ymmärtää parhaiten kun kuvittelee ne vaikka merkkijono riveiksi. Esim:
Dim taulukko(2) AS STRING * 6
taulukko(0) = "merkki"
taulukko(1) = "merkki 2"
taulukko(2) = "merkki 3"
Em. esimerkissä on varattu 3 (0-2) "riviä" taulukkoon joista jokainen on STRING tyyppinen ja max. 6 mrk. pitkä. Tällöin tulostettaessa taulukko(0) sisältö tulostuisi teksti "merkki" ja tulostettaessa taulukko(1) sisältö teksti olisi edelleen "merkki" eikä "merkki 2". Jos taulukon 1 ja 2 solu haluttaisiin tulostuvan kokonaan pitäisi DIM lauseessa alustaa taulukko vähintään 8 merkkiä pitkäksi 6:n sijaan.
Toivottavasti nyt hieman ymmärsit mitä yritin kertoa ja toivottavasti en _itse_ opettanut väärin. Hieman lisää taulukoista löytää tietoa https://www.ohjelmointiputka.net/oppaat/opas.
Ehkäpä jonkun pitäisi kirjoittaa QB-oppaaseen kunnollinen opas taulukoista ;)
lainaus:
Ehkäpä jonkun pitäisi kirjoittaa QB-oppaaseen kunnollinen opas taulukoista ;)
Jooh.. minulta sellaista ei kuitenkaan ole tulossa :) Kun nyt tuo tuoli puheeksi niin QB-oppaita tulee vielä kaksi kappaletta. Neljäs osa on jo käytännössä valmis ja käsittelee simppeliä grafiikkaa.. viitososassa väänettään sitten jonkinlainen peli.. sitähän kaikki haluavat :)
Tiedän että opassarja jää näinollen vajavaiseksi (mm. tiedostonkäsittelyt ym jää käsittelemättä kokonaan, paitsi tietysti osittain tuon pelinteon yhteydessä) mutta en kyllä muista miksi alunperinkään aloin tuota QB-opassarjaa kirjoittamaan :)
Nykyisellään ei innostus tuollaisen kirjoittamiseen riitä alkuunkaan.. on parempaakin tekemistä ;)
lainaus:
Ei tule onnistumaan, koska silloin olisi taas kaksi kuvaa samassa taulukossa. Olet varmaankin ymmärtänyt taulukoiden käytön hieman väärin?
testasin tälläistä koodia ja sil on mahdollista laittaa kaks kuvaa yhteen taulukkoon, mut se on liian sekava eli siit ei oikeestaan oo hyötyy mut se todistaa et yhdes taulukos voi olla kaks kuvaa.
CLS SCREEN 13 DIM fontti(2000) FOR maara = 0 TO 200 STEP 100 FOR y = 1 TO 5 FOR x = 1 TO 5 READ a IF a = 1 THEN PSET (x, y) NEXT x NEXT y GET (1, 1)-(5, 5), fontti(maara) SLEEP 3 CLS NEXT maara CLS PUT (3, 1), fontti(0) PUT (13, 1), fontti(100) PUT (134, 2), fontti(200) 'A DATA 0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0,1 'B DATA 1,1,1,1,0,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,1,1,1,0 'C DATA 0,1,1,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,1,1,0
Aihe on jo aika vanha, joten et voi enää vastata siihen.