Base class of a unit in the SimulatedGame framework. A unit represents part of the game-state and peforms actions that affect the game-state. You should not create instances of this class. Use specializations @SimulatedGameThinkingUnit or @SimulatedGameStochasticUnit instead.
More...
#include <ISimulatedGameUnit.hh>
|
virtual void | Reset ()=0 |
| Resets state of the unit to the beginning of the SimulatedGame. More...
|
|
virtual int | GetTeamIndex () const =0 |
| Returns the index of a team. Units with the same team index share the same game score. More...
|
|
virtual std::vector< std::unique_ptr< const ISimulatedGameAction > > | GetAvailableActions () const =0 |
| Returns the actions the unit may perform.
More...
|
|
virtual std::unique_ptr< const ISimulatedGameAction > | GetRandomAvailableAction (RandomGenerator &rand_gen) const |
| Returns a random action to be chosen in simulation. The default implementation samples from GetAvailableActions(). Override the method if you are able to return a uniform random action without the need of computing all available actions. More...
|
|
virtual void | AfterAction (SimulatedGameRuntime &) |
| This method is called after action.Apply(). You may insert custom logic here - for example - code that always needs to be executed after any action. More...
|
|
virtual std::string | ToString () const |
| Returns the text representation of the unit for debugging purposes. Default implementation returns an empty string. More...
|
|
virtual void | FillDebugRepresentation (std::map< std::string, std::string > &nameValueDictionary) const |
| Method used to gather data for GUI-based debugging. Insert properties of the state (key, value) you wish to view in the debugging tool. More...
|
|
|
std::vector< std::unique_ptr< SimulatedGameHeuristic > > | heuristicReasoners |
| Add or remove heuristic. See @SimulatedGameHeuristic. Heuristic is used to provide the action to play in certain moments without considering all the options. More...
|
|
|
class | SimulatedGame |
|
class | SimulatedGameNode |
|
Base class of a unit in the SimulatedGame framework. A unit represents part of the game-state and peforms actions that affect the game-state. You should not create instances of this class. Use specializations @SimulatedGameThinkingUnit or @SimulatedGameStochasticUnit instead.
◆ AfterAction()
This method is called after action.Apply(). You may insert custom logic here - for example - code that always needs to be executed after any action.
◆ FillDebugRepresentation()
void grail::simulation::ISimulatedGameUnit::FillDebugRepresentation |
( |
std::map< std::string, std::string > & |
nameValueDictionary | ) |
const |
|
virtual |
Method used to gather data for GUI-based debugging. Insert properties of the state (key, value) you wish to view in the debugging tool.
- Parameters
-
◆ GetAvailableActions()
virtual std::vector<std::unique_ptr<const ISimulatedGameAction> > grail::simulation::ISimulatedGameUnit::GetAvailableActions |
( |
| ) |
const |
|
pure virtual |
Returns the actions the unit may perform.
This method must always return the same set of actions in the same state.
◆ GetRandomAvailableAction()
Returns a random action to be chosen in simulation. The default implementation samples from GetAvailableActions(). Override the method if you are able to return a uniform random action without the need of computing all available actions.
- Parameters
-
rand_gen | Random generator (typedef std::mt19937_64 RandomGenerator) |
- Returns
◆ GetTeamIndex()
virtual int grail::simulation::ISimulatedGameUnit::GetTeamIndex |
( |
| ) |
const |
|
pure virtual |
◆ Reset()
virtual void grail::simulation::ISimulatedGameUnit::Reset |
( |
| ) |
|
|
pure virtual |
◆ ToString()
std::string grail::simulation::ISimulatedGameUnit::ToString |
( |
| ) |
const |
|
virtual |
Returns the text representation of the unit for debugging purposes. Default implementation returns an empty string.
◆ heuristicReasoners
std::vector<std::unique_ptr<SimulatedGameHeuristic> > grail::simulation::ISimulatedGameUnit::heuristicReasoners |
Add or remove heuristic. See @SimulatedGameHeuristic. Heuristic is used to provide the action to play in certain moments without considering all the options.
The documentation for this class was generated from the following files: