ChaosBasic [version 0.0.2.4]

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:

Re: ChaosBasic [version 0.0.1.0]

Post by Dibalo »

Jonez wrote:No tässäpä seuraava juttu. Onko siis niin, että ChB:ssä ei voi antaa muuttujille negatiivisia arvoja? Olen kokeillut seuraavaa:

Var muuttuja As Integer = -4

Var muuttuja As Float = -4 ; -4.0

Var muuttuja As Float (ja As Integer)
muuttuja = -4 ; muuttuja = 0 - 4 ; muuttuja == -4 jne jne...

Kaikkea mahdollista maan ja taivaan väliltä :) Kääntäjän "virheilmoitus" on sellainen, että se kaatuu.
Hmmmm. Etumerkin puuttuminen on tiedostossa. Sen sijaan nuo kaatumiset ovat outoja. Itselläni toimivat kaikki seuraavat:

Code: Select all

Var muuttuja = 0

muuttuja = 0 - 4
muuttuja = 0-4
muuttuja = muuttuja - 4
Voitko pastea koko koodisi. Todennäköisesti siellä on muuta, joka aiheuttaa kaatumisen.

koodaaja wrote:Tällä leikkiessäni törmäsin aivan samaan ongelmaan kuin jonezkin. Negatiivisia arvoja ei voi käyttää. En voi myöskään vähentää mistään mitään ( muuttuja = muuttuja - 20 ), vaan pukkaa "windows on havainnut virheen" -erroria.
Voitko pastea koko koodin? Vika on varmasti jossain muualla.
The darkest spells can be found from
http://tunkkaus.blogspot.fi
Drath
Newcomer
Posts: 40
Joined: Mon Aug 27, 2007 8:32 pm

Re: ChaosBasic [version 0.0.1.0]

Post by Drath »

Dibalo wrote:

Code: Select all

Var muuttuja = 0

muuttuja = 0 - 4
muuttuja = 0-4
muuttuja = muuttuja - 4
Itselläni toimii tuo postaamasi koodi, mutta jos ottaa muut kuin ekan ja 3 rivin pois niin kaatuu. Eli siis:

Code: Select all

Var muuttuja = 0

muuttuja = 0-4
Tuo kaataa kääntäjän. Jos lisää nuo sinun kokeilurivisi niin taas toimii. Ihankuin CB:n mavit :)
CoolBasic henkilökuntaa
Sisältövastaava
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: ChaosBasic [version 0.0.1.0]

Post by koodaaja »

Dibalo wrote:
Jonez wrote:No tässäpä seuraava juttu. Onko siis niin, että ChB:ssä ei voi antaa muuttujille negatiivisia arvoja? Olen kokeillut seuraavaa:

Var muuttuja As Integer = -4

Var muuttuja As Float = -4 ; -4.0

Var muuttuja As Float (ja As Integer)
muuttuja = -4 ; muuttuja = 0 - 4 ; muuttuja == -4 jne jne...

Kaikkea mahdollista maan ja taivaan väliltä :) Kääntäjän "virheilmoitus" on sellainen, että se kaatuu.
Hmmmm. Etumerkin puuttuminen on tiedostossa. Sen sijaan nuo kaatumiset ovat outoja. Itselläni toimivat kaikki seuraavat:

Code: Select all

Var muuttuja = 0

muuttuja = 0 - 4
muuttuja = 0-4
muuttuja = muuttuja - 4
Voitko pastea koko koodisi. Todennäköisesti siellä on muuta, joka aiheuttaa kaatumisen.

koodaaja wrote:Tällä leikkiessäni törmäsin aivan samaan ongelmaan kuin jonezkin. Negatiivisia arvoja ei voi käyttää. En voi myöskään vähentää mistään mitään ( muuttuja = muuttuja - 20 ), vaan pukkaa "windows on havainnut virheen" -erroria.
Voitko pastea koko koodin? Vika on varmasti jossain muualla.
Kuten jossain välissä mainitsinkin, ongelma katosi o: mutta se kyllä vaikutti tulleen nimenomaan tuosta, mitään muuta muutosta kun en tehnyt. ( nyt ei ole koodia enää olemassa, kun aloin tehdä hianompaa testiä enkä jaksanut kopioida sitä talteen )

