#include <bomb.h>
Veřejné metody | |
| Bomb (const Animation &anim, Uint16 x, Uint16 y, Uint16 flamesize, Uint16 speed, bool timer) | |
| Vytvoří bombu. | |
| virtual bool | move () |
| Pohyb. | |
| virtual void | draw (SDL_Surface *window, const SDL_Rect &rect) |
| Vykreslení. | |
| virtual void | update () |
| Posun animace. | |
| virtual OBJECT_TYPES | type () const |
| Typ objektu je bomba. | |
| virtual | ~Bomb () |
| Destructor. | |
| virtual bool | is_mega () const |
| Ne, není megabomba. | |
| virtual void | explode () |
| Přinutí bombu k explozi. | |
| void | kick (DIRECTION d) |
| Kopne do bomby. | |
| void | remove_timer () |
| Odstranění ručního odpalování. | |
Chráněné metody | |
| void | update_periods_to_flame_ () |
| Obnovit počet period do výbuchu. | |
| bool | move_by_direction_ () |
| Pohnout bombou ve směru pohybu. | |
| virtual void | update_presumptions_ () |
| Vytvořit presumpce. | |
| void | update_presumptions_from_field_ (const field_t &start_field, Sint16 factor_x, Sint16 factor_y) |
| Vytvoří presumpce v jednom směru. | |
| field_t | find_target_field_ () const |
| Najít cílové políčko bomby. | |
| Uint16 | count_distance_ (Uint16 periods_to_end) const |
| Spočítat vzdálenost dojezdu. | |
| void | move_field_by_direction_ (field_t &field, Sint16 delta) const |
| Posunout políčko. | |
| bool | is_danger_presumption_ (const field_t &field, Uint16 periods_to_end) const |
| Je zde nebezpečná presumpce?. | |
| field_t | take_target_from_bomb_before_ (Bomb *bomb_before) const |
| Převezme cíl od předcházející bomby. | |
| bool | update_presumption_ (const field_t &field) |
| Přidat či obnovit presumpci. | |
| void | remove_presumptions_ () |
| Odstranit presumpce. | |
Chráněné atributy | |
| Animation | anim_ |
| Animace. | |
| bool | explodes_ |
| Exploduje-li bomba. | |
| bool | timer_ |
| Odpaluje se ručně. | |
| Uint16 | periods_to_flame_ |
| Počet period do výbuchu. | |
| Uint16 | access_counter_ |
| Počítadlo přístupů. | |
| Uint16 | flamesize_ |
| Velikost plamene. | |
| Uint16 | speed_diff_ |
| Velikost parciálního pohybu. | |
| Uint16 | speed_rate_ |
| Míra parciálního pohybu. | |
| DIRECTION | d_ |
| Směr pohybu. | |
| std::vector< Presumption * > | presumptions_ |
| Seznam presumpcí. | |
| field_t | target_field_ |
| Cílové políčko. | |
Dynamický objekt vytvářený především hráčem. Vytváří plamen, může se hýbat.
| Bomb::Bomb | ( | const Animation & | anim, | |
| Uint16 | x, | |||
| Uint16 | y, | |||
| Uint16 | flamesize, | |||
| Uint16 | speed, | |||
| bool | timer | |||
| ) |
Vytvoří bombu.
| anim | animace | |
| x | souřadnice středu v pixelech | |
| y | souřadnice středu v pixelech | |
| flamesize | velikost plamene v políčkách | |
| speed | rychlost jedoucí bomby | |
| timer | odpaluje-li se rucne |

| Bomb::~Bomb | ( | ) | [virtual] |
| bool Bomb::move | ( | ) | [virtual] |
Pohyb.
Sníží počet period do výbuchu. Hýbe s bombou, stará se o presumpce (vyhazuje nepotřebné, vytváří nové).
Implementuje DynamicMO.

| void Bomb::draw | ( | SDL_Surface * | window, | |
| const SDL_Rect & | rect | |||
| ) | [virtual] |
Vykreslení.
| window | surface okna pro vykreslení | |
| rect | obdelnik mapy v okne |
Implementuje MapObject.

