#include <AI.h>
Veřejné metody | |
AI_fromKeyboard (Creature *creature) | |
Zavolá konstruktor AI. | |
virtual void | move () |
Hýbne nestvůrou. | |
virtual Sint16 | type () const |
Typ inteligence. | |
virtual | ~AI_fromKeyboard () |
Destruktor. | |
Privátní metody | |
bool | handleMoveKeys_ (Player *player) |
Obslouží klávesy pro pohyb. | |
void | handlePlantKey_ (Player *player, bool playerMoved) |
Obslouží pokládání bomb. | |
void | handleTimerKey_ (Player *player) |
Obslouží ruční odpalování bomb. | |
bool | trySetPosition_ (Player *player, position_t &position) |
Vytvoří a nastaví novou pozici. | |
Privátní atributy | |
Uint8 * | keystate_ |
Stav klávesnice. |
AI_fromKeyboard je inteligence, která je řízena vstupem z klávesnice. Pokud se nic neděje, hráčem nehýbá. Řeší, aby uživatel svou interakcí chodil pouze tudy, kudy může. Chodí s hráčem čtyřmi směry, pokládá bomby, kope do nich, odpaluje je.
virtual AI_fromKeyboard::~AI_fromKeyboard | ( | ) | [inline, virtual] |
Destruktor.
void AI_fromKeyboard::move | ( | ) | [virtual] |
Hýbne nestvůrou.
Provede update možných pozic jako bych byl otočený nahoru. Postupně zavolá všechny handlery kláves.
Implementuje AI.
virtual Sint16 AI_fromKeyboard::type | ( | ) | const [inline, virtual] |
bool AI_fromKeyboard::handleMoveKeys_ | ( | Player * | player | ) | [private] |
Obslouží klávesy pro pohyb.
Pro stisknuté klávesy nastaví směr hráče a pokusí se hráčem hýbnout.
player | hráč, pro nějž handler voláme |
void AI_fromKeyboard::handlePlantKey_ | ( | Player * | player, | |
bool | playerMoved | |||
) | [private] |
Obslouží pokládání bomb.
Vytváří a vkládá do mapy bomby. Řeší firemana, megabomby a posílání bomb.
player | hráč, pro nějž handler voláme | |
playerMoved | zda je hráč právě v pohybu |
void AI_fromKeyboard::handleTimerKey_ | ( | Player * | player | ) | [private] |
Obslouží ruční odpalování bomb.
Řeší ruční odpalování.
player | hráč, pro nějž handler voláme |
bool AI_fromKeyboard::trySetPosition_ | ( | Player * | player, | |
position_t & | position | |||
) | [private] |
Vytvoří a nastaví novou pozici.
Pokusí se hráči nastavit novou pozici. Při tom se zabývá tím, aby hráč nevlezl někam kam nesmí. Řeší kopání do bomb. Když je možné hráče posunout ve směru stanoveném pozicí alespon trochu, funkce tak učiní.
player | hráč, pro nějž handler voláme | |
position | nová pozice pro nastavení |
Uint8* AI_fromKeyboard::keystate_ [private] |
Stav klávesnice.