EDIT:Whoa, kokeilinpas nyt ajaa noita erilaisia määrittelyjä, ja toimivatpa sittenkin. Eli olihan se vika sitten muualla koodissa >,<
User avatar
CCE
Artist
Artist
Posts: 650
Joined: Mon Aug 27, 2007 9:53 pm

Re: ChaosBasic [version 0.0.1.0]

Post by CCE »

Hienolta kuulostaa, mutta eipä taida näyönohjaimeni tukea näitä ChB sovelluksia.
En ainakaan usko että tekstin kuuluisi näyttää tältä.

Uskon vahvasti että vikana on koneeni Intelin integroitu näytönohjain, sillä ongelmia on ilmennyt muissakin peleissä ja ohjelmissa.
User avatar
vilQuri
Active Member
Posts: 239
Joined: Wed Aug 29, 2007 6:25 pm
Location: Turku

Re: ChaosBasic [version 0.0.1.0]

Post by vilQuri »

Sisältääkö Chaos Basic vielä tekstin pyyhkimis komentoa? Kyselin vain koska ilmeisesti aivan kaikki komennto eivät ole tulla readme:eessä Esmi. "Screen.Draw" :shock:
User avatar
Dibalo
Advanced Member
Posts: 298
Joined: Mon Aug 27, 2007 8:12 pm
Location: Espoo, Finland
Contact:

Re: ChaosBasic [version 0.0.1.0]

Post by Dibalo »

CCE wrote:Hienolta kuulostaa, mutta eipä taida näyönohjaimeni tukea näitä ChB sovelluksia.
En ainakaan usko että tekstin kuuluisi näyttää tältä.

Uskon vahvasti että vikana on koneeni Intelin integroitu näytönohjain, sillä ongelmia on ilmennyt muissakin peleissä ja ohjelmissa.
Hoituu.
The darkest spells can be found from
http://tunkkaus.blogspot.fi
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: ChaosBasic [version 0.0.1.0]

Post by temu92 »

Testasin tota matopeliä ja hieno on vaikka kieli on vielä ei niin kehittynyt :D
Ja hyvinhän tää projekti on edenny. Yritäs vielä jatkaa ni saadaan kohta parempi kieli kun CB
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: ChaosBasic [version 0.0.1.0]

Post by Jonez »

Code: Select all

Var muuttuja = 5

While Not Key.Hit(1)

	muuttuja = muuttuja - 1	
	Screen.Text 20, 20, muuttuja
	
	Screen.Draw()
EndWhile
Tämä koodi toimii mulla, mutta kääntäjä kaatuu jos laitan jonkun seuraavista:
Var muuttuja = -5

Var muuttuja = 0
muuttuja = muuttuja - 1

Edit. Huomasin just, että ton ei välttämättä tarvii edes mennä miinuksen puolelle. Toi kääntäjä saattaa kaatua vaikka muuttaisin muuttujan arvon kahdestakymmenestä viiteen (muuttuja = muuttuja - 15).

Huomasin myös, että ohjelma jää ikuiseen looppiin ja tulee "ohjelma ei vastaa" jos a) ei käytä ollenkaan funkkaria Screen.Draw(), tai b) For - Next-silmukassa pistää Step-arvoksi jaottoman luvun silmukoiden määrään nähden.
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
User avatar
Jare
Devoted Member
Posts: 877
Joined: Mon Aug 27, 2007 10:18 pm
Location: Pori
Contact:

Re: ChaosBasic [version 0.0.1.0]

Post by Jare »

Code: Select all

