ChaosBasic - KEHITTÄJIÄ HAKUSESSA!! (sivu 9)

Muu yhteisön välinen keskustelu.
Post Reply
User avatar
Dibalo
Advanced Member
Posts: 298
Joined: Mon Aug 27, 2007 8:12 pm
Location: Espoo, Finland
Contact:

ChaosBasic - KEHITTÄJIÄ HAKUSESSA!! (sivu 9)

Post by Dibalo »

Image

NYT SE ON TÄÄLLÄ!!!

Tätä on odotettu! Tätä varten on itketty! Tämän vuoksi on vuodatettu kyyneliä! Tähän on uhrattu verta ja hikeä! Mutta odotus palkitaan: ChaosBasic palaa uutena ja uljaampana kuin koskaan!!! Muut kielet kalpenevat, kun ChaosBasic jyrää torvisoittokunnan helmeilevän säestyksen hurmoksessa yli taistelukenttien kohti Voittoa ja Jumalaista Kunniaa!

Joo-o... Eli ChaosBasic on saavuttanut uuden version 0.1.0.1, joka tottelelee koodinimeä Sledgehammer (suom. moukari, sotavasara). Tämän eteen olen viettänyt monta monituista tuntia kiroillen ja piereskelle koodin ääressä. Mutta toivon mukaan tämä aherrus ei ole ollut turhaa, sen päätätte te, hyvä käyttäjäkunta. ChaosBasic on kokenut sisäisesti melkoisen kauneusleikkauksen mm. funktio- ja muuttujajärjestelmän täydellisen muutoksen. Nämä tulevat heijjastumaan jatkossa nopeampana kehityksenä ja helpompana päivityksenä minulle. Myös dll-systeemi on hiottu viimeistellymmäksi: esimerkiksi Win32-natiiveja DLL:iä voidaan kutsua nyt suoraan ChaosBasic-koodista. Tämä antaa herkullisen voimavaran, kun laajennuspalikoita aletaan väkertämään. Lähipäivinä julkaisen vieläpä päivitetyn version, joka sisältää DLL:n, jolla ChaosBasicin sisäänrakennettuja metodeita voidaan käyttää kyseisen dll:n välityksellä. Toisin sanoen Kaaosta voidaan jatkaa C++:lla. ;)

Ominaisuuksia on tullut roppakaupalla lisää, mainittakoon muunmuassa:
  • Select - Case - Default - EndSelect
  • Break, Continue
  • Foreach/Push/Pop
  • Luokat polymorfismilla ja moniperinnällä ( + Private ja Public )
  • Uusi SmartPointer-järjestelmä (ei Delete-operaattoria ollenkaan!)
  • Manuaali!!!
  • Roppakaupalla kivoja funktioita
Paketti on saanut myös oman editorin: ChaosEditor. Tämä on kuitenkin pienempi tai suurempi susi, joten sen kehitystä ei enää jatketa. Alan väsäämään uutta ja entistä ehompaa editoria, johon teillä, hyvät käyttäjät, on mahdollisuus vaikuttaa hyvin perustelluilla ehdotuksilla ominaisuuksista. Nykyisen editorin vioista on turha mainita yhtään - sen kehitystä ei jatketa. Jos syntaksivärjäyksestä puuttuu avainsanoja (esim. If, Else.., funktiot eivät ole avainsanoja), niin niistä voi ilmoittaa. Näin voin korjata avainsanat tuleviin hotfixeihin. Editorissa on tiedossani muutama melko paha bugi, joten lukekaa seuraava huolella:
  • Älkää käyttäkö projekteja, ne kusevat pahemman kerran.
  • Tiedostoa tallennetaessa nimeltä tulee lisätä ".chb" tiedostonimen perään (ohjelma ei tätä automaattisesti tee).
  • Compiler-settings on turha, sitä ei kannata säätää.
  • Syntaksivärjäys ei osaa korjata 2-kirjaimisia avainsanoja (If, As..), joten olkaa tarkkana kirjainten koon kanssa!
  • Editori saattaa kaatuilla tyhjästä, joten muistakaa tallentaa tiedostot usein!
  • Yläpalkin teksti ei osaa päivittyä kunnolla.
  • Manuaali aukeaa F1-näppäimestä
  • Editorin reboottaus auttaa (ehkä) moniin ongelmiin.
