Az előző leckékben átvettük hogyan is épül fel egy AGK program, hogyan lehet létrehozni, megnyitni, bezárni és hogyan lehet a példa kódot lefuttatni. Ám mi magunk kódot még nem írtunk. Ebben a leckében a változókról és azok használatáról lesz szó.
Egy változó lényegében egy tároló, úgy tekintsünk rá mint egy dobozra amiben értékeket tárolhatunk mint például a játékos élete, pontszáma, sebessége..stb. Ezeket az értékeket a programunk során megváltoztathatjuk ahogy kedvünk tartja és ezzel módosításokat hajthatunk végre a játékunkban. Például említettem hogy a játékos sebességét tárolhatjuk egy változóban. Értelem szerűen ha megváltoztatjuk a változó értékét ami a sebességet tárolja, azzal megváltoztatjuk a játékos sebességét és így lelassíthatjuk vagy akár fel is gyorsíthatjuk annak mozgását. Ám mielőtt ezt megtennénk egy változót deklarálni kell, egyszerűen mondva, létre kell hoznunk.
Mielőtt létrehoznánk, had beszéljek pár szót arról miért is kell egy változót először létrehozni. Amikor létre hozunk egy változót technikailag memóriát különítünk el, foglalunk le a számítógépünk memóriájából (RAM) arra a célra hogy adatot tároljunk ott. Az adat amit tárolhatunk a memóriában több fajta is lehet. AGK-ben lehetőségünk van 3 fajta adatot tárolni:
- Integer – teljes számok mint például 1, 2, 3
- Float – tizedes számok mint 0.3, 1.12
- String – szöveg mint “ez egy szöveg“
Well, lower level of hormone production can bring erectile dysfunction that is also known as viagra 25mg ED. Sexual issues are seen in adult men of buy viagra italy all ages. So, what are the early symptoms online cialis pills http://downtownsault.org/event/ladies-night-out/ of prostatitis? The occurrence of neurasthenia. Safed musli is a safe herbal cialis price remedy recommended for low libido and weak erection.
Más programozásnyi nyelvekben mint C++ például, több fajta adat is a rendelkezésünkre áll, ám AGK Tier 1-ben csak ezekkel tudunk gazdálkodni.
Amikor létrehozzuk a változónkat, meg kell adnunk milyen jellegű adatot fogunk tárolni, egész számot, tizedes számot vagy szöveget. Erre azért van szükség mert minden adat típus eltérő mérettel rendelkezik, ezért a memóriából a megadott méretet kell elkülöníteni a számára. Egy változó mérete a ma átlagosan elérhető memória mennyiséghez viszonyítva rendkívül elhanyagolható. Egy-egy változó nem foglal többet a memóriából mint pár byte ám a játékunktól, programunktól függően elég sokra szükségünk lehet és ha nem vigyázunk a változók akár memóriavesztést is okozhatnak amikor a programunk ok nélkül felhalmozza őket de majd erről szó fog esni részletesebben amikor elkezdjük használni őket.
Amikor létrehozunk egy változót nem csak a típusát hanem a nevét is meg kell adnunk mivel a változót amit épp használni kívánunk valahogy azonosítanunk kell. A név választásnál, van némi szabály amit be kell tartanunk:
- 2 változónak nem lehet egyforma neve, minden változónak saját, egyedi névvel kell rendelkeznie.
- csak az angol ABC betűit és arab számokat tartalmazhat és pár speciális karaktert mint $ # – _
- az előbb említett speciális karaktereken kívül más karaktert mint ?!.,;:}>{<..stb nem tartalmazhat mint ahogy szóközt sem és ékezetes betűt sem. ha a név két szóból áll, ajánlott – vagy _ jellel összekötni mint például valtozo_neve
Nos, ennek fényében lássunk pár példát hogyan is tudjuk létrehozni a fentebb említett változókat, adott értékeket társítva hozzájuk. AGK-ben ennek két módja van.
Az első:
valtozo1 as integer = 1 valtozo2 as float = 0.3 valtozo2 as string = "ez egy szöveg"
Nos ahogy láthatjuk, AGK-ben egyszerűen csak beírjuk a változó nevét ami ez esetben valtozo1, valtozo2 és valtozo3, majd azt követően hogy milyen típusú as integer, as float és as string. Végül egy egyenlőség jelet követve hozzárendelhetjük a kívánt értéket.
Értéket nem kötelező megadni, hagyhatjuk a változókat érték nélkül is, ilyenkor csak hadijuk el az egyenlőség jelet és ami utána van.
valtozo1 as integer valtozo2 as float valtozo3 as string
Értéket később is hozzárendelhetünk bármikor.
AGK-ben a változók létrehozásának van egy másik módja is.
valtozo1 = 1 valtozo2# = 0.3 valtozo3$ = "ez egy szöveg"
Ahogy láthatjuk, ebben az esetben a változó típusát a név után lévő jellel adjuk meg. Ha nincs a változó neve után jel írva az alapértelmezettként egy integer változó lesz. Ha # jelet rakunk, akkor float. Ha pedig $ jelet akkor string. Ennek az előnye az hogy ilyenkor szemmel látható melyik változó milyen jellegű adat tárolására szolgál és könnyebb elkerülni az esetleges tévedéseket. Viszont az előző módszernek is van előnye, ugyanis ha a változókat úgy hozzuk létre hogy utána írjuk milyen jellegű adat tárolására szolgál, akkor a kód szerkesztőben az általunk létrehozott változók nevei feljönnek amikor elkezdjük beírni őket és egy listából tudunk választani. Szerencsére, AGK-ben kombinálhatjuk a kettőt és szó szerint összeköthetjük a kellemest a hasznossal.
valtozo1 as integer = 1 valtozo1# as float = 0.3 valtozo3$ as string = "ez egy szöveg"
Ilyenkor, ha elkezdjük begépelni a változó nevét, kapunk egy szép kis listát amiből választhatunk és a nevek végén lévő jelből látjuk is hogy pontosan milyen adat tárolására szolgál a változó.
Nos, végezetül, lássunk egy például a változó alkalmazására. A korábbi leckékben már szó esett róla hogy a Print() utasítás ki ír mindent amit a zárójelek közé írunk. Hát próbáljuk ki. Hozzunk létre egy változót és a változó nevét írjuk be a Print() utasítás zárójelei közé és futtassuk le a programunkat.
//változók valtozo1 as integer = 1 valtozo2# as float = 0.3 valtozo3$ as string = "ez egy szöveg" do Print( valtozo3$ ) Sync() loop
Ha mindent jól csináltunk akkor a már korábban látott üres ablakot kell kapnunk, a bal felső sarokban kiírva a változónk értékét.
Ám ha ékezetes betűt használtunk szöveg esetén, feltűnhet hogy az ékezetes betűket nem írta ki helyesen. Ennek az-az oka hogy az AGK sajnos, alapértelmezett betűkészlete nem rendelkezik ékezetes karakterekkel. A betűkészletet természetesen cserélhetjük, de erről majd későbbi leckékben lesz szó.
Ezen felül amit még érdemes tudni a változókról hogy azok lehetnek globális változók és helyi az-az lokális változók. Ahogy eddig hoztuk létre a változókat, azzal lokális változókat hoztunk létre, ha globális változót szeretnénk létrehozni egyszerűen csak elé kell írni hogy global.
global valtozo as integer
Ezzel egy globális integer változót hoztunk létre. A globális és lokális változók között az a különbség hogy a globális változók a programunk bármely részéről elérhetőek még a lokális változók csak arról a helyről érhetőek el ahol létrehoztuk őket és ebből adódóan akár több helyen is létrehozhatjuk ugyan azt a változót. Ez most még talán zavaros lehet egy kissé de ha majd tanulunk a funkciókról, típusokról és a külső forráskód fájlok használatáról, ki fog tisztulni mi is ez a globális, lokális dolog.
A következő leckében a változókkal történő műveletekről lesz szó.