#include <AI.h>
Veřejné metody | |
| AI_4 (Creature *creature) | |
| Zavolá konstruktor AI. | |
| virtual void | move () |
| Hýbne nestvůrou. | |
| virtual Sint16 | type () const |
| Typ inteligence. | |
| virtual | ~AI_4 () |
| Destruktor. | |
Chráněné metody | |
| AI_4 (Creature *creature, isTypeOf &isBlocking, Uint16 minDistance) | |
| Zavolá konstruktor AI, nastaví ostatní parametry. | |
| virtual PositionIndex | findPosIndex (isTypeOf &isBlocking) |
| Najde index pozice, na kterou bychom měli jít. | |
| PositionIndex | findPosIndexToWalkRandomly_ (isTypeOf &isBlocking) |
| Najde náhodně pozici kam může jít. | |
| void | updateDistance_ (position_t &position) |
Chráněné atributy | |
| Uint16 | minDistanceWalkedStraight_ |
| Vzdálenost, jakou musí najednou ujít. | |
| Uint16 | distanceWalkedStraight_ |
| Vzdálenost ušlá od minulé změny směru. | |
Náhodně mění směr, je však definováno, jakou vzdálenost musí ujít rovně. (Aby se nestalo, že se bude motat na místě. Vůbec neřeší blížící se výbuch nebo dostižení hráče.
| virtual AI_4::~AI_4 | ( | ) | [inline, virtual] |
Destruktor.
Zavolá konstruktor AI, nastaví ostatní parametry.
| void AI_4::move | ( | ) | [virtual] |
Hýbne nestvůrou.
Obnoví možné pozice, vybere z nich pomocí findPosIndex(), obnoví vzdálenost ušlou přímo, nastaví vybranou pozici.
Reimplementuje stejnojmenný prvek z AI_1.
Reimplementováno v AI_6, AI_8 a AI_9.

| virtual Sint16 AI_4::type | ( | ) | const [inline, virtual] |
| AI::PositionIndex AI_4::findPosIndex | ( | isTypeOf & | isBlocking | ) | [protected, virtual] |
Najde index pozice, na kterou bychom měli jít.
Najde index pomocí findPosIndexToWalkStraight_(), pokud ušel dostatečnou vzdálenost rovně, použije findPosIndexToWalkRandomly_().
| isBlocking | predikát určující blokující objekty |
Reimplementuje stejnojmenný prvek z AI_1.
Reimplementováno v AI_10.


| AI::PositionIndex AI_4::findPosIndexToWalkRandomly_ | ( | isTypeOf & | isBlocking | ) | [protected] |
Najde náhodně pozici kam může jít.
Vybere náhodně spravedlivě z možních pozic.
| isBlocking | predikát určující blokující objekty |


| void AI_4::updateDistance_ | ( | position_t & | position | ) | [protected] |
Přidá ušlou vzdálenost k vzdálenosti ušlé rovně, pokud už původní vzdálenost ušlá rovně byla dost velká, vynuluje ji.
| position | pozice, podle které máme obnovit vzdálenost |


Uint16 AI_4::minDistanceWalkedStraight_ [protected] |
Vzdálenost, jakou musí najednou ujít.
Uint16 AI_4::distanceWalkedStraight_ [protected] |
Vzdálenost ušlá od minulé změny směru.
1.5.6