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

Muu yhteisön välinen keskustelu.
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 »

Zero wrote:Aika ironista kyllä: Minä ja Dibalo ollaan aika samanlaisia. Olin saman ikäinen silloin kun CoolBasicin kakkosversio ilmestyi. Sen jälkeen menin armeijaan (ihan kuin Dibalokin), ja arvaa näyttikö se oma koodi sotkuiselta kun palasin takaisin (Dibalolla vissiin ihan sama tilanne edessä). Ja sitten pitäisi lähteä jatko-opiskelemaan tai töihin. Aikaa ei enää olekaan niin paljon, ja sitä helposti passivoituu.
Tämänpä takia aloitin kääntäjän täysin alusta ennen inttiä. Toivottavasti saan vielä siitä jotain selvää... Kommenttejakin pitäisi olla... :P
Täältä vaan intin koneilta kirjoittelen, hyvät olot täällä LJK:ssa! :D
The darkest spells can be found from
http://tunkkaus.blogspot.fi
Sami345
Advanced Member
Posts: 349
Joined: Fri Aug 31, 2007 4:52 pm
Contact:

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Sami345 »

Tein CD-aseman hallintaluokan, jolla voi avata ja sulkea CD-aseman.

Code: Select all

DllFunction __stdcall "winmm.dll" "mciSendStringA" mciSendString(Var lpstrCommand As String, Var lpstrReturnString As String, Var uReturnLength As Integer, Var hwndCallback As Integer) As Integer


Class CDtray
	Public Function Open() As Void
		mciSendString("Set CDAudio Door Open Wait", Null, Null, Null)
	EndFunction
	
	Public Function Close() As Void
		mciSendString("Set CDAudio Door Closed Wait", Null, Null, Null)
	EndFunction
EndClass

Var asema As CDtray = New CDtray
asema.Open()
asema.Close()
Offtopic:
Onko hallintaluokka yhdyssana?
Projektit: Fiperus - Jäädytetty pidemmäksi aikaa.
Voitot: Viikkokisa XIII, Pikapelikisa 3, Pikapelikisa 13
http://www.sami345.tk/
Nemesis
Member
Posts: 51
Joined: Sat May 17, 2008 1:54 pm

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Nemesis »

Sami345 wrote:Tein CD-aseman hallintaluokan, jolla voi avata ja sulkea CD-aseman.

Code: Select all

DllFunction __stdcall "winmm.dll" "mciSendStringA" mciSendString(Var lpstrCommand As String, Var lpstrReturnString As String, Var uReturnLength As Integer, Var hwndCallback As Integer) As Integer


Class CDtray
	Public Function Open() As Void
		mciSendString("Set CDAudio Door Open Wait", Null, Null, Null)
	EndFunction
	
	Public Function Close() As Void
		mciSendString("Set CDAudio Door Closed Wait", Null, Null, Null)
	EndFunction
EndClass

Var asema As CDtray = New CDtray
asema.Open()
asema.Close()
Offtopic:
Onko hallintaluokka yhdyssana?
Ihan kätevä!
Offtopic:
On se.
Asian tuntian oikein kirjoitus ohjeet:
-Älä tee yhdys sana virheitä.
-Vältä lyhenteitä mahd. muk.
-Yksi sanaiset lauseet? Unohda.
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 »

VOKSELIT RULEZ

Joo, eli käänsin aavesoturin muinaisen cb vokseli testin kaaokselle.

Ohjaus:
liikkuu WASD:ista
R-F kääntää alas ylös
F3:sta maailman pehmennys
F4:stä värien pehmennys

Sisältö:
esimerkki kuva
sorsat
exe
kartta tiedostot

tässä sitten se tiedosto: VOXELS
Imagedev.tuhoojabotti.com — “Programmer (noun): An organism that turns caffeine into code.”
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Koodiapina »

Tuhoojabotti: Mikäköhän on vikana kun ei toimi mulla? Kun käynnistän .EXEn, tulee seuraavanlainen virheilmoitus:Image

EDIT: Hei onkos tuo DirectX, kun tossa on tota dx sotkua?
Sami345
Advanced Member
Posts: 349
Joined: Fri Aug 31, 2007 4:52 pm
Contact:

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Sami345 »

tuhoojabotti wrote:VOKSELIT RULEZ

Joo, eli käänsin aavesoturin muinaisen cb vokseli testin kaaokselle.

Ohjaus:
liikkuu WASD:ista
R-F kääntää alas ylös
F3:sta maailman pehmennys
F4:stä värien pehmennys

Sisältö:
esimerkki kuva
sorsat
exe
kartta tiedostot

tässä sitten se tiedosto: VOXELS
Eipäs toimi oikein hyvin, koska FPS on 1.6. Olisiko mahdollista saada kevyempää versiota?
Projektit: Fiperus - Jäädytetty pidemmäksi aikaa.
Voitot: Viikkokisa XIII, Pikapelikisa 3, Pikapelikisa 13
http://www.sami345.tk/
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by koodaaja »