While Not Key.Hit(1)	// sama kuin ESC

	Var x
	Var y
	If Key.Down(203) Then //Vasemmalle
		x = x - 10
	EndIf
	If Key.Down(205) Then //Oikealle
		x = x + 10
	EndIF
	If Key.Down(208) Then //Ylös
		y = y - 10
	EndIF
	If Key.Down(200) Then //Alas
		y = y + 10
	EndIf
	Screen.Text x,y, "Hello World!"
	Screen.Draw
	
EndWhile
tuottaa seuraavaa:

Code: Select all

==================== Compiler log: ====================

[Line: 20, File: testcode.chb] Error: 16 (Missing start block.) -- Missing start block 'While'.
[Line: 0, File: ] Error: 0 (Missing ending block.) -- Start and end blocks don´t match at the end of the project.
[Line: 0, File: ] Error: 0 (Missing ending block.) -- Start and end blocks don´t match at the end of the project.

========= 0: Succeed, 1: Failed =========
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: ChaosBasic [version 0.0.1.0]

Post by Jonez »

Olet kirjottanu kahessa kohtaa EndIF, vaikka se on EndIf. Tarkkaa on ;)

Sinuna pienentäisin tota liikenopeutta millä tekstiä siirretään, koska fps on monia tuhansia.
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
tuhoojabotti
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 3:53 pm
Location: Suomi, Finland
Contact:

Re: ChaosBasic [version 0.0.1.0]

Post by tuhoojabotti »

Jare README:ssä sanotaan:ChaosBasic-kääntäjä on hyvin alkuvaiheessa. Tämän vuoksi kääntäjä saattaa antaa virheilmoituksia
täysin virheettömästäkin koodista. Lisäksi virheilmoitukset saattavat olla hyvin epämääräisiä
tai vääriä.


Game.End tai pelkästään End tai ihan miten vaan ois ihan kätevä nyt kun tein hienon robopako pelin niin kun tulee game over niin kuinka saan pelin sammutettua?

tässä koodi ;)

Code: Select all

//The ROBO-ESCAPE
Var x As Integer = 100
Var y As Integer = 100
Var elkut As Integer = 1000
Var noppa As Integer = 0
Var vx[10] As Integer
Var vy[10] As Integer 
Var vk[10]
Var reload As Integer = 20
Var peliohi As Integer = 0

For i=0 To 9
vx[i]=Random(0,630)
vy[i]=Random(0,470)
vk[i]=0
Next


While Not Key.Hit(1)	


	
	//statistics
	Screen.Text 0, 0, "FPS: " + Screen.FPS() + " hello world!"
	Screen.Text 0,10, "energia= " + elkut + "A"
	Screen.Text 0,25, "Press F1 for some info!"


	//pelaajan inputti
	If reload>20 Then 
		If Key.Down(200) Then
			y=y-1
		EndIf

		If Key.Down(208) Then
			y=y+1
		EndIf

		If Key.Down(203) Then
			x=x-1
		EndIf

		If Key.Down(205) Then
			x=x+1
		EndIf
		reload=0
	EndIf

	Screen.Text x, y, "#"

	//päivitä vihut
	For i=0 To 9
		noppa = Random(0,100)//mennäänkö ollenkaan?


		//minne mennä?
		If vk[i]==0 Then 
			If noppa==50 Then
				If vx[i]<x Then 
					vx[i]=vx[i]+1
				EndIf

				If vx[i]>x Then 
					vx[i]=vx[i]-1
				EndIf

				If vy[i]<y Then 
					vy[i]=vy[i]+1
				EndIf

				If vy[i]>y Then 
					vy[i]=vy[i]-1
				EndIf
			EndIf
		EndIf


		//ovatko vihut toistensa päällä?
		For v=0 To 9
			If v<>i Then 
				If vx[i]==vx[v] Then
					If vy[i]==vy[v] Then
						If vk[v]=0 Then
							vk[i]=1
							vk[v]=1
						EndIf
					EndIf
				EndIf
			EndIf
		Next
		//osutaanko pelaajaan?
		If vx[i]==x Then 
			If vy[i]==y Then 
				elkut=elkut-1
			EndIf
		EndIf


		//piirretään vihut
		If vk[i]==0 Then
			Screen.Text vx[i], vy[i], ":)"
		EndIf
		If vk[i]==1 Then 
			Screen.Text vx[i],vy[i], "*("
		EndIf

	
	Next
	reload=reload+1

	If elkut<0 Then 
		While Not Key.Hit(1) 
			Screen.Text 200,200,"Game Over!"
			peliohi=1
			elkut=1000000
			Screen.Draw
		EndWhile
	EndIf

	If Key.Hit(59) Then 
		While Not Key.Hit(28)
			Screen.Text 200, 200, "These little bastards (:)) are trying to absorb your energy" 
			Screen.Text 200, 220, "Use arrows to steer you'r ROBOT" 
			Screen.Text 200, 210, "While avoiding them try get them colliding each other to make them die!" 
			Screen.Text 200, 240, "-Go Back By Pressing Enter-" 
			Screen.Draw

		EndWhile
	EndIf




	If peliohi==1 Then
		Screen.Text Random(0,630),Random(0,470),"peliohi!!!"
		Screen.Wait(10)

	EndIf


	Screen.Draw
	



