Dokumentace třídy AI

Umělá inteligence. ...

#include <AI.h>

Diagram dědičnosti pro třídu AI

Inheritance graph
[vysvětlivky]
Diagram tříd pro AI:

Collaboration graph
[vysvětlivky]

Seznam všech členů.

Veřejné metody

 AI (Creature *creature)
 Uloží rodičovskou nestvůru.
virtual void move ()=0
 Hýbne nestvůrou.
virtual Sint16 type () const =0
 Typ inteligence.
virtual ~AI ()
 Destruktor.

Statické veřejné metody

static AInew_ai (Creature *creature, Sint16 intelligence)
 Vytvoří umělou inteligenci.
static AInew_ai (Creature *creature, const AI *ai)
 Okopíruje umělou inteligenci.

Chráněné typy

enum  PositionIndex {
  POS_STAY, POS_STRAIGHT, POS_RIGHT, POS_BACK,
  POS_LEFT, POS_LAST
}
 Výčtový typ pro indexování positions_. ...

Chráněné metody

Uint16 getCreatureSpeed ()
 Rychlost příšery.
void initPositions ()
 Inicializuje seznam pozic.
void updatePositions ()
 Uloží cílové pozice pro každé otočení.
void setPosition (position_t &position)
 Nastaví nestvůře novou pozici.
void centerCoordinates (position_t &position, bool isMainX, Sint8 sign)
 Komplexně centruje pozici na políčku.
void centerCoordinate (Uint16 &coordinate, Sint8 sign)
 Partikulárně centruje souřadnici dostředu políčka.
bool checkField (const position_t &position, const isTypeOf &isBlocking)
 Zjistí, zda je možné vstoupit na políčko.

Chráněné atributy

Creaturecreature_
 Nestvůra, které inteligence patří.
std::vector< position_tpositions_
 Seznam pozic pro každý krok.

Třídy

struct  position_t
 Pomocná struktura pro otočení a souřadnice při posunu. ...


Detailní popis

Umělá inteligence.

AI je abstraktní třída, která implementuje vlastnosti a metody společné pro většinu úrovní umělých inteligencí. systém úrovní umělých inteligencí není úplně plochý, každá úroveň implementuje stěžejní funkce pro rozhodnutí tahu trochu jinak.


Dokumentace k členským výčtům

enum AI::PositionIndex [protected]

Výčtový typ pro indexování positions_.

Hodnoty výčtu:
POS_STAY 
POS_STRAIGHT 
POS_RIGHT 
POS_BACK 
POS_LEFT 
POS_LAST 


Dokumentace konstruktoru a destruktoru

AI::AI ( Creature creature  )  [explicit]

Uloží rodičovskou nestvůru.

Parametry:
creature pointer na nestvůru, které umělá inteligence patří

virtual AI::~AI (  )  [inline, virtual]

Destruktor.


Dokumentace k metodám

AI * AI::new_ai ( Creature creature,
Sint16  intelligence 
) [static]

Vytvoří umělou inteligenci.

Statická fce, pouze rozhodne, který potomek AI se použije.

Parametry:
creature rodičovská nestvůra
intelligence výše umělé inteligence
Návratová hodnota:
Pointer na vytvořenou umělou inteligenci, nebo nula pokud výše umělé inteligence neexistuje.

Tuto funkci volají...

AI * AI::new_ai ( Creature creature,
const AI ai 
) [static]

Okopíruje umělou inteligenci.

Statická fce, pouze vybere potomka AI stejného jako je v parametru.

Parametry:
creature rodičovská nestvůra
ai pointer na již vytvořenou inteligenci, ten se použije pouze na zjištění typu inteligence
Návratová hodnota:
Pointer na vytvořenou umělou inteligenci, nebo nula pokud umělá inteligence neexistuje.

Tato funkce volá...

virtual void AI::move (  )  [pure virtual]

Hýbne nestvůrou.

Implementováno v AI_0, AI_1, AI_3, AI_4, AI_6, AI_7, AI_8, AI_9 a AI_fromKeyboard.

Tuto funkci volají...

virtual Sint16 AI::type (  )  const [pure virtual]

Typ inteligence.

Implementováno v AI_0, AI_1, AI_2, AI_3, AI_4, AI_5, AI_6, AI_7, AI_8, AI_9, AI_10 a AI_fromKeyboard.

Tuto funkci volají...

Uint16 AI::getCreatureSpeed (  )  [protected]

Rychlost příšery.

void AI::initPositions (  )  [protected]

Inicializuje seznam pozic.

Vloží tolik pozic, aby bylo dost pro další použití.

Tuto funkci volají...

void AI::updatePositions (  )  [protected]

Uloží cílové pozice pro každé otočení.

Nastaví cílové pozice pro všech pět možností kroku. Nehýbat se(0), krok vpřed(1), krok vpravo(2), krok zpět(3), krok vlevo(4).

Tato funkce volá...

Tuto funkci volají...

void AI::setPosition ( position_t position  )  [protected]

Nastaví nestvůře novou pozici.

Nastaví nestvůře souřadnice a otočení. Stará se také o centrování na políčku.

Parametry:
position nová pozice

Tato funkce volá...

void AI::centerCoordinates ( position_t position,
bool  isMainX,
Sint8  sign 
) [protected]

Komplexně centruje pozici na políčku.

Podle zadaných parametrů se rozhlédne po okolních políčkách a je-li třeba, přiblíží souřadnice pozice středu políčka.

Parametry:
position pozice, jejíž souřadnice chci centrovat
isMainX je-li hlavním směrem osa X
sign +1 nebo -1 podle orientace pohybu po hlavní ose +1 pro vzhůru a vlevo, -1 pro dolů a vpravo

Tato funkce volá...

Tuto funkci volají...

void AI::centerCoordinate ( Uint16 &  coordinate,
Sint8  sign 
) [protected]

Partikulárně centruje souřadnici dostředu políčka.

Podle zadaného znaménka přidá k souřadnici nebo ubere od souřadnice polovinu rychlosti nestvůry. Maximálně však do poloviny políčka.

Parametry:
coordinate centrovaná souřadnice
sign +1 nebo -1, přidá nebo ubere

Tato funkce volá...

Tuto funkci volají...

bool AI::checkField ( const position_t position,
const isTypeOf isBlocking 
) [protected]

Zjistí, zda je možné vstoupit na políčko.

Zjistí podle zadané pozice jestli může na políčko vstoupit..

Parametry:
position zjištovaná pozice nestvůry
isBlocking predikát na určení blokujícího typu
Návratová hodnota:
TRUE pokud se na políčku nevyskytuje žádný z objektů zadaných typů.

Tato funkce volá...

Tuto funkci volají...


Dokumentace k datovým členům

Creature* AI::creature_ [protected]

Nestvůra, které inteligence patří.

std::vector<position_t > AI::positions_ [protected]

Seznam pozic pro každý krok.


Dokumentace pro tuto třídu byla generována z následujících souborů:

Generováno Mon May 24 21:57:02 2010 pro projekt Bombic 2 programem  doxygen 1.5.6