„Star Wars Galactic Battlegrounds szkriptek/A szkriptnyelv parancsai” változatai közötti eltérés
Tartalom törölve Tartalom hozzáadva
Nincs szerkesztési összefoglaló |
|||
4. sor:
== A szkriptnyelv elemei ==
A Genie AI
# Segédparancsok (metaszabályok), amelyek az AI
# [[#Szabályok: a defrule parancs|Szabályok]], ezek végzik a játékos érdemi vezérlését, róluk később. A szabályok többsége leginkább a [[w:hu:Horn-klóz|Horn-klózokra]], ill. általában az ún. logikai programozási nyelvek parancsaira hasonlít (már akinek ez mond valamit): mindenesetre, feltételekből és következményekből állnak.
Mit írhatunk egy Genie AI szkriptbe? Lássuk;
# [[#Kommentek|Kommentelhetünk]], vagyis az AI
#[[#Konstansok|Konstansokat definiálhatunk]], érthetőbben, kiválasztva egy természetes számot (a felső határ 32 000 körül van, a C++ programnyelv ugyanis nagyjából a -32 000 ... +32 000 tartományban kezeli az egész számokat - aki tudja, pontosítsa), annak szöveges nevet adhatunk. Ez így talán nem látszik túl nagy lehetőségnek, de - ld. lentebb - sok mindenre használható.
# [[#Változók: a goal parancs(ok)|Számváltozókat definiálhatunk]]. Egy változónak nemnegatív [[:w:hu:egész számok|egész]] értéket adhatunk, ezt az értéket meg is változtathatjuk, az értéket egy parancsba beolvastathatjuk.
# Lehetőség van bizonyos szabályok ún. ''[[#Load-if(-not): feltételes (nem-)végrehajtás|feltételes végrehajtás]]''ára. Mi szükség van erre, ha a szabályok amúgy is feltételekhez kötöttek?
# A tulajdonképpeni magva, lényege a szkriptelésnek, hogy '''[[#Szabályok: a defrule parancs|szabály]]'''okat definiálhatunk. A szabályok parancsok, amiket a CP igyekszik majd végrehajtani. Egy szabály lényege szerint két részből áll: van egy sereg feltétel (''tények'', ''facts''), ha ezek teljesülnek, akkor egy sereg ''parancs'' (''actions'') végrehajtódik. A tényeket, feltételeket leíró részben használhatunk logikai operátorokat: és (and), vagy (or) és nem (not).
# A szkript végrehajtásának tetszőleges fázisában [[#A load parancs|betölthetünk egy másod- vagy alszkriptet]] az AI szkriptünkbe . A szkriptek egymásba ágyazhatóak. Ez lehetővé teszi pl., hogy egy nagyon hosszú szkriptet modulárissá alakítsunk, kisebb részekből összerakva.
|