Toi "Bugi" on toisinaan ollut käytössä.Zero wrote:Mielenkiintoista Korjattu versiossa 3.Grandi wrote:Heh, et varmaan korjaa tätä, mutta löysin melko kriittisen bugin: CoolBasic hyväksyy seuraavanlaisen rivin koodia:Eli 7 then:iä ja 5 elseä O_o'Code: Select all
If 1 Then a=0 Then a=1 Then a=2 Then a=3 Then a=4 Then a=5 Then a=6 Else a=0 Else a=1 Else a=2 Else a=3 Else a=4
CoolBasic V3: Esittely
Re: CoolBasic? kuollut? eheei ole...
Sumu Games: Sam, Ur eye!
Re: CoolBasic? kuollut? eheei ole...
Hmm, ei ainakaan äkkiseltään tule mieleen, missä tuota bugia voisi hyödyntää? Eli en usko, että kannattaa käyttää, koska saman asian voi aina tehdä jotenkin muuten - jopa helpommin.KillBurn wrote:Toi "Bugi" on toisinaan ollut käytössä.Zero wrote:Mielenkiintoista Korjattu versiossa 3.Grandi wrote:Heh, et varmaan korjaa tätä, mutta löysin melko kriittisen bugin: CoolBasic hyväksyy seuraavanlaisen rivin koodia:Eli 7 then:iä ja 5 elseä O_o'Code: Select all
If 1 Then a=0 Then a=1 Then a=2 Then a=3 Then a=4 Then a=5 Then a=6 Else a=0 Else a=1 Else a=2 Else a=3 Else a=4
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: CoolBasic? kuollut? eheei ole...
Näin voi hyödyttää:Saman saa tietenkin selkeämminkin.
Code: Select all
If 1 Then a = 5 Then b = 8 then c = 2
Print a+", "+b+", "+c
WaitKey
Re: CoolBasic? kuollut? eheei ole...
Niin siis, tuohan on sama kuin
tai
Code: Select all
If 1 Then a = 5 : b = 8 : c = 2
Print a+", "+b+", "+c
WaitKey
Code: Select all
If 1 Then
a = 5
b = 8
c = 2
EndIf
Print a+", "+b+", "+c
WaitKey
Re: CoolBasic? kuollut? eheei ole...
Ei, siinä ei ole ":" merkkejäAstigma wrote:Niin siis, tuohan on sama kuintaiCode: Select all
If 1 Then a = 5 : b = 8 : c = 2 Print a+", "+b+", "+c WaitKey
Code: Select all
If 1 Then a = 5 b = 8 c = 2 EndIf Print a+", "+b+", "+c WaitKey
Every Legend Has A Start!
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: CoolBasic? kuollut? eheei ole...
Jos sen yhdelle riville tunkee niin toki on.
Semmoista ajattelin sanoa, että CB:hen olisi kiva saada += -tyyppiset operaattorit, tuskin ovat kovin vaikeita toteuttaa (?) mutta yksinkertaistaisivat koodia kummasti.
Semmoista ajattelin sanoa, että CB:hen olisi kiva saada += -tyyppiset operaattorit, tuskin ovat kovin vaikeita toteuttaa (?) mutta yksinkertaistaisivat koodia kummasti.
-
- Active Member
- Posts: 135
- Joined: Fri Mar 07, 2008 8:49 pm
Re: CoolBasic? kuollut? eheei ole...
C++:ssa on mahdollista antaa 8-bittiselle kokonaisluvulle arvo laittamalla heittomerkkien väliin merkki, jonka ASCII-arvo syötetään muuttujaan. Tällä tavalla:
Voisiko CoolBasiciin laittaa samanlaisen ominaisuuden?
Code: Select all
char x = 'h'; // x-muuttujan arvoksi tulee 104
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: CoolBasic? kuollut? eheei ole...
Eikös tää riitä?Sitä paitsi charit sukkaa.
Code: Select all
x = asc("h")
- Zero
- Lead Developer
- Posts: 727
- Joined: Sun Aug 26, 2007 2:30 pm
- Location: Helsinki, Finland
- Contact:
Re: CoolBasic? kuollut? eheei ole...
Harkinnassa. Heittomerkki ei ole enää kommentti, joten se "vapautuu" muuhun käyttöön. Vaihtoehtoja on muutama:bool cppNerd=!false; wrote:C++:ssa on mahdollista antaa 8-bittiselle kokonaisluvulle arvo laittamalla heittomerkkien väliin merkki, jonka ASCII-arvo syötetään muuttujaan. Tällä tavalla:Voisiko CoolBasiciin laittaa samanlaisen ominaisuuden?Code: Select all
char x = 'h'; // x-muuttujan arvoksi tulee 104
Code: Select all
"j".Asc()
'j'
String.Asc("j")
CoolBasic henkilökuntaa
Johtava Suunnittelija
CoolBasic V3, CoolBasic Classic
http://www.coolbasic.com/blog
Johtava Suunnittelija
CoolBasic V3, CoolBasic Classic
http://www.coolbasic.com/blog
-
- Active Member
- Posts: 135
- Joined: Fri Mar 07, 2008 8:49 pm
Re: CoolBasic? kuollut? eheei ole...
Kyllähän se riittää, mutta esittelemäni tapa ajaa saman asian, ja (mielestäni) se on selkeämpi tapa.Grandi wrote:Eikös tää riitä?Sitä paitsi charit sukkaa.Code: Select all
x = asc("h")
Re: CoolBasic? kuollut? eheei ole...
Anteeksi, että tällä tavalla kirjoottelen offia, mutta puhutteko te nyt uudesta cb versiosta, vai cb v3:sta? En ole ollut oikein hereillä tällä alueella...
Solar Eclipse
We're in a simulation, and God is trying to debug us.
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: CoolBasic? kuollut? eheei ole...
Tulevasta versiosta puhumme. Nykyistä ei muistaakseni enää kehitetä.
Re: CoolBasic? kuollut? eheei ole...
Tämä on jo mahdollista + -operaattorilla.koodaaja wrote:Jos sen yhdelle riville tunkee niin toki on.
Semmoista ajattelin sanoa, että CB:hen olisi kiva saada += -tyyppiset operaattorit, tuskin ovat kovin vaikeita toteuttaa (?) mutta yksinkertaistaisivat koodia kummasti.
Esim.
Code: Select all
var = 5 'var on 5
var + 1 'var on 5+1=6
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: CoolBasic? kuollut? eheei ole...
Mutta se ei suoriudu esim. tästä:jabanii wrote:Tämä on jo mahdollista + -operaattorilla.
Code: Select all
a + (a*4)
-
- Tech Developer
- Posts: 650
- Joined: Mon Aug 27, 2007 9:51 pm
- Location: Helsinki, Finland
- Contact:
Re: CoolBasic? kuollut? eheei ole...
Minusta tuo nykyisen CBn +-operaattorin erikoiskäytäntöö on typerä, koska se on ristiriitainen. Eräissä muissa kielissä kyseinen lauseke olisi ilmaus, joka vain palauttaisi arvon (tässä tapauksessa 6). On selvempää kirjoittaa a = a + 1 (ajattelematta sitä matemaattisena yhtälönä, sehän on sijoitus, ei yhtäsuuruus!) tai (tulevaisuudessa) a += 1. Lisäksi Zeron bloqin mukaan tuo esitetty koodi optimoituisi uudella kääntäjällä seuraavasti:jabanii wrote:Tämä on jo mahdollista + -operaattorilla.koodaaja wrote:Jos sen yhdelle riville tunkee niin toki on.
Semmoista ajattelin sanoa, että CB:hen olisi kiva saada += -tyyppiset operaattorit, tuskin ovat kovin vaikeita toteuttaa (?) mutta yksinkertaistaisivat koodia kummasti.
Esim.Code: Select all
...
Code: Select all
var = 5 'var on 5
var + 1 'var on 5+1=6
Code: Select all
var = 5 'var on 5
6 'var on 5+1=6
EDIT:
Zerolle:
Tulinpas sitten uteliaaksi.. >8B
Onko v3:een tulossa mahdollisesti esimerkiksi seuraavia:
- mahdollisuus luoda olioita suoraan kekoon osoittimien avulla
- funktio-osoittimet
- operaattorien ylikuormitus luokkiin
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: CoolBasic? kuollut? eheei ole...
Eihän nykyisen lähdekoodia taida olla enää olemassakaanGrandi wrote:Tulevasta versiosta puhumme. Nykyistä ei muistaakseni enää kehitetä.
CoolBasic henkilökuntaa
Tech-kehittäjä
Cool Developer
Tech-kehittäjä
Cool Developer
- Zero
- Lead Developer
- Posts: 727
- Joined: Sun Aug 26, 2007 2:30 pm
- Location: Helsinki, Finland
- Contact:
Re: CoolBasic? kuollut? eheei ole...
mahdollisuus luoda olioita suoraan kekoon osoittimien avullaSPuntte wrote:Onko v3:een tulossa mahdollisesti esimerkiksi seuraavia:
- mahdollisuus luoda olioita suoraan kekoon osoittimien avulla
- funktio-osoittimet
- operaattorien ylikuormitus luokkiin
Oliot ovat muuttujia, jotka sisältävät osoittimen varsinaiseen tietoon. Kun luot uuden instanssin, varataan keosta (heapista) tai pinosta tilaa normaalille kokonaislukumuuttujalle. Pointti on se, että Structit menevät kekoon/pinoon valueina, kun taas oliot menevät viittauksina. Aina. CoolBasicin keko on staattinen ja se varataan ohjelman alussa. Funktioiden sisällä ei kekoa käytetä ollenkaan.
funktio-osoittimet
Tätä ominaisuutta voidaan tarvita esimerkiksi ns. callback-funktioissa. Niiden käyttö voi sinällään jo olla vaarallista, mutta oliokielissä ne ovat erittäin vaarallisia jos ohjelmoija ei tiedä tarkalleen mitä on tekemässä. Mitenkä esimerkiksi luokkafunktio tietää osoittimensa jos sitä ei ole työnnetty pinoon? Tästä syystä esimerkiksi VB.NET:ssä funktio-osoittimien käytön voi bongata ainoastaan AddHandlerillä. Ja koska nekin on sidottu Tapahtumiin, ne pysyvät kurissa. Managed-koodi on päivän sana, ja datakorruption estäminen on yksi sen perimmäisistä tarkoituksista.
Olen ajatellut sallia funktioiden kutsumisen muistiosoitteiden perusteella (winAPI), koska se on hyödyllistä DLL-tiedostojen kanssa. MUTTA funktio-osoittimen kaivamiseen liittyvä operaattori jätetään varmaankin yllämainituista syistä toteuttamatta. Tosin sekään ei estä inline asm -virityksiä joilla se voidaan kiertää.
operaattorien ylikuormitus luokkiin
Tarkoitus olisi esitellä tämä ominaisuus V3:ssa.
CoolBasic henkilökuntaa
Johtava Suunnittelija
CoolBasic V3, CoolBasic Classic
http://www.coolbasic.com/blog
Johtava Suunnittelija
CoolBasic V3, CoolBasic Classic
http://www.coolbasic.com/blog
Re: CoolBasic? kuollut? eheei ole...
Näin nopeasti:http://fi.wikipedia.org/wiki/Coolbasic
CoolBasicin tulevaisuus tällä hetkellä
Coolbasicin kehittäjä jätti Coolbasicin sikseen joksikin aikaa pelatakseen World of Warcraft-nimistä nettipeliä. 26.8.2007 Hän kuitenkin lupasi palata, ja on sen tehnytkin ajoittain.
eli päivitystä wikiin!
Onko mahdollista pistää cb 3d malleja?
CoolBasicin tulevaisuus tällä hetkellä
Coolbasicin kehittäjä jätti Coolbasicin sikseen joksikin aikaa pelatakseen World of Warcraft-nimistä nettipeliä. 26.8.2007 Hän kuitenkin lupasi palata, ja on sen tehnytkin ajoittain.
eli päivitystä wikiin!
Onko mahdollista pistää cb 3d malleja?
*Poistunut foorumilta*