| void Bomb::update | ( | ) | [virtual] |
| virtual OBJECT_TYPES Bomb::type | ( | ) | const [inline, virtual] |
| virtual bool Bomb::is_mega | ( | ) | const [inline, virtual] |
| void Bomb::explode | ( | ) | [virtual] |
Přinutí bombu k explozi.
Výbuch bomby. Vytvoří plameny s ohledem na okolí. Ohlídá si, aby běžela pouze jednou, protože nemá smysl vytvářet plameny dvakrát.
Reimplementováno v MegaBomb.


| void Bomb::kick | ( | DIRECTION | d | ) |
Kopne do bomby.
Nastaví nový směr. Vycentruje bombu na políčku podle nového směru. Pokud je na dalším políčku ve směru pohybu bomba, posune sebe na vzdálenější okraj políčka.
| d | nový směr bomby |


| void Bomb::remove_timer | ( | ) |
Odstranění ručního odpalování.
Odstraní bombě ruční odpalování, spustí klasické odpočítávání.

| void Bomb::update_periods_to_flame_ | ( | ) | [protected] |
Obnovit počet period do výbuchu.
Podle presumpce, která leží pod bombou (pokud tam leží) si nastaví svůj počet period do konce.

| bool Bomb::move_by_direction_ | ( | ) | [protected] |
Pohnout bombou ve směru pohybu.

| void Bomb::update_presumptions_ | ( | ) | [protected, virtual] |
Vytvořit presumpce.
Z cílověho políčka vytvoří ve směrech výbuchu presumpce.
Reimplementováno v MegaBomb.


| void Bomb::update_presumptions_from_field_ | ( | const field_t & | start_field, | |
| Sint16 | factor_x, | |||
| Sint16 | factor_y | |||
| ) | [protected] |
Vytvoří presumpce v jednom směru.


| field_t Bomb::find_target_field_ | ( | ) | const [protected] |
Najít cílové políčko bomby.


| Uint16 Bomb::count_distance_ | ( | Uint16 | periods_to_end | ) | const [protected] |
Spočítat vzdálenost dojezdu.
| periods_to_end | počet period do výbuchu bomby |

| void Bomb::move_field_by_direction_ | ( | field_t & | field, | |
| Sint16 | delta | |||
| ) | const [protected] |
Posunout políčko.
Pro delta rovno +1 hýbne políčkem o jedna ve směru bomby.
| field | políčko, které chceme posunout | |
| delta | o kolik se má políčko posunout (pro kladné ve směru pohybu) |

| bool Bomb::is_danger_presumption_ | ( | const field_t & | field, | |
| Uint16 | periods_to_end | |||
| ) | const [protected] |
Je zde nebezpečná presumpce?.
Pokusí se najít presumpci, porovnává počet period do výbuchu presumpce a mě, pokud by mohla presumpce bouchnout dříve než já, testuje, jestli nebudu už za tímto výbuchem.
| field | policko, ktere testujeme | |
| periods_to_end | počet period do mého bouchnutí |


Převezme cíl od předcházející bomby.
Převezme od předchozí bomby cíl a posune ho o jedna proti směru pohybu.
| bomb_b | předcházející bomba |


| bool Bomb::update_presumption_ | ( | const field_t & | field | ) | [protected] |
Přidat či obnovit presumpci.
Vytvoří presumpci, pokud ještě na políčku není, vloží ji do mapy a do seznamu presumpcí bomby. Pokud na políčku už je, nastaví jí aspon svojí dobu do výbuchu, pokud je doba do výbuchu presumpce vetší.
| field | políčko na které chceme vkládat |

| void Bomb::remove_presumptions_ | ( | ) | [protected] |
Odstranit presumpce.
Vyhodí všechny presumpce bomby.

Animation Bomb::anim_ [protected] |
Animace.
bool Bomb::explodes_ [protected] |
Exploduje-li bomba.
bool Bomb::timer_ [protected] |
Odpaluje se ručně.
Uint16 Bomb::periods_to_flame_ [protected] |
Počet period do výbuchu.
Uint16 Bomb::access_counter_ [protected] |
Počítadlo přístupů.
Uint16 Bomb::flamesize_ [protected] |
Velikost plamene.
Uint16 Bomb::speed_diff_ [protected] |
Velikost parciálního pohybu.
Uint16 Bomb::speed_rate_ [protected] |
Míra parciálního pohybu.
std::vector< Presumption* > Bomb::presumptions_ [protected] |
Seznam presumpcí.
field_t Bomb::target_field_ [protected] |
Cílové políčko.
1.5.6