Ja vielä saarnaa: huomatkaa, että ChaosBasic on vasta taipaleensa alkumetreillä. Tämän vuoksi kääntäjä sekä runtime saattavat kaatuilla ja vuotaa useasti, jopa vaikka koodi olisikin oikein. Tämän vuoksi on elintärkeää, että lähetätte "virheellisen" koodin minulle ja selitätte mahdollisimman tarkasti, mitä tapahtuu ja missä vaiheessa. Näin saamme ChaosBasicia varmemmaksi ja koko ajan paremmaksi. Jos ohjelma kaatuu ilman virheilmoitusta, on em. toimenpiteet suoritettava mahdollisimman pian. HUOM! En ota vastuuta ChaosBasic:n tai muiden paketin oheistuotteiden aiheuttamista vahingoista koneellesi (tai sinulle). Käyttö on siis täysin omalla vastuullasi.

P.S. http://www.chaosbasic.com ei ole vielä olemassa, mutta tulee lähiaikoina... :mrgreen:
P.P.S. Kiitos CB:n paketille hyvistä grafiikoista - ne uusitaan ChaosBasicin omiksi heti, kun mahdollista.

Mutta pitemmittä puheitta:

Lataa ChaosBasic 0.1.0.1.

Jos editori ei toimi, sinulta puuttuu .NET Framework 3.5.
Jos kääntäjä ei toimi, sinulta puuttuu VC++ SP1 Redistributable (x86).
Jos runtime ei toimi, sinulta puuttuu DirectX 9.0c Redistributable.

HUOM!
Manuaali on hyvin keskeneräinen. Esimerkiksi esimerkkikoodit ovat hyvin huonoja ja kaikki eivät edes käänny. Lisäksi esimerkkejä pastetessa kaikki menee yhdelle riville. Tämä korjataan lähipäivinä. Kielen komennot ovat hyvin heikosti dokumentoitu. Niitä voi opetella parhaiten example-kansiosta löytyvillä esimerkki-koodeilla. Tähänkin tulee parannus mahdollisimman pian.



12.6.2008

0.1.0.2 HOTFIX ILMESTYNYT!!
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ä_


13.6.2008

0.1.0.3 HOTFIX ILMESTYNYT!!
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.


15.6.2008

0.1.0.4 HOTFIX ILMESTYNYT!!
Lataa (Pura exe ChaosBasic-kansioon ja korvaa entiset tiedostot.)

Korjattu seuraavat asiat:
  • ChaosBasic-ikkunan sammuminen, kun Key.Hit-komennon aikana painaa ruksia.
  • Ohjelman kaatuminen, jos funktioihin välittää omia luokkia.
  • Repeat-Until sotkee scopet (ja aiheuttaa näin muuttujien "unohtamista").
Tähän vielä lisänä nopia fixaus, joka korjaa rakentaja-ongelman ja yhden foreach-ongelman.
Lataa quickfix.

Huom! Huomasin, että ChaosBasic ei tule sisäkkäisiä Foreach-looppeja samaan tyyppiin. Esimerkiksi koodi:

Code: Select all

Foreach a In A
Foreach a In A
   // koodia
Next
  // koodia
Next
Aiheuttaa toivotusta poikkeavaa käytöstä ja mahdollisesti kaataa ohjelman. Välttäkää siis tätä niin kauan kunnes saan asian kuntoon.



17.6.2008

VERSIO 0.1.0.5 ILMESTYNYT!!!
Lataa (sisältää kaiken - ei siis pelkkä hotfix).

Muutoksia:
  • Korjattu bugi: Runtimen kaatuminen Screen.Lock-komennossa
  • Lisätty funktio: Image::Hotspot(float x, float y, float w, float h) As Void
  • Lisätty funktio: Image::RemoveHotspot() As Void
  • Muuta: Manuaalia päivitetty.


8.6.2010

Haluatko kehittäjäksi Kaaokseen?

Kaaoksen kehitykseen haetaan nyt 3-5 henkilöä kehittämään kieltä eteenpäin. Jos olet kiinnostunut, lue lisää tästä linkistä:
http://www.chaosbasic.com/phpBB3/viewtopic.php?f=5&t=96

Ilmoittautua voi IRC:ssä, tämän sekä Kaaoksen foorumin PM:llä tai sähköpostilla.
The darkest spells can be found from
http://tunkkaus.blogspot.fi
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Koodiapina »