EndWhile
Imagedev.tuhoojabotti.com — “Programmer (noun): An organism that turns caffeine into code.”
User avatar
Jare
Devoted Member
Posts: 877
Joined: Mon Aug 27, 2007 10:18 pm
Location: Pori
Contact:

Re: ChaosBasic [version 0.0.1.0]

Post by Jare »

Kiitos, Jonez

Muutes ajattelin että syntaksivärjäys olisi hyvä homma, joten tein Notepad++:lle Chb:tä varten syntaksivärjäysohjeet, jos joku haluaa kokeilla.

Edit 10.12.2007: Muokkasin syntaksivärjäyksen tukemaan 0.0.1.8-version uusia avainsanoja sekä korjasin pari muuta juttua. Syntaksivärjäys löytyy nykyisin täältä: http://koti.mbnet.fi/jare1/chaosbasic/u ... neLang.xml. (klikkaa hiiren oikealla ja valitse "Tallenna", niin se tulee oikein.)

Lisää tuo Notepad++:n kansioon. Jos tiedosto on jo olemassa, älä korvaa tiedostoa! Tällöin siirrä <userLang>-tagit sisältöineen jo olemassa olevaan tiedostoon.
Last edited by Jare on Mon Dec 10, 2007 8:10 pm, edited 1 time in total.
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: ChaosBasic [version 0.0.1.0]

Post by Jonez »

Tuhoojabotti, tee pääsilmukka tähän tyyliin:

Code: Select all

Var poistu
Var gameEnds

poistu = 0
While poistu == 0
	If Key.Hit(1) Then
		poistu = 1
	EndIf

	If gameEnds == 1 Then
		poistu = 1
	EndIf	

	Screen.Draw()
EndWhile
Toi gameEnds vaan havainnollistaa että silmukasta voidaan poistua kunhan yksi useasta eri ehdosta toteutuu.
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
User avatar
Dibalo
Advanced Member
Posts: 298
Joined: Mon Aug 27, 2007 8:12 pm
Location: Espoo, Finland
Contact:

Re: ChaosBasic [version 0.0.1.0]

Post by Dibalo »

Olen korjannut monia löydettyjä bugeja. On ollut sen verran kiireitä, etten ole ehtinyt paljoakaan koodaamaan. Ensi viikolla tulee kuitenkin uusi, ominisuusrikkaampi versio (toivottavasti bugejakin on vähemmän)... 8-)
The darkest spells can be found from
http://tunkkaus.blogspot.fi
tuhoojabotti
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 3:53 pm
Location: Suomi, Finland
Contact:

Re: ChaosBasic [version 0.0.1.0]

Post by tuhoojabotti »

joo eipä tullut mieleen kiitti Jonez