Näyttävi siltä, että sinulla ei ole DirectX 9 asennettuna. d3dx9_32.dll on siis DX 9:n Direct3D-dll, eli se joka huolehtii laitteistokiihdytetystä piirtämisestä ( 32 viittaa luonnollisesti 32-bittiseen käyttöjärjestelmään, tämä ihan vain nimen sotkuisuuden selventämiseksi )

Eli joko lataat tuon dll:n ja laitat windows\system32 -kansioon tai asennat DX9:n uudelleen. Suosittelen ainakin kokeilemaan ensin mainittua, koska se on paljon pienempi operaatio.
cheeshelmet.jr
Member
Posts: 75
Joined: Tue Aug 28, 2007 6:59 am

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by cheeshelmet.jr »

Tein tässä aikani pitkäksi GetAngle function ku sitä ei näyttänyt olevan koodi saattaa olla kyllä purkaa ;)

Code: Select all

Function GetAngle(Var x1 As Float,Var y1 As Float,Var x2 As Float, Var y2 As Float) As Float 
	Var vastaus As Float = 0
	Var xVel As Float = Distance(x1,0,x2,0)
	Var yVel As Float = Distance(0,y1,0,y2)
	Var ange As Float = ATan( yVel / xVel )
	
	If x1 < x2 And y1 < y2 Then 
		vastaus = 360-ange 
	ElseIf x1 > x2 And y1 < y2 Then 
		vastaus = 180+ange 
	ElseIf x1 > x2 And y1 > y2 Then 
		vastaus = 180-ange 
	ElseIf x1 < x2 And y1 > y2 Then 
		vastaus = ange 
	ElseIf x1 == x2 And y1 > y2 Then 
		vastaus = 90
	ElseIf x1 == x2 And y1 < y2 Then 
		vastaus = 270
	ElseIf x1 > x2 And y1 == y2 Then 
		vastaus = 180
	EndIf 
	
	Return vastaus
EndFunction 
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 »

cheeshelmet.jr wrote:Tein tässä aikani pitkäksi GetAngle function ku sitä ei näyttänyt olevan koodi saattaa olla kyllä purkaa ;)

Code: Select all

...koodia...
Ja tässä vielä sama mahdollisimman lyhyeksi karsittuna:

Code: Select all

Function GetAngle(Var x1 As Float,Var y1 As Float,Var x2 As Float, Var y2 As Float) As Float 
	If x1 < x2 And y1 < y2 Then 
		Return 360 - ATan( Distance(0,y1,0,y2) / Distance(x1,0,x2,0) ) 
	ElseIf x1 > x2 And y1 < y2 Then 
		Return 180 + ATan( Distance(0,y1,0,y2) / Distance(x1,0,x2,0) ) 
	ElseIf x1 > x2 And y1 > y2 Then 
		Return 180 - ATan( Distance(0,y1,0,y2) / Distance(x1,0,x2,0) ) 
	ElseIf x1 < x2 And y1 > y2 Then 
		Return ATan( Distance(0,y1,0,y2) / Distance(x1,0,x2,0) ) 
	ElseIf x1 == x2 And y1 > y2 Then 
		Return 90
	ElseIf x1 == x2 And y1 < y2 Then 
		Return 270
	ElseIf x1 > x2 And y1 == y2 Then 
		Return 180
	EndIf 
EndFunction 
Ihan kätevän funktion teit :)
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
cheeshelmet.jr
Member
Posts: 75
Joined: Tue Aug 28, 2007 6:59 am

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by cheeshelmet.jr »

OonSuomesta wrote:
cheeshelmet.jr wrote:Tein tässä aikani pitkäksi GetAngle function ku sitä ei näyttänyt olevan koodi saattaa olla kyllä purkaa ;)

Code: Select all

...koodia...
Ja tässä vielä sama mahdollisimman lyhyeksi karsittuna:

Code: Select all

blah 
Ihan kätevän funktion teit :)
Mutta eikös tuon Distance:n kutsuminen monesti hidasta itse peli/ohjelmaa(pikkiriikkisen)????
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 »

cheeshelmet.jr wrote:
OonSuomesta wrote:
cheeshelmet.jr wrote:Tein tässä aikani pitkäksi GetAngle function ku sitä ei näyttänyt olevan koodi saattaa olla kyllä purkaa ;)

Code: Select all

...koodia...
Ja tässä vielä sama mahdollisimman lyhyeksi karsittuna:

Code: Select all

blah 
Ihan kätevän funktion teit :)
Mutta eikös tuon Distance:n kutsuminen monesti hidasta itse peli/ohjelmaa(pikkiriikkisen)????
Eihän sitä kutsuta kuin kerran If lausekkeiden takia, ei yhtään sen enempää kuin sinun versiossa ;)
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
Cérebro
Newcomer
Posts: 35
Joined: Wed Jul 16, 2008 8:56 pm

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Cérebro »

