Segédanyagok

Segédanyagok

Példaprogramok

Az ágensek érzékelései (összefoglalás)

  • mypos(X,Y): Az ágens pillanatnyi pozíciója.
    X - az x koordináta
    Y - az y koordináta
  • mydir(D): Az ágens pillanatnyi látási orientációja.
    D - az orientáció (0 = fel; 1 = jobbra; 2 = le; 3 = balra)
  • myenergy(E): Az ágens pillanatnyi energiája
    E - az ágens energiaszintje
  • myteam(T): Az ágens csapata
    T - a csapat azonosító száma, ami alapján a csapattagok felismerhetik egymást
  • time(T): Az aktuális (virtuális) idő a játékon belül
    T - az idő minden lépésben növekvő értéke
  • lastattacker([Id,X,Y]): Az ágenst legutóbb megtámadó másik ágens lekérdezése.
    Id - a támadó ágens azonosítója
    X - a támadó x koordinátája a támadás idején
    Y - a támadó y koordinátája a támadás idején
  • food ([[D,V,X,Y],...]): Az által látott ennivalók listája.
    D - az adott étel távolsága az ágenstől (lépésben)
    V - az étel értéke
    X - az étel x koordinátája
    Y - az étel y koordinátája
  • agent([[D,Id,T,E,X,Y,O],...]): Az ágens által látott más ágensek listája.
    D - a másik ágens távolsága
    Id - a másik ágens azonosítója
    T - a másik ágens csapat azonosítója
    E - a másik ágens energiája
    X - a másik ágens x koordinátája
    Y - a másik ágens y koordinátája
    O - a másik ágens látási orientációja

Az ágensek cselekvései (összefoglalás)
Ezek közül az ágensnek minden körben pontosan egyet kell végrehajtania. Amennyiben az ágens nem kíván semmit tenni, akkor a wait cselekvés végrehajtásával várakozhat.

  • wait(): Várakozás, az adott körben az ágens nem tesz semmilyen külső cselekvést - számításokat természetesen végezhet ezt megelőzően.
  • turn(D): Az ágens a D irányba fordul.
  • step(D): Az ágens a D irány be tesz egy lépést.
  • eat(): Az ágens megeszi a pillanatnyi pozícióján található ennivalót.
  • transfer(T,A): Az ágens a vele azonos cellán tartózkodó T csapattársának átad A (tranzakciós veszteséggel csökkentett) energiát.
  • attack(Id): Az ágens látóterében tartózkodó Id azonosítójú ágens megtámadása.
  • setlabel(label): Az ágens által a grafikus felületen megjelenített szám azonosító lecserélése a label értékére. Ezáltal a grafikus felületen egyértelműen azonosíthatók az egyes különböző (forráskódú vagy funkciójú) ágensek.