Roguelike
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
controller_ai.h
Go to the documentation of this file.
1 #ifndef ROGUELIKE_COMPONENT_CONTROLLER_AI_H_
2 #define ROGUELIKE_COMPONENT_CONTROLLER_AI_H_
3 
4 // Inheritance
7 
8 // External Dependencies
9 #include <vector>
10 #include <list>
11 #include <deque>
12 #include <queue>
13 #include <climits>
14 #include <ugdk/math/integer2D.h>
15 
16 // Internal Dependencies
17 #include "game/base/gamething.h"
18 
19 // Forward Declarations
20 #include "game/base.h"
21 
22 namespace game {
23 namespace component {
24 
25 class ControllerAi : public Controller {
26  typedef Controller super;
27  // lacks operator=
28  ControllerAi& operator=(const ControllerAi&);
29 
30  public:
32  ~ControllerAi();
33 
35  void NewMapSize(int x, int y);
36  void NewMapSize(ugdk::math::Integer2D size);
38  ugdk::math::Integer2D TryPath(ugdk::math::Integer2D, ugdk::math::Integer2D);
39  void HearSound(int intensity);
40 
41  private:
42  std::vector< std::vector<double> > map_;
43  std::vector< std::vector<double> > clean_map_;
44  std::deque<ugdk::math::Integer2D> tile_queue_;
45  game::base::GameTile* target_;
46  int hostility_level_;
47 };
48 
49 } // namespace component
50 } // namespace game
51 
52 #endif // ROGUELIKE_COMPONENT_CONTROLLER_AI_H_
Definition: gameobject.h:53
~ControllerAi()
Definition: controller_ai.cc:43
ControllerAi(game::base::GameObject *owner)
Definition: controller_ai.cc:42
Definition: controller.h:21
Definition: controller_ai.h:25
Definition: aim.cc:15
ugdk::math::Integer2D TryPath(ugdk::math::Integer2D, ugdk::math::Integer2D)
Definition: controller_ai.cc:116
Definition: gametile.h:21
Definition: componentbase.h:19
void NewMapSize(int x, int y)
Definition: controller_ai.cc:95
Definition: timeelapsed.h:20
action::time::TimeElapsed Act()
Definition: controller_ai.cc:45
void HearSound(int intensity)
Definition: controller_ai.cc:112
bool InMeleeRange(game::base::GameObject *target)
Definition: controller_ai.cc:104