Miten tätä käytetään 0__o? Mulle ilmesty vaan kansio 'kaaos', joka sisältää 'ChaosRun' nimisen exen, josta tulee esimerkkiohjelma.
User avatar
Dibalo
Advanced Member
Posts: 298
Joined: Mon Aug 27, 2007 8:12 pm
Location: Espoo, Finland
Contact:

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Dibalo »

Selitä tarkemmin. Ensiksi pitää purkaa tuo paketti (itsepurkautuva .exe), jonka jälkeen pitää käynnistää IDE-kansiosta ChaosEditor.exe.
The darkest spells can be found from
http://tunkkaus.blogspot.fi
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Koodiapina »

Tietenkin purin sen paketin, mutta mulle ei tullu mitään IDE kansiota. Kokeilen uudestaan jos latauksessa tapahtu jotain häikkää.

EDIT: JAAHAS. En katsonut mihin se sitä asenteli, ja Firefoxin kansioonhan se sen sujautti :D
Last edited by Koodiapina on Wed Jun 11, 2008 11:00 pm, edited 1 time in total.
Myst!c
Advanced Member
Posts: 259
Joined: Fri Dec 21, 2007 11:49 am
Location: Kemi

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Myst!c »

Dibalo wrote:Selitä tarkemmin. Ensiksi pitää purkaa tuo paketti (itsepurkautuva .exe), jonka jälkeen pitää käynnistää IDE-kansiosta ChaosEditor.exe.
Onko Manuaalit ja Hei maailma "ainoat" tutoriaalit vielä? :P Vähän töykeää sanoa että niitä pitäisi olla enemmän mutta käyttäjien olisi helpompi opetella sitä jos olisi jotain mistä opetella. :) Tosin Eikö siinä ole pikakuvakkeita esim funktiot jne joissa on jotain opetettavaa? :D

EDIT: Anteeksi, näin näkyy, kyllä tuosta jo saa kaiken selville, eikun opettelemaan. --> :)
Every Legend Has A Start!
User avatar
Dibalo
Advanced Member
Posts: 298
Joined: Mon Aug 27, 2007 8:12 pm
Location: Espoo, Finland
Contact:

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Dibalo »

Kielen voi opetella example-kansioista olevista koodeista. Esimerkiksi luokista on "hyvä" tutoriaali siellä. :P
The darkest spells can be found from
http://tunkkaus.blogspot.fi
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Koodiapina »

Code: Select all

// tämä on kommenttirivi - tätä riviä ei suoriteta ohjelmassa 
// Screen.AddText tulostaa näytölle sitä seuraavan merkkijonomuuttujan tai -vakion
Screen.AddText "Hei maailma!" 
// päivitetään näyttö (jotta saadaan teksti näkymään) 
Screen.Draw 
// odottaa, että näppäimistöä painetaan 
// Key.Wait() odottaa niin kauan kunnen näppäintä painetaan 
Key.Wait()
Virhe tälle koodille on rivillä 3, Class CHB::Screen has no member 'Addtext'. Mistäköhän johtuu? Kopioin tuon suoraan manuaalista.
Olwi
Devoted Member
Posts: 557
Joined: Sun Dec 30, 2007 4:15 pm
Location: Muhos

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Olwi »

Pitääpäs testailla :)


Jotain puuttuu enkä jaksa alkaa latailee.
Vähän ajan päästä:D
Huuda mun ip:tä!
Alodnal
Newcomer
Posts: 6
Joined: Wed Aug 29, 2007 3:42 pm
Location: Finland
Contact:

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Alodnal »

Tuotaniin.. Kun yritän compileata niin heittää tällaisen errorin:

"Unhandled exception has occured in your application.

An attempt was made to load a program with an incorrect format.
(Exception from HRESULT: 0x8007000B)."

Samanlainen error tulee myös jos yritän mennä Color Preferensiin.

.NET framework kyllä on ja installoin tuon VC++ Redistin myös mutta ei auttanut, bootasin kyllä koneenki.

Mahtaako Vistalla olla jotain tämän kanssa tekemistä? :P
User avatar
Dibalo
Advanced Member
Posts: 298
Joined: Mon Aug 27, 2007 8:12 pm
Location: Espoo, Finland
Contact:

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Dibalo »

