ChaosBasic [version 0.0.2.4]
Re: ChaosBasic [version 0.0.1.8]
Hyvältä vaikuttaa. Esitän kuitenkin jo tässä vaiheessa vähän vaativamman kysymyksen ja ymmärrän jos et vielä ole valmis siihen vastaamaan: Milloin pääsemme määrittämään omia luokkia tai funktioita?
P.S. Päivitin jokin aika sitten tuon Notepad++ syntaksivärjäyksen. Uusin versio löytyy nykyään aina täältä: http://koti.mbnet.fi/jare1/chaosbasic/u ... neLang.xml (klikkaa hiiren oikealla ja valitse Tallenna).
P.S. Päivitin jokin aika sitten tuon Notepad++ syntaksivärjäyksen. Uusin versio löytyy nykyään aina täältä: http://koti.mbnet.fi/jare1/chaosbasic/u ... neLang.xml (klikkaa hiiren oikealla ja valitse Tallenna).
- Dibalo
- Advanced Member
- Posts: 298
- Joined: Mon Aug 27, 2007 8:12 pm
- Location: Espoo, Finland
- Contact:
Re: ChaosBasic [version 0.0.1.9]
ChaosBasic 0.0.1.9 ulkona!
Eli tämä on tälläinen hotfix-tyylinen julkaisu. Korjattu muun muassa bugi Vistassa (ihme parametriongelma), lisätty tuki tiedostopoluille välilyöntien kanssa (huom! komentoriviltä käynnistäjille: polun ympärille pitää laittaa heittomerkit, tyyliin "C:\ohjelmat\minun chb\chaosrun.exe"), sekä lisätty trigonometriset funktiot Sin, Tan, Cos, ASin, ATan, ACos. Lisäksi korjattu muita pikku bugeja, jahka niitä on havaittu. Eipä tässä enempää:
Lataa ChaosBasic 0.0.1.9
Eli tämä on tälläinen hotfix-tyylinen julkaisu. Korjattu muun muassa bugi Vistassa (ihme parametriongelma), lisätty tuki tiedostopoluille välilyöntien kanssa (huom! komentoriviltä käynnistäjille: polun ympärille pitää laittaa heittomerkit, tyyliin "C:\ohjelmat\minun chb\chaosrun.exe"), sekä lisätty trigonometriset funktiot Sin, Tan, Cos, ASin, ATan, ACos. Lisäksi korjattu muita pikku bugeja, jahka niitä on havaittu. Eipä tässä enempää:
Lataa ChaosBasic 0.0.1.9
Hyvä kysymys. Todennäköisesti seuraava julkaisu tulee noudattamaan versionumeroa 0.1.0.1, joka sisältää jo käyttäjän omat funktiot ja mahdolliset DLL-kutsut. Omia luokkia en uskalla tähän vielä mennä lupaamaan. Lisäksi olen vakavasti miettinyt vaihtoa OpenGL:stä DirectX:ään (Linux-koodarit: älkää huolestuko, sillä säilytän OpenGL-implementaatiot), jonka ansiosta saataisiin EXEn muhkea 390+ kt koko noin 50-100 kt:hen (ehkä jopa pienempäänkin). On kuitenkin mahdollista, että ennen tätä päivitystä saattaa ilmestyä pienempiä korjauksia/lisäyksiä, esimerkiksi versio 0.0.2.4.Milloin pääsemme määrittämään omia luokkia tai funktioita?
-
- Active Member
- Posts: 101
- Joined: Tue Aug 28, 2007 2:27 pm
Re: ChaosBasic [version 0.0.1.9]
Toimii moitteettomasti Vistalla, eikä aikaisempia kielioppivirheen takia tulleita kaatumisiakaan enää ollut (edellisessä versiossa kääntäjä tosin kaatui aina ).
Muuta:
Mihin versioon tulee esikääntäjä (include, yms.) ja osaako se korjata esim. if:in If:iksi (tämä on basic, ei c)?
Tee se, että esim. kokonaisluvun voi alustaa "Var blaah As Integer" lisäksi esim. "Integer blaah", tämä nopeuttaisi ja helpottaisi työskentelyä.
Muuta:
Mihin versioon tulee esikääntäjä (include, yms.) ja osaako se korjata esim. if:in If:iksi (tämä on basic, ei c)?
Tee se, että esim. kokonaisluvun voi alustaa "Var blaah As Integer" lisäksi esim. "Integer blaah", tämä nopeuttaisi ja helpottaisi työskentelyä.
Re: ChaosBasic [version 0.0.1.9]
Toivottavasti esikääntäjään tulee joskus tulevaisuudessa ehdollinen kääntäminen. Esimerkkinä jos vaikka vakio nimeltä DEBUG (tai joku muu) on true, niin kääntäjä voisi kääntää ylimääräistä debug-koodia, joka näyttäisi ohjelmassa enemmän teknistä tietoa, kuten muuttujien sisältöjä .jannepelaa wrote:Mihin versioon tulee esikääntäjä (include, yms.)
Re: ChaosBasic [version 0.0.1.8]
Ei toimi. Tiedosto on polussa "C:\Program Files\Notepad++\userDefineLang.xml". Notepad++ on versio 4.6.Jare wrote:Hyvältä vaikuttaa. Esitän kuitenkin jo tässä vaiheessa vähän vaativamman kysymyksen ja ymmärrän jos et vielä ole valmis siihen vastaamaan: Milloin pääsemme määrittämään omia luokkia tai funktioita?
P.S. Päivitin jokin aika sitten tuon Notepad++ syntaksivärjäyksen. Uusin versio löytyy nykyään aina täältä: http://koti.mbnet.fi/jare1/chaosbasic/u ... neLang.xml (klikkaa hiiren oikealla ja valitse Tallenna).
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.1.9]
Miksi muuten samaa kuvaa ei voi piirtää uudelleen, jos kuva on jo piirretty ennen Screen.Drawia?
EDIT: Taulukkoon ei voi laittaa kuvaa .
EDIT: Taulukkoon ei voi laittaa kuvaa .
-
- Tech Developer
- Posts: 545
- Joined: Sun Aug 26, 2007 2:43 pm
- Location: Liminka
Re: ChaosBasic [version 0.0.1.8]
Sama ongelma täälläpäin...Sami345 wrote: Ei toimi. Tiedosto on polussa "C:\Program Files\Notepad++\userDefineLang.xml". Notepad++ on versio 4.6.
CoolBasic henkilökuntaa
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras
- Dibalo
- Advanced Member
- Posts: 298
- Joined: Mon Aug 27, 2007 8:12 pm
- Location: Espoo, Finland
- Contact:
Re: ChaosBasic [version 0.0.1.9]
Evo:jannepelaa wrote:Miksi muuten samaa kuvaa ei voi piirtää uudelleen, jos kuva on jo piirretty ennen Screen.Drawia?
Code: Select all
// ladataan kartta
Var map As Image = New Image
map.Load( "map512.jpg" )
Repeat
// asetaan läpinäkyvyys ja piirretään
map.SetOpacity( Mouse.X() / 640.0 )
map.Draw 0,0
map.Draw 100, 100
// info-teksti
Screen.Text 0,0, "Move mouse to adjust map's opacity."
// piirretään näyttö
Screen.Draw
Forever
Itse asiassa voi, mutta kuvia ei voi käyttää taulukon kautta. Tämä johtuu pienenpienestä bugista, jonka juuri äsken korjasin.EDIT: Taulukkoon ei voi laittaa kuvaa .
Re: ChaosBasic [version 0.0.1.8]
Ihmeellistä.KilledWhale wrote:Sama ongelma täälläpäin...Sami345 wrote: Ei toimi. Tiedosto on polussa "C:\Program Files\Notepad++\userDefineLang.xml". Notepad++ on versio 4.6.
Kokeilin ladata N++:n uudestaan (4.6 zippinä), purkaa ja ladata tuon xml-tiedoston ohjelman juureen. Syntaksivärjäys toimi oikein. Kokeilkaapa tekin ladata ohjelma uudestaan (vaikka zippinä) ja purkaa esim vanhan päälle.
P.S. Millä tavalla "ei toimi"? Ei ilmesty kielivalikkoon vai ei vain värjää koodia?
-
- Tech Developer
- Posts: 650
- Joined: Mon Aug 27, 2007 9:51 pm
- Location: Helsinki, Finland
- Contact:
Re: ChaosBasic [version 0.0.1.8]
Muistakaapas ihmiset käyttää silmiänne, kun ne on teille suotu. Jos värjäysmäärittely "toimii", ChB ilmestyy kielivalikon alalaitaan, joka ainakin minulla on piilossa, eli sinne täytyy rullata. Käyttäjän itse lisäämille värjäysmäärityksille on oma osio valmiiden alla.Jare wrote:P.S. Millä tavalla "ei toimi"? Ei ilmesty kielivalikkoon vai ei vain värjää koodia?
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Re: ChaosBasic [version 0.0.1.8]
Outua purin zipin tuonne ja korvasin kaikki tiedostot. Tämän jälkeen alkoi toimia.Jare wrote:Ihmeellistä.KilledWhale wrote:Sama ongelma täälläpäin...Sami345 wrote: Ei toimi. Tiedosto on polussa "C:\Program Files\Notepad++\userDefineLang.xml". Notepad++ on versio 4.6.
Kokeilin ladata N++:n uudestaan (4.6 zippinä), purkaa ja ladata tuon xml-tiedoston ohjelman juureen. Syntaksivärjäys toimi oikein. Kokeilkaapa tekin ladata ohjelma uudestaan (vaikka zippinä) ja purkaa esim vanhan päälle.
P.S. Millä tavalla "ei toimi"? Ei ilmesty kielivalikkoon vai ei vain värjää koodia?
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/
Re: ChaosBasic [version 0.0.1.9]
Täytyy siitä huolimatta että maailmalla on viime aikoina tapahtunut paljon, todeta, että Chaosbasic yksinkertaistaa yleisesti sovittuja ja toimiviksi todettuja organisaatio- ja johtamismallin muodollisuuksia.
-
- Active Member
- Posts: 101
- Joined: Tue Aug 28, 2007 2:27 pm
Re: ChaosBasic [version 0.0.1.9]
Anteeksi , pyöritettyä kuvaa ei voi piirtää uudestaan pyöritettynä ennen Screen.Drawia.Dibalo wrote:Evo:jannepelaa wrote:Miksi muuten samaa kuvaa ei voi piirtää uudelleen, jos kuva on jo piirretty ennen Screen.Drawia?Code: Select all
koodia...
- Dibalo
- Advanced Member
- Posts: 298
- Joined: Mon Aug 27, 2007 8:12 pm
- Location: Espoo, Finland
- Contact:
Re: ChaosBasic [version 0.0.1.9]
jannepelaa wrote:Anteeksi , pyöritettyä kuvaa ei voi piirtää uudestaan pyöritettynä ennen Screen.Drawia.
Code: Select all
Var cow As Image = New Image
cow.Load( "cow32.png" )
Repeat
// asetaan läpinäkyvyys ja piirretään
cow.SetOpacity( Mouse.X() / 640.0 )
cow.DrawRotated 200,110, 90
cow.DrawRotated 100,100,180
cow.DrawRotated 400,50, 230
// piirretään näyttö
Screen.Draw
Forever
-
- Active Member
- Posts: 101
- Joined: Tue Aug 28, 2007 2:27 pm
Re: ChaosBasic [version 0.0.1.9]
Mitä ihmettä? Tämä piirtää panoksen vain kerran:
Ja jos DrawRotatedin vaihtaa Drawiin, panos näkyy.
Code: Select all
...
For b = 0 To 9
If bullet[b,3] == 1 Then
bullet[b,0] = bullet[b,0] + Cos(bullet[b,2]) * 400 * delta_t
bullet[b,1] = bullet[b,1] - Sin(bullet[b,2]) * 400 * delta_t
guy.DrawRotated bullet[b,0], bullet[b,1], bullet[b,2]
EndIf
Next
guy.DrawRotated posx, posy, rotation
...
- Dibalo
- Advanced Member
- Posts: 298
- Joined: Mon Aug 27, 2007 8:12 pm
- Location: Espoo, Finland
- Contact:
Re: ChaosBasic [version 0.0.1.9]
En voi tutkia asiaa, jollen saa koko koodia tietooni.
EDIT: Vika on varmasti muualla:
EDIT: Vika on varmasti muualla:
Code: Select all
Var cow As Image = New Image
cow.Load( "cow32.png" )
Repeat
For i = 0 To 360 Step 10
cow.DrawRotated 320 + 200 * Cos(i), 240 - 200 * Sin(i), i
Next
Screen.Draw
Forever
-
- Active Member
- Posts: 101
- Joined: Tue Aug 28, 2007 2:27 pm
Re: ChaosBasic [version 0.0.1.9]
Code: Select all
Var guy As Image = New Image
guy.Load( "guy.bmp" )
// Panokset
Var bullet[10,4] As Integer
Var found
// Liikkuminen
Var posx As Float = 320
Var posy As Float = 240
Var rotation As Float = 0
Repeat
Var delta_t As Float = Screen.GetFrameTime()
// Liikkuminen ja ampuminen
If Key.Down(KEY_UP) Then
posx = posx + Cos(rotation) * 200 * delta_t
posy = posy - Sin(rotation) * 200 * delta_t
EndIf
If Key.Down(KEY_LEFT) Then
rotation += 180 * delta_t
EndIf
If Key.Down(KEY_RIGHT) Then
rotation -= 180 * delta_t
EndIf
If Key.Hit(KEY_LCONTROL) Then
found = 0
For b = 0 To 9
If found == 0 Then
If bullet[b,3] == 0 Then
bullet[b,0] = posx + 0//Cos(rotation) * 200 * delta_t
bullet[b,1] = posy + 0//Sin(rotation) * 200 * delta_t
bullet[b,3] = 1
bullet[b,2] = rotation
found = 1
EndIf
EndIf
Next
EndIf
// Panosten päivitys
For b = 0 To 9
If bullet[b,3] == 1 Then
bullet[b,0] = bullet[b,0] + Cos(bullet[b,2]) * 400 * delta_t
bullet[b,1] = bullet[b,1] - Sin(bullet[b,2]) * 400 * delta_t
guy.DrawRotated bullet[b,0], bullet[b,1], bullet[b,2]
Screen.Text 0,20*(b+1), bullet[b,0] +", "+ bullet[b,1] +", "+ bullet[b,2]
EndIf
Next
// Piirretään
guy.DrawRotated posx, posy, rotation
// Kerrotaan tietoa...
Screen.Text 0,0, "Angle: "+ rotation +", FPS: "+Screen.FPS()
Screen.Draw
Forever
- Dibalo
- Advanced Member
- Posts: 298
- Joined: Mon Aug 27, 2007 8:12 pm
- Location: Espoo, Finland
- Contact:
Re: ChaosBasic [version 0.0.1.9]
Koodissasi oli vikaa. Tässä toimiva:
Code: Select all
Var guy As Image = New Image
guy.Load( "guy.bmp" )
// Panokset
Var bullet[200,4] As Float
For i = 0 To 199
bullet[i,3] = 0
Next
// Liikkuminen
Var posx As Float = 320
Var posy As Float = 240
Var rotation As Float = 0
Repeat
Var delta_t As Float = Screen.GetFrameTime()
// Liikkuminen ja ampuminen
If Key.Down(KEY_UP) Then
posx = posx + Cos(rotation) * 200 * delta_t
posy = posy - Sin(rotation) * 200 * delta_t
EndIf
If Key.Down(KEY_LEFT) Then
rotation += 180 * delta_t
EndIf
If Key.Down(KEY_RIGHT) Then
rotation -= 180 * delta_t
EndIf
If Key.Hit(KEY_LCONTROL) Then
For b = 0 To 199
If bullet[b,3] == 0 Then
If bullet[b,3] == 0 Then
bullet[b,0] = posx
bullet[b,1] = posy
bullet[b,3] = 1
bullet[b,2] = rotation
b = 199 // vippaskonsti, jolla korvataan Break ;)
EndIf
EndIf
Next
EndIf
// Panosten päivitys
For b = 0 To 199
If bullet[b,3] == 1 Then
bullet[b,0] = bullet[b,0] + Cos(bullet[b,2]) * 400 * delta_t
bullet[b,1] = bullet[b,1] - Sin(bullet[b,2]) * 400 * delta_t
guy.DrawRotated bullet[b,0], bullet[b,1], bullet[b,2], 0.2, 0.2
If bullet[b,0] < 0 Or bullet[b,0] > 640 Then
bullet[b,3] = 0
ElseIf bullet[b,1] < 0 Or bullet[b,1] > 480 Then
bullet[b,3] = 0
EndIf
EndIf
Next
// Piirretään
guy.DrawRotated posx, posy, rotation
// Kerrotaan tietoa...
Screen.Text 0,0, "Angle: "+ rotation +", FPS: "+Screen.FPS()
Screen.Draw
Forever
-
- Active Member
- Posts: 101
- Joined: Tue Aug 28, 2007 2:27 pm
Re: ChaosBasic [version 0.0.1.9]
Aa.. taulukon jäseniä ei luodessa alusteta 0:ksi. Nyt toimii.Dibalo wrote:Koodissasi oli vikaa. Tässä toimiva:Code: Select all
koodia...
EDIT: Pistäppäs seuraavaan versioon Timer-funktio.
EDIT2: Trigonometrisistä funktioista puuttuu ATan2.
Last edited by jannepelaa on Sat Dec 15, 2007 12:34 pm, edited 1 time in total.
Re: ChaosBasic [version 0.0.1.9]
Itse toivoisin että tulisi myös Timer-olio. Oliolle voisi sanoa start, jolloin se alkaa ottamaan aikaa. Kun haluaa tietää kaunko aikaa on kulunut, voi kysyä oliolta tyyliin timer.elapsed. Haen sellaista ajanmittauskellon tapaista toimintaa. Kun noita omia luokkia ei vielä hetkeen ole tulossa säästyisi paljolta häsläämiseltä ajan kanssa jos olisi tuollainen.jannepelaa wrote: EDIT: Pistäppäs seuraavaan versioon Timer-funktio.
CoolBasic henkilökuntaa
Sisältövastaava
Sisältövastaava