A state of a game. More...
#include <game_ai.hpp>
Public Types | |
typedef Numeric | score |
The type used for evaluationg the players' scores. | |
typedef Action | action |
A type representing an action of a player. | |
Public Member Functions | |
virtual | ~game_state () |
Destructor. | |
virtual score | evaluate () const =0 |
Evaluate this state of the game. | |
virtual void | next_actions (std::list< action > &l) const =0 |
Get all actions that can be done from this state. | |
virtual game_state * | do_action (const action &a) const =0 |
Get a new state obtained when applying an action. | |
virtual bool | final () const =0 |
Tell if the game is over. | |
Static Public Member Functions | |
static score | min_score () |
Get the minimal score a state can get. | |
static score | max_score () |
Get the maximal score a state can get. | |
Protected Member Functions | |
score | fit (score score_val) const |
Truncate a score to fit in the range (min_score(), max_score()). | |
Static Protected Attributes | |
static const score | s_min_score |
Minimal score that can be given to a state. | |
static const score | s_max_score |
Maximal score that can be given to a state. |
A state of a game.
Template parameters:
Action,: | a type representing an action of a player. |
Numeric,: | the type used for evaluationg the players' scores. |
Definition at line 54 of file game_ai.hpp.
typedef Action claw::ai::game::game_state< Action, Numeric >::action |
A type representing an action of a player.
Definition at line 61 of file game_ai.hpp.
typedef Numeric claw::ai::game::game_state< Action, Numeric >::score |
The type used for evaluationg the players' scores.
Definition at line 58 of file game_ai.hpp.
claw::ai::game::game_state< Action, Numeric >::~game_state | ( | ) | [virtual] |
Destructor.
Definition at line 42 of file game_ai.tpp.
{ // nothing to do } // game_state::~game_state()
virtual game_state* claw::ai::game::game_state< Action, Numeric >::do_action | ( | const action & | a ) | const [pure virtual] |
Get a new state obtained when applying an action.
a | The action to apply. |
virtual score claw::ai::game::game_state< Action, Numeric >::evaluate | ( | ) | const [pure virtual] |
Evaluate this state of the game.
virtual bool claw::ai::game::game_state< Action, Numeric >::final | ( | ) | const [pure virtual] |
Tell if the game is over.
claw::ai::game::game_state< Action, Numeric >::score claw::ai::game::game_state< Action, Numeric >::fit | ( | score | score_val ) | const [protected] |
Truncate a score to fit in the range (min_score(), max_score()).
score_val | The value to fit. |
Definition at line 77 of file game_ai.tpp.
{ if ( s_max_score < score_val ) return s_max_score; else if ( score_val < s_min_score ) return s_min_score; else return score_val; } // game_state::fit()
claw::ai::game::game_state< Action, Numeric >::score claw::ai::game::game_state< Action, Numeric >::max_score | ( | ) | [static] |
Get the maximal score a state can get.
Definition at line 64 of file game_ai.tpp.
{ return s_max_score; } // game_state::max_score()
claw::ai::game::game_state< Action, Numeric >::score claw::ai::game::game_state< Action, Numeric >::min_score | ( | ) | [static] |
Get the minimal score a state can get.
Definition at line 53 of file game_ai.tpp.
{ return s_min_score; } // game_state::min_score()
virtual void claw::ai::game::game_state< Action, Numeric >::next_actions | ( | std::list< action > & | l ) | const [pure virtual] |
Get all actions that can be done from this state.
l | (out) The actions. |
const score claw::ai::game::game_state< Action, Numeric >::s_max_score [static, protected] |
Maximal score that can be given to a state.
Definition at line 96 of file game_ai.hpp.
const score claw::ai::game::game_state< Action, Numeric >::s_min_score [static, protected] |
Minimal score that can be given to a state.
Definition at line 93 of file game_ai.hpp.