#include <AI.h>
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 AI * | new_ai (Creature *creature, Sint16 intelligence) |
| Vytvoří umělou inteligenci. | |
| static AI * | new_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 | |
| Creature * | creature_ |
| Nestvůra, které inteligence patří. | |
| std::vector< position_t > | positions_ |
| Seznam pozic pro každý krok. | |
Třídy | |
| struct | position_t |
| Pomocná struktura pro otočení a souřadnice při posunu. ... | |
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.
enum AI::PositionIndex [protected] |
| AI::AI | ( | Creature * | creature | ) | [explicit] |
Uloží rodičovskou nestvůru.
| creature | pointer na nestvůru, které umělá inteligence patří |
| virtual AI::~AI | ( | ) | [inline, virtual] |
Destruktor.
Vytvoří umělou inteligenci.
Statická fce, pouze rozhodne, který potomek AI se použije.
| creature | rodičovská nestvůra | |
| intelligence | výše umělé inteligence |

Okopíruje umělou inteligenci.
Statická fce, pouze vybere potomka AI stejného jako je v parametru.
| creature | rodičovská nestvůra | |
| ai | pointer na již vytvořenou inteligenci, ten se použije pouze na zjištění typu inteligence |

| virtual void AI::move | ( | ) | [pure virtual] |
| virtual Sint16 AI::type | ( | ) | const [pure virtual] |
| Uint16 AI::getCreatureSpeed | ( | ) | [protected] |
Rychlost příšery.
| void AI::initPositions | ( | ) | [protected] |
Inicializuje seznam pozic.
Vloží tolik pozic, aby bylo dost pro další použití.

| 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).


| 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.
| position | nová pozice |

| 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.
| 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 |


| 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.
| coordinate | centrovaná souřadnice | |
| sign | +1 nebo -1, přidá nebo ubere |


| 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..
| position | zjištovaná pozice nestvůry | |
| isBlocking | predikát na určení blokujícího typu |


Creature* AI::creature_ [protected] |
Nestvůra, které inteligence patří.
std::vector<position_t > AI::positions_ [protected] |
Seznam pozic pro každý krok.
1.5.6