BGT de la Blastbay Studios, un scripting accesibil si facil

Diverse limbaje, programare, scripting, coduri, unelte specifice etc.
Scrie răspuns
Avatar utilizator
Manu
General de divizie
Mesaje: 4120
Membru din: 02 Feb 2007, 01:15
Localitate: Cluj-Napoca
Contact:

BGT de la Blastbay Studios, un scripting accesibil si facil

Mesaj de Manu »

La semnalarea lui Sorin, am descoperit si eu azi BGT, un interpretator de script destul de usor, mai ales pentru cei care au facut JAWS Scripting.
BGT este un programel creat de Blastbay Studios si interpreteaza codul scris in Notepad.
Scriptingul este oarecum asemanator cu cel al JAWS-ului, doar ca e mult mai avantajos, are mult mai multe functii gata create, cum ar fi Random.
De asemenea are pe langa While si For, este complet, practic un limbaj in adevaratul sens al cuvantului.
In prezent este in varianta beta, dar poate fi folosit, iar manualul explica limbajul foarte bine ca pentru cineva care nu a facut niciodata nici un fel de script/programare.
Momentan pentru a rula scripturile create, ei l-au gandit pentru jocuri audio, este nevoie de interpretatorul de script care deschide fisierul salvat cu extensia .BGT in Notepad.
In viitor vor face si compilatorul care va asigura prezenta produsului finit, a jocului, pretutindeni, fara sa mai fie nevoie de interpretator.

Eu zic ca merita incercat, mai ales cei care au facut JAWS Scripting, pot citi cel putin un tutorial de programare foarte bine realizat.
Pagina BGT

Mai insist cu cateva amanunte pentru cei care au facut JAWS Scripting:
In limbajul de fata, pentru a crea variabile se foloseste tot Int sau String care precede numele propriu-zis.
Atribuirea de valori variabilei se face fara "Let", aici e suficienta o expresie de tipul:
String My_Name="Manu";
deci atribuire de valoare pe acelasi rand cu crearea variabilei.
Pentru a exprima expresia din JAWS Scripting:
Let iX = iX + 3
este suficient sa scriem:
iX+=3;
Pentru a face o incrementare de tipul celor pe care le facem in JAWS cu While:
Let iX = iX + 1
aici este ca la majoritatea limbajelor, cel putin PHP sau C:
iX++;

Ar fi multe de povestit, pentru cei care nu vroiau JAWS Scripting pentru ca realizeaza ceva dependent de existenta screen-readerului, pot incerca sa invete acest limbaj, vor putea sigur face lucruri diverse si chiar mult mai complexe.
Inconvenientul este ca aici se foloseste pentru a verbaliza ceva Sapi5, nu merge ca la JAWS Scripting sa auzim Eloquence sau Wintalker. De fapt majoritatea jocurilor audio folosesc Sapi5 pentru ca sunt programate extern JAWS-ului.
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
Avatar utilizator
Manu
General de divizie
Mesaje: 4120
Membru din: 02 Feb 2007, 01:15
Localitate: Cluj-Napoca
Contact:

Mesaj de Manu »

Am apucat sa ma uit peste scriptingul de la Blastbay Studios si am inteles cum stau treburile.
E o programare pe obiecte, se pot face cu adevarat lucrurile pe care ni le doream.
Am facut aseara un joculet simplu si banal, Guess the Number. Este doar o incercare pentru a lucra cu obiectele de tip meniu si cele de tip sunet.
Exista fundal audio, unul pentru meniu si altul pentru jocul propriu-zis.
Trebuie ghicit de trei ori numarul la care s-a gandit calculatorul intre 1 si 3. La fiecare incercare se anunta cate puncte s-au strans si cate incercari au fost.
Cand se ghiceste a treia oara, jocul se inchide automat cu felicitarile de rigoare.
Pentru ca jocul sa mearga, este nevoie ca BGT, interpretatorul de script sa fie instalat pe calculator.
Jocul este in engleza si mesajele sunt verbalizate de sapi5.
Acum urmeaza sa facem ceva mai complex, joc cu masini sau asa ceva.
Download Guess the Number
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
Bogdan_Muresan
Plutonier
Mesaje: 155
Membru din: 17 Mai 2008, 18:06
Localitate: Bistrita
Contact:

