ChaosBasic [version 0.0.2.4]
Re: ChaosBasic [version 0.0.2.4]
Kiitos ohjeistuksesta. Toimii nyt aivan mahtavasti!
Ja saanko vielä sanoa: Holy COW! 2000 lehmää ja fps hipoo satasta! Odotin kyllä nopeaa, mutta tämähän ylittää kaikki odotukseni! Keep up the DAMN good work!
Ja saanko vielä sanoa: Holy COW! 2000 lehmää ja fps hipoo satasta! Odotin kyllä nopeaa, mutta tämähän ylittää kaikki odotukseni! Keep up the DAMN good work!
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Re: ChaosBasic [version 0.0.2.4]
Tämähän hakkaa CB:n totaalisesti! Ja milloinkas ChaosBasic:ille saadaan omat sivut ja foorumit??
Re: ChaosBasic [version 0.0.2.4]
Foorumit taitaa olla jo http://www.chaoslib.info/forum/.vilQuri wrote:Tämähän hakkaa CB:n totaalisesti! Ja milloinkas ChaosBasic:ille saadaan omat sivut ja foorumit??
Projektit: Fiperus - Jäädytetty pidemmäksi aikaa.
Voitot: Viikkokisa XIII, Pikapelikisa 3, Pikapelikisa 13
http://www.sami345.tk/
Voitot: Viikkokisa XIII, Pikapelikisa 3, Pikapelikisa 13
http://www.sami345.tk/
- Dibalo
- Advanced Member
- Posts: 298
- Joined: Mon Aug 27, 2007 8:12 pm
- Location: Espoo, Finland
- Contact:
Re: ChaosBasic [version 0.0.2.4]
Nuo foorumit ovat kuolleet. Ensi vuoden alusta ChaosBasic saa viralliset kotisivut ja foorumin.Sami345 wrote:Foorumit taitaa olla jo http://www.chaoslib.info/forum/.vilQuri wrote:Tämähän hakkaa CB:n totaalisesti! Ja milloinkas ChaosBasic:ille saadaan omat sivut ja foorumit??
Re: ChaosBasic [version 0.0.2.4]
ChaosBasic tarvitsisi kunnon Editorin. Vähän samanlaisen kuin coolbasicissa
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Re: ChaosBasic [version 0.0.2.4]
Niin, ja manuaalin ja komentojen esittelyt.OonSuomesta wrote:ChaosBasic tarvitsisi kunnon Editorin. Vähän samanlaisen kuin coolbasicissa
CoolBasic henkilökuntaa
Graafikko
Graafikko
Re: ChaosBasic [version 0.0.2.4]
Dibalo, jos tarvitset apua, niin voin tehdä sinulle valmiin sivupohjan (html ja/tai php) manuaalista.Pate5 wrote:ja manuaalin.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Re: ChaosBasic [version 0.0.2.4]
Nopeus on kasvanut huimasti versiosta 0.0.1.9 versioon 0.0.2.4. Tein pienen testin ajoin saman koodin molepien kääntäjien läpi ja vertailin ohjelmien nopeutta.
0.0.1.9 version kääntäjän luoman ohjelman FPS = 1.8.
0.0.2.4 version kääntäjän luoman ohjelman FPS heittelehti 60 ja 71 välissä.
Tässä vielä koodi joka on 0.0.1.9 esimerkistä 4 hieman muunneltu poistamalla fontin lataus:
0.0.1.9 version kääntäjän luoman ohjelman FPS = 1.8.
0.0.2.4 version kääntäjän luoman ohjelman FPS heittelehti 60 ja 71 välissä.
Tässä vielä koodi joka on 0.0.1.9 esimerkistä 4 hieman muunneltu poistamalla fontin lataus:
Code: Select all
/************* LENTÄVÄT LEHMÄT - ESIMERKKI 4 *************/
// Matti Lankinen
/*
Alkusanat:
Nyt käydään läpi edellisissä esimerkkikoodeissa oppimamme asiat ja yhdistellään ne
cooliksi demoksi.. ;) On siis läpinäkyvyyttä ja venyvyyttä ja vaikka mitä kivaa.
Lisäksi uutena käydään fontit ja tekstin/(primitiivien*) värjäys.
*Primitiivejä ei tuettu vielä
*/
// kartan kuva
Var map As Image = New Image
map.Load "map512.jpg"
// lehmien kuva
Var cow As Image = New Image
cow.AddMask 0,0,0 // maskaus on lisättävä aina ENNEN latausta
cow.Load "cow32.png"
// kartan tiedot
Var mapPos[4,2] As Float
Var mapVel[4,2] As Float
For i = 0 To 3
mapPos[i,0] = Randomf(0,630)
mapPos[i,1] = Randomf(0,470)
mapVel[i,0] = Randomf(-200,200)
mapVel[i,1] = Randomf(-200,200)
Next
// läpinäkyvyysmuuttujat
Var mapOp As Float = 1.0
Var cowOp As Float = 1.0
// lehmien sijainnit
Var cowPos[1000,2] As Float
Var cowVel[1000,2] As Float
Var cowRot[1000,2] As Float // 0 = speed, 1 = angle
For i = 0 To 999
cowPos[i,0] = Randomf(0,638)
cowPos[i,1] = Randomf(0,488)
cowVel[i,0] = Randomf(-50,50)
cowVel[i,1] = Randomf(-50,50)
cowRot[i,0] = Randomf(-120,120)
cowRot[i,1] = Randomf(0,360)
Next
Repeat
// päivitetään kartan sijainti
Var delta_t As Float = Screen.GetFrameTime()
For i = 0 To 3
mapPos[i,0] += mapVel[i,0] * delta_t
mapPos[i,1] += mapVel[i,1] * delta_t
If mapPos[i,0] <= 0 Or mapPos[i,0] >= 640 Then
mapVel[i,0] = -mapVel[i,0]
EndIf
If mapPos[i,1] <= 0 Or mapPos[i,1] >= 480 Then
mapVel[i,1] = -mapVel[i,1]
EndIf
Next
// sitten lehmien sijainti
For i = 0 To 999
cowPos[i,0] += cowVel[i,0] * delta_t
cowPos[i,1] += cowVel[i,1] * delta_t
If cowPos[i,0] <= 0 Or cowPos[i,0] >= 640 Then
cowVel[i,0] = -cowVel[i,0]
EndIf
If cowPos[i,1] <= 0 Or cowPos[i,1] >= 480 Then
cowVel[i,1] = -cowVel[i,1]
EndIf
cowRot[i,1] += cowRot[i,0] * delta_t
cow.DrawRotated cowPos[i,0], cowPos[i,1], cowRot[i,1]
Next
// piirretään kartta
map.Distort mapPos[0,0], mapPos[0,1], mapPos[1,0], mapPos[1,1], mapPos[2,0], mapPos[2,1], mapPos[3,0], mapPos[3,1]
// FPS
Screen.Text 0,0, "FPS: " + Screen.FPS() + "\nPress U/J to adjust map's opacity.\nPress I/K to adjust cow's opacity."
// kartan läpinäkyvyys
map.SetOpacity mapOp
If Key.Down(KEY_U) Then
mapOp += delta_t
ElseIf Key.Down(KEY_J) Then
mapOp -= delta_t
EndIf
If mapOp < 0 Then
mapOp = 0
ElseIf mapOp > 1 Then
mapOp = 1
EndIf
// lehmien
cow.SetOpacity cowOp
If Key.Down(KEY_I) Then
cowOp += delta_t
ElseIf Key.Down(KEY_K) Then
cowOp -= delta_t
EndIf
If cowOp < 0 Then
cowOp = 0
ElseIf cowOp > 1 Then
cowOp = 1
EndIf
Screen.Draw
Forever
Projektit: Fiperus - Jäädytetty pidemmäksi aikaa.
Voitot: Viikkokisa XIII, Pikapelikisa 3, Pikapelikisa 13
http://www.sami345.tk/
Voitot: Viikkokisa XIII, Pikapelikisa 3, Pikapelikisa 13
http://www.sami345.tk/
-
- Active Member
- Posts: 101
- Joined: Tue Aug 28, 2007 2:27 pm
Re: ChaosBasic [version 0.0.2.4]
Eikös se johdu siitä, että ChaosBasic käyttää nyt DirectX:ää OpenGL:n (oliko?) sijasta.Sami345 wrote:Nopeus on kasvanut huimasti versiosta 0.0.1.9 versioon 0.0.2.4. Tein pienen testin ajoin saman koodin molepien kääntäjien läpi ja vertailin ohjelmien nopeutta.
0.0.1.9 version kääntäjän luoman ohjelman FPS = 1.8.
0.0.2.4 version kääntäjän luoman ohjelman FPS heittelehti 60 ja 71 välissä.
Tässä vielä koodi joka on 0.0.1.9 esimerkistä 4 hieman muunneltu poistamalla fontin lataus:Code: Select all
Koodi
Re: ChaosBasic [version 0.0.2.4]
Hahaa, spottasin bugin.
Kääntäjä kaatuu jos For loopin Step arvo on syötetty virheellisesti ja on negatiivinen.
Esim. tämä koodipätkä kaataa kääntäjän.
Ja naputtelinpa vielä kokoon huippurealisistisen mönjäsimulaattorin
Kääntäjä kaatuu jos For loopin Step arvo on syötetty virheellisesti ja on negatiivinen.
Code: Select all
For y = 100 To 0 Step foo=-69
Ja naputtelinpa vielä kokoon huippurealisistisen mönjäsimulaattorin
Code: Select all
// TEH MÖNJÄSIMULAATTORI
// by: cce
Var x_offset=100
Var y_offset=100
Var new_mouse_x=0 // pakko olla tälläset, muuten hiiri bugaa
Var new_mouse_y=0
Var new_mouse_down=0
Var aika=0 // käytetään pelin hidastamiseksi
Var uusi_aika=0
Var suunta = 0 // veden valumissuunta
Var map[48,32,1] As Integer // x, y, data
Screen.SetColor(255, 255, 255)
Repeat
Var delta_t As Float = Screen.GetFrameTime()
new_mouse_x=Mouse.X()
new_mouse_y=Mouse.Y()
If Mouse.Hit(1)==True Then
new_mouse_down=1
Else
new_mouse_down=0
EndIf
// päivitetään hiekkalaatikko alhaalta ylöspäin
For x = 0 To 47
For y = 31 To 0 Step -1
If map[x,y,0]==1 Then // jos on kyseessä vesipisara
If y < 31 Then // joka ei ole ruudun alaosassa
If map[x,y+1,0] == 0 Then // jonka alla on tyhjää tilaa
map[x,y,0] = 0 // poistetaan nykyisestä kohdasta piste
map[x,y+1,0] = 1 // ja siirretään se alaspäin
Continue // ja seuraavan pikselin pariin
Else // jos ei ole, siirretään sitten alaviistoon
If x > 0 And x < 47 Then // jos ei olla laidoilla
If map[x-1,y+1,0]==0 Then // jos vasemmalla alaviistossa
map[x,y,0] = 0 // poistetaan nykyisestä kohdasta piste
map[x-1,y+1,0] = 1 // ja siirretään se alaspäin
Continue
ElseIf map[x+1,y+1,0]==0 Then // ja jos oikealla
map[x,y,0] = 0
map[x+1,y+1,0] = 1
Continue
Else // siirretään sivuille
// hieman toimimatonta koodia, pitäisi siirtää mönjää sivuille
/*If map[x-1,y,0] == 0 Then
map[x,y,0] = 0
map[x-1,y,0] = 1
EndIf
If map[x+1,y,0] == 0 Then
map[x,y,0] = 0
map[x+1,y,0] = 1
EndIf
*/
EndIf
EndIf
EndIf
EndIf
EndIf
Next
Next
// piirretään hiekkalaatikko
For x = 0 To 47
For y = 0 To 31
// Box(x*4, y*4, 4, 4)
If map[x,y,0]==0 Then
Screen.SetColor(32, 32, 32)
EndIf
If map[x,y,0]==1 Then
Screen.SetColor(64, 255, 64)
EndIf
If map[x,y,0]==2 Then
Screen.SetColor(128, 128, 128)
EndIf
Screen.Box(x_offset+x*8,y_offset+y*8, 8, 8) // piirretään itse neliö
If (new_mouse_x()-x_offset)/8==x And (new_mouse_y()-y_offset)/8==y Then
// map[x,y,0] = 1
If Mouse.Down(0) Then // jos klikataan, niin lisätään vettä
map[x,y,0] = 1
ElseIf Mouse.Down(1) Then
map[x,y,0] = 0
ElseIf Key.Down(KEY_SPACE) Then
map[x,y,0] = 2
EndIf
EndIf
// Screen.Text x*8,y*8, "O"
Next
Next
Screen.SetColor(255, 255, 255)
// FPS
Screen.Text 0,24, "FPS: "+Screen.FPS()
Screen.Text 0,0, "TEH MÖNJÄSIMULAATTORI"
Screen.Text 0,12, "Mouse1: Lisää mönjää, Mouse2: Poista, Space: Piirrä maata"
// piirretään näyttö
Screen.Draw
// odottelut pois, jos haluat hidastaa, poista kommentointi allaolevista riveistä
/*
// ja pikku odottelu, hidastetaan peliä
aika=Timer()
Repeat
uusi_aika=Timer()
Until uusi_aika-aika > 15
*/
Forever
-
- Advanced Member
- Posts: 485
- Joined: Tue Aug 28, 2007 3:53 pm
- Location: Suomi, Finland
- Contact:
Re: ChaosBasic [version 0.0.2.4]
kiva toi simulaattori tein kerran coolbasicilla se oli kyllä kivan hidas
tyypit ois hyvä saada tähän pian niin ja objectit mutta niissä taitaa olla aika paljon työtä
tyypit ois hyvä saada tähän pian niin ja objectit mutta niissä taitaa olla aika paljon työtä
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: ChaosBasic [version 0.0.2.4]
Tuskin Dibalo tästä mitään CB:n suoraa kloonia tekee, niin eiköhän olioiden ja structien kehiin saaminen olisi olennaisinta - en tosin tiedä, onko moisia vielä, en ole tätä uusinta versiota vielä kokeillutkaan. Eikä CB:n objektien vastinetta mielestäni tarvita ollenkaan, kuvat ajavat saman asian aivan hyvin.tuhoojabotti wrote:kiva toi simulaattori tein kerran coolbasicilla se oli kyllä kivan hidas
tyypit ois hyvä saada tähän pian niin ja objectit mutta niissä taitaa olla aika paljon työtä
-
- Advanced Member
- Posts: 485
- Joined: Tue Aug 28, 2007 3:53 pm
- Location: Suomi, Finland
- Contact:
Re: ChaosBasic [version 0.0.2.4]
en pystynyt olemaan koskematta tohon mönjö koodiin tein siitä vähän hitaamman ja enemmän nestemäisen
Code: Select all
// TEH MÖNJÄSIMULAATTORI
// by: cce
// modifications by: Tuhoojabotti
Var x_offset=100
Var y_offset=100
Var new_mouse_x=0 // pakko olla tälläset, muuten hiiri bugaa
Var new_mouse_y=0
Var new_mouse_down=0
Var noppa=0
Var aika=0 // käytetään pelin hidastamiseksi
Var uusi_aika=0
Var suunta = 0 // veden valumissuunta
Var map[96,64,1] As Integer // x, y, data
Screen.SetColor(255, 255, 255)
Repeat
Var delta_t As Float = Screen.GetFrameTime()
new_mouse_x=Mouse.X()
new_mouse_y=Mouse.Y()
If Mouse.Hit(1)==True Then
new_mouse_down=1
Else
new_mouse_down=0
EndIf
// päivitetään hiekkalaatikko alhaalta ylöspäin
For x = 0 To 95
For y = 63 To 0 Step -1
If map[x,y,0]==1 Then // jos on kyseessä vesipisara
If y < 63 Then // joka ei ole ruudun alaosassa
If map[x,y+1,0] == 0 Then // jonka alla on tyhjää tilaa
map[x,y,0] = 0 // poistetaan nykyisestä kohdasta piste
map[x,y+1,0] = 1 // ja siirretään se alaspäin
Continue // ja seuraavan pikselin pariin
Else // jos ei ole, siirretään sitten alaviistoon
If x > 0 And x < 95 Then // jos ei olla laidoilla
If map[x-1,y+1,0]==0 Then // jos vasemmalla alaviistossa
map[x,y,0] = 0 // poistetaan nykyisestä kohdasta piste
map[x-1,y+1,0] = 1 // ja siirretään se alaspäin
Continue
ElseIf map[x+1,y+1,0]==0 Then // ja jos oikealla
map[x,y,0] = 0
map[x+1,y+1,0] = 1
Continue
Else // siirretään sivuille
noppa=Random(0,200)
If noppa<100 Then
If map[x-1,y,0] == 0 Then
map[x,y,0] =0
map[x-1,y,0] =1
EndIf
EndIf
If noppa>100 Then
If map[x+1,y,0] == 0 Then
map[x,y,0] =0
map[x+1,y,0] =1
EndIf
EndIf
EndIf
Else // reunalla ollaan
If x<1 Then
If map[x,y,0]==1 Then
If map[x+1,y,0]==0 Then
map[x,y,0]=0
map[x+1,y,0]=1
EndIf
EndIf
ElseIf x>94 Then
If map[x,y,0]==1 Then
If map[x-1,y,0]==0 Then
map[x,y,0]=0
map[x-1,y,0]=1
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
Next
Next
// piirretään hiekkalaatikko
For x = 0 To 95
For y = 0 To 63
// Box(x*4, y*4, 4, 4)
If map[x,y,0]==0 Then
Screen.SetColor(32, 32, 32)
EndIf
If map[x,y,0]==1 Then
Screen.SetColor(0, 0, 255)
EndIf
If map[x,y,0]==2 Then
Screen.SetColor(128, 128, 128)
EndIf
Screen.Box(x_offset+x*2,y_offset+y*2, 2, 2) // piirretään itse neliö
If (new_mouse_x()-x_offset)/2==x And (new_mouse_y()-y_offset)/2==y Then
// map[x,y,0] = 1
If Mouse.Down(0) Then // jos klikataan, niin lisätään vettä
For i=0 To 2
For a=0 To 2
If x+i<96 Then
If y+a<64 Then
map[x+i,y+a,0] = 1
EndIf
EndIf
Next
Next
ElseIf Mouse.Down(1) Then
map[x,y,0] = 0
ElseIf Key.Down(KEY_SPACE) Then
map[x,y,0] = 2
EndIf
EndIf
// Screen.Text x*8,y*8, "O"
Next
Next
Screen.SetColor(255, 255, 255)
// FPS
Screen.Text 0,24, "FPS: "+Screen.FPS()
Screen.Text 0,0, "TEH MÖNJÄSIMULAATTORI"
Screen.Text 0,12, "Mouse1: Lisää mönjää, Mouse2: Poista, Space: Piirrä maata"
// piirretään näyttö
Screen.Draw
Forever
EDIT:
Korjasin pari bugia jotka estivät virtuaali veden tasaantumisen
- Dibalo
- Advanced Member
- Posts: 298
- Joined: Mon Aug 27, 2007 8:12 pm
- Location: Espoo, Finland
- Contact:
Re: ChaosBasic [version 0.0.2.4]
Onnellista Uutta Vuotta Kaikille!
Vuoden alun kunniaksi pientä esimakua tulevasta editorista (hyvin alkuvaiheissa vielä):
Vuoden alun kunniaksi pientä esimakua tulevasta editorista (hyvin alkuvaiheissa vielä):
Re: ChaosBasic [version 0.0.2.4]
Todella hieno, millon pistät lataukseen että pääsee jo tekemään jotain Chb:llä(vai mikä se olikin). Tuleeko siihen samallainen run-systeemi kuin CB:n editorissa?
Re: ChaosBasic [version 0.0.2.4]
Näyttää erittäin hienolta. Se on kumma miten kunnon editori (ja helppo pääsy hyviin ohjeisiin) ainakin itsellä lisää koodaamishaluja.
Oli mulla asiaakin. Onko se bugi vai ominaisuus, kun ChB:ssä voi funktioita, joille annetaan parametriksi taulukko, käyttää vain jos taulukko on varattu itse funktion jälkeen? Itse tykkään heittää kaikki funkkarit pääsilmukan jälkeen, joka tässä tapauksessa on mahdotonta. Ymmärrän kyllä jos vastaus on yksinkertaisesti se että ChB on vielä alkuvaiheessa.
Tässä vielä esimerkki:
Toimii:
Ei toimi:
Oli mulla asiaakin. Onko se bugi vai ominaisuus, kun ChB:ssä voi funktioita, joille annetaan parametriksi taulukko, käyttää vain jos taulukko on varattu itse funktion jälkeen? Itse tykkään heittää kaikki funkkarit pääsilmukan jälkeen, joka tässä tapauksessa on mahdotonta. Ymmärrän kyllä jos vastaus on yksinkertaisesti se että ChB on vielä alkuvaiheessa.
Tässä vielä esimerkki:
Toimii:
Code: Select all
Function Funkkari( Var taulu[] ) As Void
Screen.Text 20, 20, "jotain"
EndFunction
Var taulu[10]
Repeat
If Key.Hit( KEY_ESCAPE ) Then End
Funkkari( taulu )
Screen.Draw()
Forever
Code: Select all
Var taulu[10]
Repeat
If Key.Hit( KEY_ESCAPE ) Then End
Funkkari( taulu )
Screen.Draw()
Forever
Function Funkkari( Var taulu[] ) As Void
Screen.Text 20, 20, "jotain"
EndFunction
Re: ChaosBasic [version 0.0.2.4]
Kyseessä lienee bugi, koska seuraava toimii:Jonez wrote:Oli mulla asiaakin. Onko se bugi vai ominaisuus, kun ChB:ssä voi funktioita, joille annetaan parametriksi taulukko, käyttää vain jos taulukko on varattu itse funktion jälkeen? Itse tykkään heittää kaikki funkkarit pääsilmukan jälkeen, joka tässä tapauksessa on mahdotonta. Ymmärrän kyllä jos vastaus on yksinkertaisesti se että ChB on vielä alkuvaiheessa.
Code: Select all
Var taulu[10]
Repeat
If Key.Hit( KEY_ESCAPE ) Then End
Funkkari( taulu )
Screen.Draw()
Forever
Function Funkkari( Var taulu2[] ) As Void
Screen.Text 20, 20, "jotain"
EndFunction
Re: ChaosBasic [version 0.0.2.4]
Latasinpa minäkin uusimman version. Täytyy sanoa että olet ahkeroinut kovasti, hyvää työtä. :]
Itse toivoisin tiedoston luku- ja kirjoituskomentoja.
GJ
Itse toivoisin tiedoston luku- ja kirjoituskomentoja.
GJ
Since 24-March 05
- Misthema
- Advanced Member
- Posts: 312
- Joined: Mon Aug 27, 2007 8:32 pm
- Location: Turku, Finland
- Contact:
Re: ChaosBasic [version 0.0.2.4]
Tuli hieman apinoitua ChB:llä ja sain aikaiseksi oman input systeemin. Tosin en saanut sitä toimimaan funktiossa....
Koodi kuitenkin tässä:
Jos joku saa tämän toimimaan funktiona niin pastee koodin sitten tänne. Olisi meinaan käyttöä tälle..
En halua tyytyä sisäänrakennettuihin systeemeihin, vaan teen omat xP
Koodi kuitenkin tässä:
Code: Select all
// Joku input testi löel. By Misthema
Var _input As String
Var _column As Integer = 1
Var _blink As Integer = 0
Var _blinkTime As Float = 0.0
Var fontti As Font = New Font
fontti.Load "Lucida Console", 10
Screen.SetFont fontti
Screen.SetColor 0,255,0
Repeat
Screen.Text 0,0, ">" + _input
If _blink == 1 Then
Screen.Box 6*_column,0, 5,10
_blinkTime -= 1.0
Else
_blinkTime += 1.0
EndIf
//If _blink == 0 Then
If _blinkTime >= 50.0 Then _blink = 1
If _blinkTime <= 0 Then _blink = 0
// Numerot
If Key.Hit(KEY_1) Then
_input += "1"
_column += 1
EndIf
If Key.Hit(KEY_2) Then
_input += "2"
_column += 1
EndIf
If Key.Hit(KEY_3) Then
_input += "3"
_column += 1
EndIf
If Key.Hit(KEY_4) Then
_input += "4"
_column += 1
EndIf
If Key.Hit(KEY_5) Then
_input += "5"
_column += 1
EndIf
If Key.Hit(KEY_6) Then
_input += "6"
_column += 1
EndIf
If Key.Hit(KEY_7) Then
_input += "7"
_column += 1
EndIf
If Key.Hit(KEY_8) Then
_input += "8"
_column += 1
EndIf
If Key.Hit(KEY_9) Then
_input += "9"
_column += 1
EndIf
If Key.Hit(KEY_SPACE) Then
_input += " "
_column += 1
EndIf
//If Key.Hit(KEY_BACKSLASH) Then _input -= 1 <- TÄMÄ EI TOIMI VIELÄ!
// Jos jompaa kumpaa shiftiä painetaan, niin...
If Key.Down(KEY_LSHIFT) Or Key.Down(KEY_RSHIFT) Then
// Isot kirjaimet
If Key.Hit(KEY_A) Then
_input += "A"
_column += 1
EndIf
If Key.Hit(KEY_B) Then
_input += "B"
_column += 1
EndIf
If Key.Hit(KEY_C) Then
_input += "C"
_column += 1
EndIf
If Key.Hit(KEY_D) Then
_input += "D"
_column += 1
EndIf
If Key.Hit(KEY_E) Then
_input += "E"
_column += 1
EndIf
If Key.Hit(KEY_F) Then
_input += "F"
_column += 1
EndIf
If Key.Hit(KEY_G) Then
_input += "G"
_column += 1
EndIf
If Key.Hit(KEY_H) Then
_input += "H"
_column += 1
EndIf
If Key.Hit(KEY_I) Then
_input += "I"
_column += 1
EndIf
If Key.Hit(KEY_J) Then
_input += "J"
_column += 1
EndIf
If Key.Hit(KEY_K) Then
_input += "K"
_column += 1
EndIf
If Key.Hit(KEY_L) Then
_input += "L"
_column += 1
EndIf
If Key.Hit(KEY_M) Then
_input += "M"
_column += 1
EndIf
If Key.Hit(KEY_N) Then
_input += "N"
_column += 1
EndIf
If Key.Hit(KEY_O) Then
_input += "O"
_column += 1
EndIf
If Key.Hit(KEY_P) Then
_input += "P"
_column += 1
EndIf
If Key.Hit(KEY_Q) Then
_input += "Q"
_column += 1
EndIf
If Key.Hit(KEY_R) Then
_input += "R"
_column += 1
EndIf
If Key.Hit(KEY_S) Then
_input += "S"
_column += 1
EndIf
If Key.Hit(KEY_T) Then
_input += "T"
_column += 1
EndIf
If Key.Hit(KEY_U) Then
_input += "U"
_column += 1
EndIf
If Key.Hit(KEY_V) Then
_input += "V"
_column += 1
EndIf
If Key.Hit(KEY_W) Then
_input += "W"
_column += 1
EndIf
If Key.Hit(KEY_X) Then
_input += "X"
_column += 1
EndIf
If Key.Hit(KEY_Z) Then
_input += "Z"
_column += 1
EndIf
// SHIFT+ merkit
If Key.Hit(KEY_SLASH) Then
_input += "_"
_column += 1
EndIf
If Key.Hit(KEY_PERIOD) Then
_input += ":"
_column += 1
EndIf
If Key.Hit(KEY_COMMA) Then
_input += ";"
_column += 1
EndIf
Else // Jollei kumpaakaan shiftiä paineta, niin...
// Pienet kirjaimet
If Key.Hit(KEY_A) Then
_input += "a"
_column += 1
EndIf
If Key.Hit(KEY_B) Then
_input += "b"
_column += 1
EndIf
If Key.Hit(KEY_C) Then
_input += "c"
_column += 1
EndIf
If Key.Hit(KEY_D) Then
_input += "d"
_column += 1
EndIf
If Key.Hit(KEY_E) Then
_input += "e"
_column += 1
EndIf
If Key.Hit(KEY_F) Then
_input += "f"
_column += 1
EndIf
If Key.Hit(KEY_G) Then
_input += "g"
_column += 1
EndIf
If Key.Hit(KEY_H) Then
_input += "h"
_column += 1
EndIf
If Key.Hit(KEY_I) Then
_input += "i"
_column += 1
EndIf
If Key.Hit(KEY_J) Then
_input += "j"
_column += 1
EndIf
If Key.Hit(KEY_K) Then
_input += "k"
_column += 1
EndIf
If Key.Hit(KEY_L) Then
_input += "l"
_column += 1
EndIf
If Key.Hit(KEY_M) Then
_input += "m"
_column += 1
EndIf
If Key.Hit(KEY_N) Then
_input += "n"
_column += 1
EndIf
If Key.Hit(KEY_O) Then
_input += "o"
_column += 1
EndIf
If Key.Hit(KEY_P) Then
_input += "p"
_column += 1
EndIf
If Key.Hit(KEY_Q) Then
_input += "q"
_column += 1
EndIf
If Key.Hit(KEY_R) Then
_input += "r"
_column += 1
EndIf
If Key.Hit(KEY_S) Then
_input += "s"
_column += 1
EndIf
If Key.Hit(KEY_T) Then
_input += "t"
_column += 1
EndIf
If Key.Hit(KEY_U) Then
_input += "u"
_column += 1
EndIf
If Key.Hit(KEY_V) Then
_input += "v"
_column += 1
EndIf
If Key.Hit(KEY_W) Then
_input += "w"
_column += 1
EndIf
If Key.Hit(KEY_X) Then
_input += "x"
_column += 1
EndIf
If Key.Hit(KEY_Z) Then
_input += "z"
_column += 1
EndIf
If Key.Hit(KEY_SLASH) Then
_input += "-"
_column += 1
EndIf
If Key.Hit(KEY_PERIOD) Then
_input += "."
_column += 1
EndIf
If Key.Hit(KEY_COMMA) Then
_input += ","
_column += 1
EndIf
EndIf
Screen.Draw()
Forever
En halua tyytyä sisäänrakennettuihin systeemeihin, vaan teen omat xP
-
- Advanced Member
- Posts: 485
- Joined: Tue Aug 28, 2007 3:53 pm
- Location: Suomi, Finland
- Contact:
Re: ChaosBasic [version 0.0.2.4]
inputti koodi ei käänny enkä jaksany kattoo mikä on vikana...