Peoplemon  0.1.0
Peoplemon 3 game source documentation
AIController.hpp
Go to the documentation of this file.
1 #ifndef GAME_BATTLES_BATTLECONTROLLERS_AICONTROLLER_HPP
2 #define GAME_BATTLES_BATTLECONTROLLERS_AICONTROLLER_HPP
3 
5 
6 namespace core
7 {
8 namespace battle
9 {
17 public:
18  // TODO - different personalities and whatnot
19 
26  AIController(pplmn::Id wildId);
27 
34  AIController(const std::string& trainerName, const std::vector<item::Id>& items);
35 
40  virtual void refresh() override;
41 
46  virtual const std::string& name() const override;
47 
52  virtual ~AIController() = default;
53 
60  virtual bool removeItem(item::Id item) override;
61 
66  virtual bool isHost() const override;
67 
68 private:
69  const std::string _name;
70  std::vector<item::Id> items;
71 
72  virtual void startChooseAction() override;
73  virtual void startChoosePeoplemon(bool fromFaint, bool reviveOnly) override;
74  virtual void startChooseToContinue() override;
75 };
76 
77 } // namespace battle
78 } // namespace core
79 
80 #endif
Id
Represents an item in its simplist form.
Definition: Id.hpp:24
Id
The id of a peoplemon.
Definition: Id.hpp:16
Core classes and functionality for both the editor and game.
This controller allows an AI to battle.
virtual ~AIController()=default
Destroy the AIController object.
AIController(pplmn::Id wildId)
Construct a new AIController for a wild peoplemon.
virtual void refresh() override
Does nothing.
virtual const std::string & name() const override
Returns the name of the battler.
virtual bool removeItem(item::Id item) override
Removes the item from the battler's inventory.
virtual bool isHost() const override
Returns false.
Base class for battlers in the game. This provides storage for peoplemon and turn choices.