Mesaj de Bogdan_Muresan »

Faina treaba. Ma gandeam daca am face un simulator de trenuri. Sa se poata cara pasageri de la o statie la alta sau chiar transporturi cu marfa. Prima data sa conduca mecanicul o locomotiva pe aburi, apoi in functie de rank sa aiba sansa sa schimbe. Sau sa care substante periculoase cand e la un nivel mare:motorina sau altele.
Avatar utilizator
Manu
General de divizie
Mesaje: 4120
Membru din: 02 Feb 2007, 01:15
Localitate: Cluj-Napoca
Contact:

Mesaj de Manu »

Pai cu trenuri a aparut acum acel simulator...
Oricum, vom face noi ceva joculet dupa jumatea lunii acesteia, doar sunete sa fie pentru toate tipurile de eventuri.
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
Bogdan_Muresan
Plutonier
Mesaje: 155
Membru din: 17 Mai 2008, 18:06
Localitate: Bistrita
Contact:

Mesaj de Bogdan_Muresan »

Acel simulator, are si un bug foarte mare. Cand luam pasageri din ultima gara de pe harta, nu mai putem sa-i lasam intorcandune inapoi.
AurelioMuth
Sergent
Mesaje: 33
Membru din: 25 Aug 2009, 10:53
Localitate: Italia
Contact:

Mesaj de AurelioMuth »

Salut, bine-inteles ca m-am apucat si eu de citirea tutorialului. dar la primul programel m-am impodmolit. am scris:

void main()
{
alert("Numele meu este aurel");
}

cu paranteze acolade inainte de cuvantul alert si la sfarsitul codului. imi da eroare cand il deschid cu bgt.
ce-ar putea fi?
Avatar utilizator
Manu
General de divizie
Mesaje: 4120
Membru din: 02 Feb 2007, 01:15
Localitate: Cluj-Napoca
Contact:

Mesaj de Manu »

E bine daca incepem sa discutam si despre acest scripting cu coduri si exemple.
Deci acolada deschisa trebuie sa fie pe un rand separat, imediat dupa numele functiei, iar cea inchisa tine loc de EndFunction sau EndScript, daca e sa facem referiri la ce stim cel mai bine, JAWS Scripting.
Probabil ca eroarea a aparut ca nu ai folosit doi parametri la functia alert, primul ca titlu al ferestruicii care apare cu acel "OK", iar al doilea fiind continutul, mesajul propriu-zis.

Deci, un cod care merge sigur ar fi:
void main()
{
alert("Eroare", "Actiune nereusita!");
}


Poate discutand mai mult pe aici se va invata cat de cat si acest scripting.
De saptamana viitoare chiar voi avea timp sa ma ocup, abia astept sa incer tot felul de lucruri.
Oricum, sunt dispus sa explic pe aici cum stau lucrurile.
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
AurelioMuth
Sergent
Mesaje: 33
Membru din: 25 Aug 2009, 10:53
Localitate: Italia
Contact:

Mesaj de AurelioMuth »

cu acoladele nu mi-a iesit sa scriu corect aici pe forum dar la mine am scris asa cum trebuie, pe randuri diferite.
cu parametri am scris si asa si corect si altfel si tot nu merge. in rest limbajul pare usor si poate, in sfarsit, am gasit ceva care sa nu depinda de jaws asa cum ne doream in timpul cursului de jaws scriptin, daca iti aduci aminte.
AurelioMuth
Sergent
Mesaje: 33
Membru din: 25 Aug 2009, 10:53
Localitate: Italia
Contact:

Mesaj de AurelioMuth »

imi da eroarea asta:

File: D:\test.bgt
Line: 1 (1)
Error: Unexpected token '<unrecognized>'
Stefan_Ilioaica
Capitan
Mesaje: 503
Membru din: 12 Sep 2009, 21:00
Localitate: Bucuresti

Mesaj de Stefan_Ilioaica »

