Napisano: 06 Jan 2010 14:10
SKRIPTING 2:
Juce smo stali kod stringova.
Dakle STA JE STRING ???
Probacu da objasnim prosto...
Bilo koji niz karaktera koji se nalazi izmedju znakova navoda je string.
GM nema ogranicenu duzinu jednog stringa, tako da 1 string moze da bude i cela knjiga.
Primeri stringova:
" goran i ja SmO eto, dosli..."
" 1 aprila mi je rodjendan"
"245+897 +(444-3)*18= eee nemam pojma"
etc etc etc...
REAL su brojevi, ali, i varijabile koje predstavljaju brojeve.
npr:
1 2 3 4 1.5 1.6 1.7 < Ovde vazi TACKA za decimalu, a ne zarez.
a=2;
b=4;
c= a+b
je sasvim OK...
u ovom slucaju slovni karakteri su REAL a ne stringovi...
Naravno da je moguce sabirati i jedno sa drugim, ali sve u ovisnosti kakav rezultat zelimo...
npr
a=4; // U ovom slucaju a je real broj.
sada da probamo da saberemo sledece
c= "Goran ima " + string(a) + " godina";
rezultat bi bio string " Goran ima 4 godina"
Znaci postoje funkcije koje mogu da okrenu iz real u string, ali i obrnuto.
Naravno da sve ima svoje granice, tako da bi zahtev za
c= real(A) ili c= real("A")
bi javio gresku. Znaci od slovnih karaktera na ovaj nacine NE mozete dobiti real broj...
dok recimo sledece:
a= " 123"; // kao sto smo rekli ranije, ovo JE string
a = string(123)// je isto string funkcija string(); okrece REAL u string.
c= real(a) ili c= real("123") ili c= real(string(123))
dalo bi rezultat c=123 gde je c real broj, koji sada mozemo mnoziti, deliti, etc.
rezultat sabiranja npr string(123)+ string(123) bi dao rezultat =123123, dok rezultat sabiranja real(string(123))+real(string(123)) =246
Znaci stringovi se sabiraju tako sto se dodaju jedan drugom, na kraju, npr
"ja sam" + " ti si" + " mi smo" =" ja sam ti si mi smo"
za vise o STRING funkcijama, i REAL funkcijama pogledajte HELP fajl GM ona poslednja fascikla, " THE GAME MAKER LANGUAGE (GML)
videcete da je GM ovu problematiku resio u potpunosti...
Sutra vase prve petlje (loop), njihove mogucnosti etc...
Inace vrlo vazno npr, pri proveri ko ima municiju, ko ne, ko ima health, ko ne... etc etc etc...
Loop-ovi ( petlje) takodje imaju znacajno mesto pri pretragama baza , zapravo i ne moze se bez njih.. etc..
Dopuna: 06 Jan 2010 14:23
sve gore navedeno mozete probati u GM, s'tim sto bi ste vi trebali da zeljeni rezultat prikazete na ekranu...
vrlo prosto...
Koristite funkciju show_message();
npr:
a=12;
b=10
c= a+b;
show_message(string(c));
show_message funkcija prikazuje samo stringove, sa REAL bi izbacilo gresku, i u tom se slucaju koristi funkcija string() koja stvarne REAL brojeve 'okrene' u string, i tako omoguci funkciji show_message da radi...
to je moglo i ovako, sa istim rezultatom.
a=12;
b=10;
c=a+b;
c=string(c);
show_message(c);
ovo je potpuno isto, samo postepeno uradjeno.
za sabiranje REAL brojeva, ili stringova mozete koristiti sledecu sintaxu:
a=1;
a+ =a ; // je potpuno isto sto i a = a+a;
to isto moze i kao
a +=1;
kada su stringovi u pitanju, ide malo drugacije...
a="a"
a +=a; // je isto sto i a= a+a i daje rezultat "aa";
Toliko za danas.. sutra idemo dalje...
|