Alodnal wrote:.NET framework kyllä on ja installoin tuon VC++ Redistin myös mutta ei auttanut, bootasin kyllä koneenki.
Mahtaako Vistalla olla jotain tämän kanssa tekemistä? :P
Toimii Vistalla. Kokeileppa asentaa 3.5: http://www.microsoft.com/downloads/deta ... laylang=en
The darkest spells can be found from
http://tunkkaus.blogspot.fi
Alodnal
Newcomer
Posts: 6
Joined: Wed Aug 29, 2007 3:42 pm
Location: Finland
Contact:

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Alodnal »

Dibalo wrote:Toimii Vistalla. Kokeileppa asentaa 3.5
Tuo versio minulla on jo. Mahtaakohan vaikuttaa ku on 64-bittinen vista?
User avatar
Dibalo
Advanced Member
Posts: 298
Joined: Mon Aug 27, 2007 8:12 pm
Location: Espoo, Finland
Contact:

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Dibalo »

Hyvin mahdollista. :(
The darkest spells can be found from
http://tunkkaus.blogspot.fi
Nemesis
Member
Posts: 51
Joined: Sat May 17, 2008 1:54 pm

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Nemesis »

Vau! Näyttää hienolta. Ei muuta kuin opettelemaan. Alanpa saman tien kääntämään vanhoja CB-kokeiluja kaaokselle!
EDIT:

Joo, tuossa editorissa on tosiaan bugeja. Yhtäkkiä editori ilmoitti virheestä ja sen jälkeen tekstilaatikkoon piirtyi valkoiselle pohjalle punainen rasti. En voinut muuta kuin sulkea koko ohjelman. :D

EDIT2:
Äsh. Ärsyttävä bugi: Joskus tiedoston muokkaus ei vaikuta, ja vaikka tiedostoa muokataan editorissa (ja se tallentuukin muokattuna), ohjelma kuitenkin pysyy muuttumattomana. Tämä sama ohjelma ajetaan myös, jos luo uuden tiedoston ja ajaa sen tallentamatta.
Eli esimerkiksi ensin teen ohjelman, joka tulostaa tekstin "Hello, World!". Muokkaan sitä niin, että sen pitäisi tulostaa "Hei maailma!". Kun ajan muokatun tiedoston, ruudulla lukee edelleen "Hello, World!".

EDIT3:
Tuo ongelma korjautuu sillä, että aina ohjelman ajamisen jälkeen lopettaa tehtävienhallinnasta ChaosRun.exe-prosessin. Ongelma on siis ilmaisesti se, että ajettava ohjelma ei sulkeudu ajamisen jälkeen, vaan jää taustalle pyörimään.
EDIT4:
Kaikkein harmillisin bugi on tuo Drathin mainitsema, eli luokan jäsenfunktiot eivät osaa palauttaa arvoa, vaan ohjelma kaatuu palautusta yritettäessä.

Last edited by Nemesis on Thu Jun 12, 2008 9:17 pm, edited 3 times in total.
Asian tuntian oikein kirjoitus ohjeet:
-Älä tee yhdys sana virheitä.
-Vältä lyhenteitä mahd. muk.
-Yksi sanaiset lauseet? Unohda.
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by valscion »

Grandi wrote:

Code: Select all

// tämä on kommenttirivi - tätä riviä ei suoriteta ohjelmassa 
// Screen.AddText tulostaa näytölle sitä seuraavan merkkijonomuuttujan tai -vakion
Screen.AddText "Hei maailma!" 
// päivitetään näyttö (jotta saadaan teksti näkymään) 
Screen.Draw 
// odottaa, että näppäimistöä painetaan 
// Key.Wait() odottaa niin kauan kunnen näppäintä painetaan 
Key.Wait()
Virhe tälle koodille on rivillä 3, Class CHB::Screen has no member 'Addtext'. Mistäköhän johtuu? Kopioin tuon suoraan manuaalista.
Samaa virhettä pukkasi minulla. Sitten vähän testasin ja sain toimimaan kyseisen esimerkin tällä koodilla:

Code: Select all

// tämä on kommenttirivi - tätä riviä ei suoriteta ohjelmassa 
// Screen.AddText tulostaa näytölle sitä seuraavan merkkijonomuuttujan tai -vakion 
Screen.Text 0,0,"Hei maailma!"
// päivitetään näyttö (jotta saadaan teksti näkymään) 
Screen.Draw 
// odottaa, että näppäimistöä painetaan 
// Key.Wait() odottaa niin kauan kunnen näppäintä painetaan 
Key.Wait()
EDIT:

Ääkköset eivät näy oikein:

Code: Select all

Repeat
  Screen.Text 0,0,"Ääkkösiä"
  Screen.Draw
Forever
[/edit]
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
Sami345
Advanced Member
Posts: 349
Joined: Fri Aug 31, 2007 4:52 pm
Contact:

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Sami345 »

Näin saat ChB:n toimimaan Vistassa (Niko40 ohjeet CoolBasic:ille hieman muokattuna):

1. Mene: "C:\Program Files\" ja etsi ChaosBasic kansio.
2. Oikealla hiiren painikkeella ominaisuudet.
3. Välilehti "Suojaus" -> Puolessa välin ikkunaa on kohta "Muokkaa", paina sitä.
4. Avautuvassa ikkunassa paina: users (<koneen nimi>\users).
5. Kun se on valittuna, alapuolella näkyy Käyttöoikeudet: Users. Samalla rivillä myös "Salli" ja "Estä".
6. Paina rasti ruutuun "Täydet oikeudet" kohdalle "Salli".
7. OK ja OK. Vastaa hyväksyvästi kaikkiin kysymyksiin.
8. Käytä ChB:tä.

Tässä oletetaan, että ChaosBasic on asennettu polkuun C:\Program Files\ChaosBasic\.
Projektit: Fiperus - Jäädytetty pidemmäksi aikaa.
Voitot: Viikkokisa XIII, Pikapelikisa 3, Pikapelikisa 13
http://www.sami345.tk/
Dande
Active Member
Posts: 193
Joined: Tue Aug 28, 2007 4:30 pm

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Dande »

Mahtavalta vaikuttaa. Editori tosiaan on hieman oikullinen, mutta muuten tämä vaikuttaa jo täysin pätevältä vaikka oman projektin väsäämiseen.

Taitaa muuten New-sanasta puuttua syntaksivärjäys.

Huomasin, että jos If-lauseen kanssa käyttää sulkua, se aiheuttaa editorin kaatumisen:

Code: Select all

If  (Key.Down(KEY_UP))  Then
	//mitä tahansa tähän
EndIf
Aiheuttaa kaatumisen, mutta

Code: Select all

If  Key.Down(KEY_UP)  Then
	//mitä tahansa tähän
EndIf
Taas ei aiheuta kaatumista. Tämä on hieman harmillista, sillä olen tottunut kirjoittamaan If-lauseet sulkujen kanssa
Sami345
Advanced Member
Posts: 349
Joined: Fri Aug 31, 2007 4:52 pm
Contact:

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Sami345 »

Voiko rakennusfunktiolle antaa parametreja? Tuleeko videon toisto pian?
Projektit: Fiperus - Jäädytetty pidemmäksi aikaa.
Voitot: Viikkokisa XIII, Pikapelikisa 3, Pikapelikisa 13
http://www.sami345.tk/
tuhoojabotti
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 3:53 pm
Location: Suomi, Finland
Contact:

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by tuhoojabotti »

nyt kyllä tarvitaan kaaokselle oma foorumi :D
Imagedev.tuhoojabotti.com — “Programmer (noun): An organism that turns caffeine into code.”
User avatar
Sami The Great
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 4:15 pm
Contact:

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Sami The Great »

Onko kaaokseen tulossa ikkuna moodi jossa ikkunaa voi venyttää? Pystyykö kaaoksen tulevassa kartta muodossa tekemään läpinäkyviä kerroksia? Esim. varjot olisivat helppo toteuttaa näin. Ja tukeeko kartta muoto rajattoman määrän eri kerroksia?
http://www.rockodilegames.com
CoolBasickin käyttäjä vuodesta 2004.
Drath
Newcomer
Posts: 40
Joined: Mon Aug 27, 2007 8:32 pm

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Drath »

Löytyi aika kriittinen bugi: jos luokan funktio palauttaa jotain, chb kaatuu. Ongelman voi toistaa vaikkapa tällä koodinpätkällä:

Code: Select all

Class Testclass

	Public Function GetStuff() As Integer
		Return 1
	EndFunction

EndClass

Var testObject As Testclass = New Testclass

testObject.GetStuff()
CoolBasic henkilökuntaa
Sisältövastaava
Post Reply