![]() |
Grail (C++)
1.2.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
|
A base class of a unit related to a rational/intelligent player. MCTS chooses actions for this kind of unit. See also SimulatedGameStochasticUnit. All units together represent the game state. More...
#include <SimulatedGameThinkingUnit.hh>
Public Member Functions | |
virtual bool | IsStochastic () const override final |
For grail-internal use only. | |
![]() | |
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. It is strongly advised to create a new vector here, return it and no longer use it. It will be stored in the SimulatedGame structures. This method must always return the same set of actions in the same state. 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... | |
Public Attributes | |
std::vector< std::shared_ptr< learn::OfflineLearner > > | OfflineLearners = {} |
Add or remove objects for OfflineLearning. See @OfflineLerner and Offline Learning in SimulatedGames. | |
![]() | |
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... | |
Friends | |
class | SimulatedGame |
A base class of a unit related to a rational/intelligent player. MCTS chooses actions for this kind of unit. See also SimulatedGameStochasticUnit. All units together represent the game state.