stie cineva de unde pot downloada tutorialul?
dar sa nu fie audio.
ps: ce trebuie sa fac prima si prima data cand deschid bgt-ul?
mi-ar prinde putin ajutor daca s-ar putea oferi cineva sa ma ajute.
pe mine chiar ma intereseaza programelul asta.
Stefan
AurelioMuth
Sergent
Mesaje: 33
Membru din: 25 Aug 2009, 10:53
Localitate: Italia
Contact:

Mesaj de AurelioMuth »

Salut,
iata link-ul de download:

http://www.blastbay.com/bgt_beta_setup.exe

Odata descarcat il instalezi ca orice program iar in meniul start al windows-ului il gasesti si gasesti si help-ul.

pentru a incepe sa scrii un program trebuie sa folosesti notepad. scrii un cod si salvez cu terminatia .bgt apoi il deschizi ori cu programul propriu-zis, de pe desk-top ori dai enter pe fisierul creat si ti-l deschide el direct cu BGT.

sper sa-ti fi fost de folos. mai multe nu stiu.
Avatar utilizator
Manu
General de divizie
Mesaje: 4120
Membru din: 02 Feb 2007, 01:15
Localitate: Cluj-Napoca
Contact:

Mesaj de Manu »

aureliomuth scrie:imi da eroarea asta:
File: D:\test.bgt
Line: 1 (1)
Error: Unexpected token '<unrecognized>'
Se pare ca problema e de la fisierul in sine.
Sper ca ai facut cu Notepad, in nici un caz cu alt editor, ori daca e altul sa fie sigur fisier TXT, orice taguri de alt tip nu il va lasa pe interpretor sa isi faca treaba.
La mine am si testat acel scurt cod cu "alert".

In legatura cu gasitul a ceea ce cautam... sa speram ca asa este si ei continua asa cum promit sa faca si un compilator, nu ar fi asa placut sa tot vedem mesajul ala de inceput ca e beta si sa depinda totusi de Blastbay Studios.
Oricum, va costa ceva, dar pasionatii vor cumpara, sa speram ca nu sare de 50 de euro si ca s-or gandi sa puna si ceva functii de trimitere variabile online. Ori ar fi fain sa ne explice aici concret cum ar interactiona cu niste Component Object Model, obiectele de care spuneam eu ca merg si cu scriptingul de JAWS.
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
AurelioMuth
Sergent
Mesaje: 33
Membru din: 25 Aug 2009, 10:53
Localitate: Italia
Contact:

Mesaj de AurelioMuth »

salut,

intr-adevar, am lucrat cu notepad.

cand citesc litera cu litera codul la acolada deschisa imi citeste doua acolade.

dar am rezolvat problema. am facut acelasi cod cu un alt editor, phpdesigner7 si mi-a iesit perfect.
doar ca acum trebuie sa gasesc versiunea acestui program free, pentru utliizatorii casnici. in rest cred ca o sa mearga bine.
Stefan_Ilioaica
Capitan
Mesaje: 503
Membru din: 12 Sep 2009, 21:00
Localitate: Bucuresti

Mesaj de Stefan_Ilioaica »

imi mai poate da cineva un exemplu de cod ca mie nu imi iese.
imi da urmatoarea eroare: compiler eror
line: 1(5)
unespected (')
Stefan
Avatar utilizator
Manu
General de divizie
Mesaje: 4120
Membru din: 02 Feb 2007, 01:15
Localitate: Cluj-Napoca
Contact:

Mesaj de Manu »

Aurel, se pare ca in italiana acolada deschisa e mai speciala, sa folosesti tastatura pe engleza.

Stefan, acel cod trebuie sa iti iasa ca sa poti merge mai departe, e cel mai simplu posibil, un simplu mesaj afisat pe ecran.
Deci fii atent ca primul rand sa fie:
void main()
pe randul al doilea sa fie o acolada deschisa, adica shift si tasta de dupa "p" cand layout-ul este pe engleza americana,
Pe al treilea rand sa fie functia alert cu cei doi parametri ai sai:
alert("Titlu", "Mesaj");
pe ultimul rand sa se inchida acolada.

Ar trebui sa mearga, fii atent ca al treilea rand in care este functia "alert" sa se termine in punct si virgula dupa paranteza inchisa.
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
Scrie răspuns