|
CLAW Library (a C++ Library Absolutely Wonderful) 1.5.5
|
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.
1.7.3