CoolBasic V3: Esittely

CoolBasiciin yleisesti liittyvä keskustelu.
Locked
User avatar
KillBurn
Advanced Member
Posts: 339
Joined: Wed Aug 29, 2007 5:02 pm

Re: CoolBasic? kuollut? eheei ole...

Post by KillBurn »

Zero wrote:
Grandi wrote:Heh, et varmaan korjaa tätä, mutta löysin melko kriittisen bugin: CoolBasic hyväksyy seuraavanlaisen rivin koodia:

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
Eli 7 then:iä ja 5 elseä O_o'
Mielenkiintoista ;) Korjattu versiossa 3.
Toi "Bugi" on toisinaan ollut käytössä. :D
Sumu Games: Sam, Ur eye!
Astigma
Moderator
Moderator
Posts: 195
Joined: Sun Aug 26, 2007 5:56 pm
Location: Kuopio, Finland
Contact:

Re: CoolBasic? kuollut? eheei ole...

Post by Astigma »

KillBurn wrote:
Zero wrote:
Grandi wrote:Heh, et varmaan korjaa tätä, mutta löysin melko kriittisen bugin: CoolBasic hyväksyy seuraavanlaisen rivin koodia:

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
Eli 7 then:iä ja 5 elseä O_o'
Mielenkiintoista ;) Korjattu versiossa 3.
Toi "Bugi" on toisinaan ollut käytössä. :D
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.
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: CoolBasic? kuollut? eheei ole...

Post by Koodiapina »

Näin voi hyödyttää:

Code: Select all

    If 1 Then a = 5 Then b = 8 then c = 2
    Print a+", "+b+", "+c
    WaitKey 
Saman saa tietenkin selkeämminkin.
Astigma
Moderator
Moderator
Posts: 195
Joined: Sun Aug 26, 2007 5:56 pm
Location: Kuopio, Finland
Contact:

Re: CoolBasic? kuollut? eheei ole...

Post by Astigma »

Niin siis, tuohan on sama kuin

Code: Select all

If 1 Then a = 5 : b = 8 : c = 2
Print a+", "+b+", "+c
WaitKey 
tai

Code: Select all

If 1 Then
a = 5
b = 8
c = 2 
EndIf
Print a+", "+b+", "+c
WaitKey
Myst!c
Advanced Member
Posts: 259
Joined: Fri Dec 21, 2007 11:49 am
Location: Kemi

Re: CoolBasic? kuollut? eheei ole...

Post by Myst!c »

Astigma wrote:Niin siis, tuohan on sama kuin

Code: Select all

If 1 Then a = 5 : b = 8 : c = 2
Print a+", "+b+", "+c
WaitKey 
tai

Code: Select all

If 1 Then
a = 5
b = 8
c = 2 
EndIf
Print a+", "+b+", "+c
WaitKey
Ei, siinä ei ole ":" merkkejä
Every Legend Has A Start!
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: CoolBasic? kuollut? eheei ole...

Post by koodaaja »

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.
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: CoolBasic? kuollut? eheei ole...

Post by temu92 »

Joo ja ++ ja -- jos lisätään/vähennetään vain 1
Alligaattori
Active Member
Posts: 135
Joined: Fri Mar 07, 2008 8:49 pm

Re: CoolBasic? kuollut? eheei ole...

Post by Alligaattori »

C++:ssa on mahdollista antaa 8-bittiselle kokonaisluvulle arvo laittamalla heittomerkkien väliin merkki, jonka ASCII-arvo syötetään muuttujaan. Tällä tavalla:

Code: Select all

char x = 'h'; // x-muuttujan arvoksi tulee 104
Voisiko CoolBasiciin laittaa samanlaisen ominaisuuden?
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: CoolBasic? kuollut? eheei ole...

Post by Koodiapina »

Eikös tää riitä?

Code: Select all

x = asc("h")
Sitä paitsi charit sukkaa.
User avatar
Zero
Lead Developer
Lead Developer
Posts: 727
Joined: Sun Aug 26, 2007 2:30 pm
Location: Helsinki, Finland
Contact:

Re: CoolBasic? kuollut? eheei ole...

Post by Zero »

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:

Code: Select all