Ehdotuksia:
Screen.Color //näytön väri
Screen.Text.Color //tekstin väri
End //lopetus
(Goto, Gosub) //ehkä
...
Imagedev.tuhoojabotti.com — “Programmer (noun): An organism that turns caffeine into code.”
User avatar
Jare
Devoted Member
Posts: 877
Joined: Mon Aug 27, 2007 10:18 pm
Location: Pori
Contact:

Re: ChaosBasic [version 0.0.1.0]

Post by Jare »

tuhoojabotti wrote: Ehdotuksia:
Screen.Color //näytön väri
Screen.Text.Color //tekstin väri
...
Vai olisiko paremmin näin?
Screen.BackColor //näytön taustaväri
Screen.DrawColor //Piirtoväri (tai pelkkä Screen.Color)

PS. Dibalo, hyvää syntymäpäivää ;)

Edit: SafeExit CoolBasicin tapaan olisi toivottava ominaisuus. Varsinkin näin alussa vielä voi (ehkä?) vahingossa päätyä ikuisiin lenkkeihin jos ei ole tarkkana.
jannepelaa
Active Member
Posts: 101
Joined: Tue Aug 28, 2007 2:27 pm

Re: ChaosBasic [version 0.0.1.0]

Post by jannepelaa »

Ei toimi Vistassa. :( Kun tuplaklikkaan Compiler.exe:ä, ei mitään tapahdu. Ei luo exeä, eikä näytössä näy mitään.

EDIT: Ei mitään. En ollut ladannut tuota pakettia, joka oli tuossa Dibalon viestissä. :?
EDIT2: On hieno! :D
User avatar
Dibalo
Advanced Member
Posts: 298
Joined: Mon Aug 27, 2007 8:12 pm
Location: Espoo, Finland
Contact:

Re: ChaosBasic [version 0.0.1.0]

Post by Dibalo »

Jare wrote:Vai olisiko paremmin näin?
Screen.BackColor //näytön taustaväri
Screen.DrawColor //Piirtoväri (tai pelkkä Screen.Color)

Edit: SafeExit CoolBasicin tapaan olisi toivottava ominaisuus. Varsinkin näin alussa vielä voi (ehkä?) vahingossa päätyä ikuisiin lenkkeihin jos ei ole tarkkana.
Todennäköisesti komento tulee olemaan:

Code: Select all

Screen.SetDrawColor
Screen.GetDrawColor()
Screen.SetClsColor
Screen.GetClsColor()
ChaosBasiciin on tulossa väriluokka.

SafeExit on tulossa seuraavaan versioon. 8-)
Jare wrote: PS. Dibalo, hyvää syntymäpäivää ;)
Kiitos! :D
The darkest spells can be found from
http://tunkkaus.blogspot.fi
jannepelaa
Active Member
Posts: 101
Joined: Tue Aug 28, 2007 2:27 pm

Re: ChaosBasic [version 0.0.1.0]

Post by jannepelaa »

Voiko muuttujan määritellä muuten kuin "Var joku As Integer", koska mielestäni sen voisi tehdä myös esim. "Integer joku". Vai käytetäänkö omia luokkia "Var joku as omaLuokka" :o ? Ja toisena asiana, ikkunan X-painikkeen painalluksen voisi saada selville vaikka uudelleenmäärittämällä luokan Screen funktion OnClose (painikkeen painamisella ei ainakaan vielä tapahtunut mitään). (Jos sitä ei tee, oletuksena ikkuna sulkeutuu.)

Nämä eivät vaikuta siis vielä, koska omia luokkia, eikä edes funktioita voi vielä tehdä.
User avatar
-Z-
Devoted Member
Posts: 682
Joined: Tue Aug 28, 2007 3:33 pm
Location: In ur danmaku, grazin ur bullets

Re: ChaosBasic [version 0.0.1.0]

Post by -Z- »

No höh. Yritän ajaa Compiler.exeä, mutta mitään ei tapahdu :(
"Fallout 3 (#10) marked a shift in the industry, a move that saw the western RPG begin to surpass its Japanese counterparts." -IGN top 100 RPGs of all time
Post Reply