ChaosBasic - KEHITTÄJIÄ HAKUSESSA!! (sivu 9)
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
programmer of DSG wrote:EDIT:aika hauska peli, vähän tylsä
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
Kyllä se ainakin uudemmilla näyttiksillä toimii. Ittelläni ei tule ongelmia kun lataan jotain random-kuvia, joiden leveydet/korkeudet eivät ole kahden potensseja.Sami The great(guest) wrote:Onko muuten näin, että kaaos ei pysty piirtämään kuvia jotka eivät ole 2^ muotoa kuten 32x32 ja 512x512. Mietin vain, kun eikös kaaos käytä näytönohjainta kuvien piirtoon ja itselle tuli sama asia esille, kun aloin latailemaan kuvia Irrlichtin kanssa ja sehän käyttää kanssa näyttistä piirrossa.
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
- Dibalo
- Advanced Member
- Posts: 298
- Joined: Mon Aug 27, 2007 8:12 pm
- Location: Espoo, Finland
- Contact:
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
Lataa (Pura exe ChaosBasic-kansioon ja korvaa entiset tiedostot.)
Korjattu seuraavat asiat:
- Runtimen kaatuminen, jos funktio palauttaa arvon.
- Editori odottaa nyt niin kauan kunnes runtime on sammunut (Compile&Run).
- Ulkoiset sulut eivät enää aiheuta kaatumista kääntäjässä.
- Avainsanojen korjailua.
- Lisätty komentorivikääntäjä, joka toimii seuraavalla tavalla: Cmdtool.exe _kooditiedoston_polku_ilman_välejä_ _exe_tiedoston_polku_ilman_välejä_
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
Toimii toi command-line compiler.
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
Code: Select all
Repeat
Screen.Box(0,0,500,500)
Screen.Draw()
Forever
-Älä tee yhdys sana virheitä.
-Vältä lyhenteitä mahd. muk.
-Yksi sanaiset lauseet? Unohda.
- Dibalo
- Advanced Member
- Posts: 298
- Joined: Mon Aug 27, 2007 8:12 pm
- Location: Espoo, Finland
- Contact:
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
Oiskos siitä mitenkään mahollista saada päivitystä?Dibalo wrote:20 sek meni... Korjattu.
Ja oiskos mahollista saada mahdollisuus muuttaa ohjelman taustaväriä joksikin muuksi kuin mustaksi?
Edit #2: Pitää viilata pilkkua, mutta jos oot manuaalin footeriks kirjoittanut
niin odottaisin että se oikeasti olisikin validia CSSää ja XHTMLää. Sitä se ei kumminkaan ole![/edit]© 2007 ChaosBasic | Matti Lankinen, Vili Lehtinen. Valid CSS & XHTML
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
OonSuomesta wrote:EDIT:Ja oiskos mahollista saada mahdollisuus muuttaa ohjelman taustaväriä joksikin muuksi kuin mustaksi?
Code: Select all
Repeat
Screen.Color 255,0,0
Screen.Quad 0,0, Screen.Width(),0, Screen.Width(),Screen.Height(), 0, Screen.Width()
Screen.Draw()
Forever
-Älä tee yhdys sana virheitä.
-Vältä lyhenteitä mahd. muk.
-Yksi sanaiset lauseet? Unohda.
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
Tiedän kyllä tuon, mutta haen jotain sellaista joka ei ole purkkaratkaisu. Jotain samanlaista kuin CB:ssä ClsColor.Nemesis wrote:OonSuomesta wrote:EDIT:Ja oiskos mahollista saada mahdollisuus muuttaa ohjelman taustaväriä joksikin muuksi kuin mustaksi?
Quad siis käytössä, koska tuo Box ei toimi.Code: Select all
Repeat Screen.Color 255,0,0 Screen.Quad 0,0, Screen.Width(),0, Screen.Width(),Screen.Height(), 0, Screen.Width() Screen.Draw() Forever
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
-
- Active Member
- Posts: 248
- Joined: Mon Aug 27, 2007 9:23 pm
- Location: Oulu
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
Puhdista kovalevy ja kokeile uudestaan - kunnon puhdistuksella saattaa irrota jopa giga tai pari tilaa. Tai osta uusi isompi kovo. .NET ei vie kuitenkaan kovin montaa kymmentä/sataa megaa tilaa, ja jokaisessa windows-koneessa pitää olla pari gigaa ainakin vapaana että kaikki toimii jouhevasti.Mr_Noob wrote:Harmi vaan etten pysty testaamaan tuota kun se hemmetin Framework 3.5 ei mahdu kovalevylle.
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
Yritin saada sen toimimaan sillä tavalla, että ylänuolta painettaessa kaikki lehmät poistuvat. Jostain syystä kun painan ylänuolta, niin ohjelma tilttaa.
Enkö vain osaa, vai onko ChaosBasicissa bugi?
Code: Select all
Class Cow
// yksityiset jäsenmuuttujat
Private Var mRotation As Float
Private Var mPosition[2,2] As Float // 0 = sijainti, 1 = nopeus
Private Var mImage As Image
// rakentajafunktio
// tätä kutsutaan VAIN KERRAN, heti olion luonnin jälkeen
// kutsu on automaattinen, eikä sitä voi suorittaa käsin
Constructor
mImage = New Image
mImage.Load "../media/cow.png"
mPosition[0,0] = Randomf(0,Screen.Width()) // x-koordinaatti
mPosition[0,1] = Randomf(0,Screen.Height()) // y-koordinaatti
mPosition[1,0] = Randomf(-300,300) // 0-300 pikseliä sekunnissa
mPosition[1,1] = Randomf(-300,300) // 0-300 pikseliä sekunnissa
mRotation = Randomf(0,360)
EndConstructor
// tämä on yksityinen funktiokutsu (tätä ei voi kutsua kuin luokan
// omien funktioiden sisältä)
Private Function UpdatePosition() As Void
For i = 0 To 1
mPosition[0,i] += mPosition[1,i] * Screen.GetFrameTime()
Next
If mPosition[0,0] <= 0 Or mPosition[0,0] >= Screen.Width() Then mPosition[1,0] = -mPosition[1,0]
If mPosition[0,1] <= 0 Or mPosition[0,1] >= Screen.Height() Then mPosition[1,1] = -mPosition[1,1]
EndFunction
// toinen yksityinen funktio
Private Function UpdateRotation() As Void
mRotation += 90 * Screen.GetFrameTime()
EndFunction
// julkinen funktio (Public-sanan voisi jättää edestä pois, tulos olisi sama)
Public Function Update() As Void
This.UpdatePosition // kokeile jättää "This." pois edestä, tulos on sama ;)
This.UpdateRotation
mImage.DrawRotated mPosition[0,0], mPosition[0,1], mRotation
EndFunction
EndClass
// Skaalautuva lehmä: periytetään Cow-luokasta
// erikoisuutena "sykkivä" ulkoasu
Class ScalingCow Inherits Cow
// skaalausmuuttuja
Private Var mScale As Float
Private Var mScaleSpeed As Float
// oletusmuodostin
Constructor
mScale = Randomf( 0.7, 1.3 )
mScaleSpeed = Randomf(-1,1)
EndConstructor
// ylikirjoitetaan Update-metodi
// huom!! Overrided on pakollinen!!
Public Overrided Function Update() As Void
// päivitetään skaalaus ensiksi
mScale += mScaleSpeed * Screen.GetFrameTime()
If mScale < 0.7 Or mScale > 1.3 Then mScaleSpeed = -mScaleSpeed
// kutsutaan nyt isäluokan funktiota (piirretään lehmä)
This.UpdatePosition
This.UpdateRotation
mImage.DrawRotated mPosition[0,0], mPosition[0,1], mRotation, mScale, mScale
EndFunction
EndClass
// tällä luokalla saadaan säädettyä läpinäkyvyyttä
Class OpacityObject
Private Var mOpacity As Float
Private Var mOpacitySpeed As Float
Function SetOpacitySpeed(Var speed As Float) As Void
mOpacitySpeed = speed
EndFunction
Function SetOpacity(Var op As Float) As Void
mOpacity = op
EndFunction
Function GetOpacity() As Float
Return mOpacity
EndFunction
EndClass
// Läinäkyvä lehmä: demostroi moniperintää!
Class OpacityCow Inherits Cow, OpacityObject
// muodostin
Constructor
SetOpacity( Randomf(0,1) )
SetOpacitySpeed( Randomf(-1,1) )
EndConstructor
// ylikirjoitaan päivitys
Overrided Function Update() As Void
// päivitetään läpinäkyvyys ensiksi
mOpacity += mOpacitySpeed * Screen.GetFrameTime()
If mOpacity < 0 Or mOpacity > 1 Then mOpacitySpeed = -mOpacitySpeed
mImage.SetOpacity( mOpacity )
// kutsutaan nyt isäluokan funktiota (piirretään lehmä)
This.UpdatePosition
This.UpdateRotation
mImage.DrawRotated mPosition[0,0], mPosition[0,1], mRotation
EndFunction
EndClass
// uups! poista kommentti niin tapahtuu kauheita.. :/
//_cow.UpdatePosition
Repeat
// lisätään uusi lehmä aina kun SPACEa klikataan
If Key.Hit(KEY_SPACE) Then
Var _cow As Cow
// luodaan uusi lehmä
If Random(0,100) < 50 Then
_cow = New OpacityCow
Else
_cow = New ScalingCow
EndIf
// lisätään se listaan!
Push _cow
EndIf
// käydään lista läpi!
Foreach _c In Cow
_c.Update()
Next
If Key.Hit(KEY_UP) Then
Foreach _c In Cow
Pop _c
Next
EndIf
// fps
Screen.Text 0,0,Screen.FPS()
Screen.Draw
Forever
Graafikko
- Dibalo
- Advanced Member
- Posts: 298
- Joined: Mon Aug 27, 2007 8:12 pm
- Location: Espoo, Finland
- Contact:
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
Lataa (Pura exe ChaosBasic-kansioon ja korvaa entiset tiedostot.)
Korjattu seuraavat asiat:
- Screen.Box -bugi poissa.
- Function Screen.ClsColor(Var r, Var g, Var b) As Void
- Korjattu paha bugi, joka aiheutti dynaamisten objektien smartpointer-järjestelmän sekaantumista.
- Pop-bugi poistettu.
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
Niin ja toimiihan tämä moitteita vistalla?
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
Täytyy kyllä myöntää, että versiokehitys on nyt veriosta 0.1.01 versioon 0.1.03 ollut varsin nopeata :D
Programmer of DSG: vanhoissa ChaosEditorin screenshoteissa näkyy Vista, joten luulen että koko ChaosBasic on kehitetty Vistalla, joten 32-bittisellä pitäisi varmaankin toimia moitteetta. 64-bit versiosta en osaa sanoa (olisihan se tuossa toisessa huoneessa olevassa koneessa, jota en ole kuukauteen käyttänyt. Pitäisi varmaan testata), paitsi että jollakin taisi aiemmin tässä ketjussa olla jotain ongelmia sen kanssa. Ja hotfixien koot ovat sitä puolta megaa, kun taas alkuperäinen paketti 2 megaa, joten luultavasti pitää alkuperäinen+hotfixit ladata
- Dibalo
- Advanced Member
- Posts: 298
- Joined: Mon Aug 27, 2007 8:12 pm
- Location: Espoo, Finland
- Contact:
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
Kuinkas ne staattiset jäsenmuuttujat ja -funktiot?
Löysin yhden bugin (vai teenkä sen vain väärin): Jos funktiolle yrittää välittää objektia parametrina, niin ChaosRun kaatuu. Ongelma toistuu esim. tässä koodissa
Code: Select all
Global Var y=0
Class CTest
Constructor
Screen.Text 0,y,"CTest Constructor"
y+=10
EndConstructor
EndClass
Function Test(Var t As CTest) As Void
Screen.Text 0,y,"Test-funktio"
y+=10
EndFunction
Var t As CTest = New CTest
Screen.Draw()
Key.Wait()
Test(t)
Screen.Draw()
Key.Wait()
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
Re: ChaosBasic 0.1.0.1 (Sledgehammer)
Kyllä. Tai periaatteessa uusin riittää, jos haluat päivittää vain Compiler.dll:n, mutta jos haluat itse editoristakin bugeja pois, niin sitten pitää päivittää järjestyksessä molemmat. (0.2 tulee päivityksiä sekä editoriin, että dll:n, plus cmdTool-ohjelma, ja 0.3:ssa tulee pelkkä dll-päivitys)programmer of DSG wrote:Siis latasin tuon alootus paketin, mutta pitääkö sitten kaikki hotfixit ladata järjestyksessä?