char x = 'h'; // x-muuttujan arvoksi tulee 104
Voisiko CoolBasiciin laittaa samanlaisen ominaisuuden?
Harkinnassa. Heittomerkki ei ole enää kommentti, joten se "vapautuu" muuhun käyttöön. Vaihtoehtoja on muutama:

Code: Select all

"j".Asc()
'j'
String.Asc("j")
...joista tod. näk vaihtoehto 1 ainakin toteutuu. Nykyisen kääntäjän runkoon on lisäksi hyvin hyvin helppo pultata tuo 2. tapa kiinni. Kysymys onkin nyt siitä halaunko tällaisen ominaisuuden CoolBasicin syntaksiin vai en.
CoolBasic henkilökuntaa
Johtava Suunnittelija
CoolBasic V3, CoolBasic Classic

http://www.coolbasic.com/blog
Alligaattori
Active Member
Posts: 135
Joined: Fri Mar 07, 2008 8:49 pm

Re: CoolBasic? kuollut? eheei ole...

Post by Alligaattori »

Grandi wrote:Eikös tää riitä?

Code: Select all

x = asc("h")
Sitä paitsi charit sukkaa.
Kyllähän se riittää, mutta esittelemäni tapa ajaa saman asian, ja (mielestäni) se on selkeämpi tapa.
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: CoolBasic? kuollut? eheei ole...

Post by MaGetzUb »

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... :roll:
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
User avatar
TheDuck
Devoted Member
Posts: 632
Joined: Sun Aug 26, 2007 3:51 pm
Location: C:\Program Files\Tuusula\

Re: CoolBasic? kuollut? eheei ole...

Post by TheDuck »

Uusi cb versio = CBv3
^^
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: CoolBasic? kuollut? eheei ole...

Post by Koodiapina »

Tulevasta versiosta puhumme. Nykyistä ei muistaakseni enää kehitetä.
jabanii
Member
Posts: 93
Joined: Tue Aug 28, 2007 9:23 pm

Re: CoolBasic? kuollut? eheei ole...

Post by jabanii »

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.
Tämä on jo mahdollista + -operaattorilla.

Esim.

Code: Select all

var = 5    'var on 5
var + 1    'var on 5+1=6
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: CoolBasic? kuollut? eheei ole...

Post by Koodiapina »

jabanii wrote:Tämä on jo mahdollista + -operaattorilla.
Mutta se ei suoriudu esim. tästä:

Code: Select all

a + (a*4)
Tuo += tukisi käsittääkseni myös tuon näköisiä ratkaisuja.
SPuntte
Tech Developer
Tech Developer
Posts: 650
Joined: Mon Aug 27, 2007 9:51 pm
Location: Helsinki, Finland
Contact:

Re: CoolBasic? kuollut? eheei ole...

Post by SPuntte »

jabanii wrote:
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.
Tämä on jo mahdollista + -operaattorilla.
Esim.

Code: Select all

...
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:

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
caje
Tech Developer
Tech Developer
Posts: 16
Joined: Wed Jul 16, 2008 2:04 pm
Location: Stadi

Re: CoolBasic? kuollut? eheei ole...

Post by caje »

Grandi wrote:Tulevasta versiosta puhumme. Nykyistä ei muistaakseni enää kehitetä.
Eihän nykyisen lähdekoodia taida olla enää olemassakaan :)
CoolBasic henkilökuntaa
Tech-kehittäjä
Cool Developer
User avatar
Zero
Lead Developer
Lead Developer
Posts: 727
Joined: Sun Aug 26, 2007 2:30 pm
Location: Helsinki, Finland
Contact:

Re: CoolBasic? kuollut? eheei ole...

Post by Zero »

SPuntte wrote:Onko v3:een tulossa mahdollisesti esimerkiksi seuraavia:
- mahdollisuus luoda olioita suoraan kekoon osoittimien avulla
- funktio-osoittimet
- operaattorien ylikuormitus luokkiin
mahdollisuus luoda olioita suoraan kekoon osoittimien avulla
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
=Joku=
Active Member
Posts: 184
Joined: Mon Aug 04, 2008 2:26 am

Re: CoolBasic? kuollut? eheei ole...

Post by =Joku= »

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?
*Poistunut foorumilta*
Locked