AGK Tier 1 alapok 6. rész – Felhasználói adattípusok

Az előző leckében a tömbökről volt szó. Ebben a leckében pedig a felhasználói adattípusokról fogunk beszélni.

Eddig szó esett a változókról és tömbökről mint lehetséges adat tárolási módról, AGK-ban lehetőségünk van saját adattípusokat létrehozni ami egy újabb módja az adatok tárolásának. Minden adattípust először is definiálni kell, az-az létre kell hozni. És minden adattípusban lehetőségünk van meghatározni adat mezőket.

Type ellenseg
    elet as integer
    sebesseg as integer
    sebezhetoseg as integer
EndType

Ahogy láthatjuk létrehoztunk egy ellenség nevű adattípust a Type utasítással amit az adattípus neve követ és végül az EndType utasítással jelezzük hogy az adattípus definiálásának itt vége. A köztes részben pedig létrehoztunk 3 integer adat mezőt. Gyakorlatilag 3 integer változót, ám mégis egy adattípuson belül inkább csak adat mezőként gondoljunk rájuk amiken keresztül információt vihetünk be vagy olvashatunk ki. Ezt az adattípust amit itt létrehoztunk, technikailag lehetőségünk van felhasználni amikor például ellenségeket hozunk létre és meghatározhatjuk azok adatait mint élet, sebesség, sebezhetőség az adatmezőket felhasználva.

borg as ellenseg

borg.sebesseg = 100
borg.sebezhetoseg = 1
borg.elet = 1000

Ahogy láthatjuk, létrehoztunk egy ellenséget aminek a neve borg. És mivel a borg egy ellenség, lehetőségünk van használni az ellenség adattípushoz tartozó mezőket egy pontot követően hogy azok értékét meghatározzuk. Az AGK segít is nekünk azzal hogyha egy adattípust alkalmazunk, akkor a pont elhelyezés után, megjelenít minden adat mező amit használhatunk.

Ennek a haszna az, hogyha például létrehozunk a játékunkban 10 darab ellenséget, akkor nem kell 30 külön változót használnunk csak azért hogy minden ellenségnek külön-külön tároljuk az életét,sebezhetőségét és sebességét.

borg1 as ellenseg
borg2 as ellenseg
borg3 as ellenseg

borg1.elet = 100
borg2.elet = 10
borg3.elet = 10000

Itt létrehoztunk 3 ellenséget és mind a 3 ellenségnek az adat mezőket használva egyszerűen beállítottuk az élet értékeiket, nincs szükségünk 3 külön változóra csak azért hogy 3 ellenség életét külön-külön tároljuk.

Ugyan így például létrehozhatunk egy fegyver adattípust is ami mondjuk a játékos fegyvereinek értékeit tárolja.

Type fegyver
     sebesseg as integer
     sebzes as integer
     loszer as integer
EndType

pisztoly as fegyver

pisztoly.sebesseg = 10
pisztoly.sebzes = 2
pisztoly.loszer = 30

geppuska as fegyver

However, you are buy cipla tadalafil  advised to immediately consult your physician before using Finpecia. This medicine contains 'sildenafil  buy cipla cialis citrate' as its main ingredient and is available in the strength of 100mg. Akarkra improves secretion tadalafil cheap online here are the findings of hormones. Vitamin C and A rich citrus cialis prices  fruits help to reduce cartisol, a stress hormone. geppuska.sebesseg = 100
geppuska.sebzes = 4
geppuska.loszer = 3000

Persze itt felmerülhet a kérdés hogy oké, de miként is lehet ezt a gyakorlatban használni? Ezt ügye fegyverekkel és ellenségekkel nem tudom itt és most bemutatni, mert ahhoz először is készítenünk kellene egy játékot ami még kissé korai.

Ám az előző leckében a tömbök használatát oly módon mutattam be hogy egy személy nevét, korát és hajszínét egy tömbben tároltuk és véletlenszerűen választottunk egy személyt akinek kiírtuk az adatait. Nos lássuk ugyan ezt  ezúttal egy felhasználói adattípust használva.

Type szemely
	neve$ as string
	kora as integer
	hajszine$ as string
EndType

dim szemely[2] as szemely

//első személy
szemely[0].neve$ = "Marian"
szemely[0].kora = 25
szemely[0].hajszine$ = "barna"

//második szemely
szemely[1].neve$ = "Pisti"
szemely[1].kora = 32
szemely[1].hajszine$ = "fekete"

//harmadik szemely
szemely[2].neve$ = "Anna"
szemely[2].kora = 30
szemely[2].hajszine$ = "piros"

veletlen_szemely = Random(0,2)

do
	Print(szemely[veletlen_szemely].neve$)
	Print(szemely[veletlen_szemely].kora)
	Print(szemely[veletlen_szemely].hajszine$)

    Sync() 
loop

Ahogy láthatjuk létrehoztunk egy személy adattípust abban pedig az adat mezőket mint név, kor és hajszín. Majd egy tömböt is létrehoztunk ami  ezúttal nem integer, se nem float vagy string, hanem egy személy. Ily módon a tömbnek hozzáférése van a személy adattípus mezőihez amiket használva eltároltuk 3 személy adatait, majd véletlenszerűen választottunk egyet a háromból, és ki írattuk az adatokat a látható módon. Azt hiszem itt egyértelműen látszik mennyire hasznos a felhasználói adattípus. Még az előző leckében egy 3 dimenziós tömböt használtunk, addig itt most elég volt egy dimenziós tömb amiben 3 cella található a 3 személy adatainak tárolására.

Igazán itt is csak azt tudom mondani mint a tömböknél, ha netalán ez teljesen új nekünk és kissé nehéz megérteni, átlátni így elsőre, ne aggódjunk. Csak tároljuk el az információt hogy ilyen is van és később ahogy több gyakorlatra, nagyobb rálátásra teszünk szert, könnyebb lesz megérteni és felismerni miben és hogyan is segít ez nekünk és mikor-hogyan használjuk.

A következő leckében a feltétel vizsgálatról lesz szó..