Onko ChaosBasicissa FrameLimit-funktiota? Ei ainakaan näkynyt kun selailin manuaalia...
cbLib | XMap
In development: EasyBasic - Basic-tyylinen peliohjelmointikieli
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 »

Cérebro wrote:Onko ChaosBasicissa FrameLimit-funktiota? Ei ainakaan näkynyt kun selailin manuaalia...
Ei ole mutta ainahan sen saa helposti tehtyä :)
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
Wolfman is too lazy to sign in

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Wolfman is too lazy to sign in »

On oikeastaan.
Screen.FPS() palauttaa FPS:sän. On kyllä kova kieli kun FPS on yleensä koneellani 1750:ssä.
Nyt danmakuja kehittelemään ~

Ps. Onko komentoa tarkistamaan onko kaksi kuvaa päällekkäin?
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by temu92 »

Wolfman is too lazy to sign in wrote:Ps. Onko komentoa tarkistamaan onko kaksi kuvaa päällekkäin?
On. If lauseke.

Lue manuaalista Image luokan ohjeet. Tip: leveys ja korkeus
Wolfman
Newcomer
Posts: 37
Joined: Sat Apr 12, 2008 9:43 pm

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Wolfman »

temu92 wrote:
Wolfman is too lazy to sign in wrote:Ps. Onko komentoa tarkistamaan onko kaksi kuvaa päällekkäin?
On. If lauseke.

Lue manuaalista Image luokan ohjeet. Tip: leveys ja korkeus
Ah, kiitos paljon.
User avatar
Bambi
Member
Posts: 87
Joined: Sat Nov 24, 2007 12:51 pm

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by Bambi »

En tiedä onko joku (tai jopa minä itse) kysynyt tätä tai mitään, mutta saadaanko me linuxistit linux-versio?
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: ChaosBasic 0.1.0.1 (Sledgehammer)

Post by temu92 »

Jos olen oikein tajunnut niin tää käyttää DirectX:ää jotenka tuskin ainakaa heti saatte.
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 »

ChaosBasic käyttää ns. RenderSystem-tekniikkaa, joten voin tehdä Linux- ja Windows-impelementaatiot hyvin helposti vain periyttämällä abstraktin RenderSystem-luokan. Näin ohjelmakoodia ei tarvitse muuttaa eri käyttisten välillä yhtään sillä tämä rendersystem-instanssi piilottaa rajapintansa taakse kaiken piirtoon tarvittavan. Tämä mahdollistaa myös myöhemmässä vaiheessa 3D-tuen lisäämisen esimerkiksi OGRE:n muodossa... 8-)

Tiedoksi: Uusi 0.2.1 (aka StormBringer) on koko ajan valmisteilla. Prosessi on armeijan takia hidasta, mutta täällä intissäkin on aikaa iltavapailla, joten edistystä tapahtuu koko ajan hitaasti ja varmasti. Uusi versio sisältää kokonaan uuden kääntäjän, jonka teen C#:lla käyttäen .NET 3.5. Itse runtime tullaan kääntämään suoraan assemblystä binäärikoodiksi, joten tulevat runtimet tulevat olemaan nykyiseen verrattuna salamannopeita.. ;) On ehkäpä jopa mahdollista luoda omia DLL:iä (vielä vahvasti harkinnassa). Windows-versioon tulen käyttämään uusinta DirectX:ää ja kehitys-ympäristönä "ChaosSDK":lle toimii VC++ 2008 eli pientä latausta joudutaan kehittäjän päässä tekemään, mutta ei mitään ylivoimaista.

Että semmosta, ei muuta kuin testipätkiä odottamaan.... :P
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 0.1.0.1 (Sledgehammer)

Post by Drath »

Dibalo wrote:ChaosBasic käyttää ns. RenderSystem-tekniikkaa, joten voin tehdä Linux- ja Windows-impelementaatiot hyvin helposti vain periyttämällä abstraktin RenderSystem-luokan. Näin ohjelmakoodia ei tarvitse muuttaa eri käyttisten välillä yhtään sillä tämä rendersystem-instanssi piilottaa rajapintansa taakse kaiken piirtoon tarvittavan. Tämä mahdollistaa myös myöhemmässä vaiheessa 3D-tuen lisäämisen esimerkiksi OGRE:n muodossa... 8-)
Vai että RenderSystem-tekniikka. Kuulostaa ennemminkin siltä salaperäiseltä Olio ohjelmointi -tekniikalta :). Etkai ole suunnitellut etukäteen? Jos joskus hamaassa tulevaisuudessa tuota pystyy käyttämään muissa käyttöjärjestelimissä muin windowsissa, niin se peli pitää sitten varmaan kääntää kuitenkin jokaiselle käyttöjärjestelmälle erikseen? Joutuuko ChB-koodaaja miettimään mikä RenderSystem on käytössä? Joutuuko hän eri alustojen kanssa myös muokkaamaan omaa koodiaan(tyyliin ekalla rivillä renderSystem.set("Ogre")?
CoolBasic henkilökuntaa
Sisältövastaava
Post Reply