Claw  1.7.3
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Attributes | List of all members
claw::ai::game::game_state< Action, Numeric > Class Template Reference

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_statedo_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.

Detailed Description

template<typename Action, typename Numeric = int>
class claw::ai::game::game_state< Action, Numeric >

A state of a game.

Template parameters:

Definition at line 54 of file game_ai.hpp.

Member Function Documentation

template<typename Action, typename Numeric = int>
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.

Parameters
aThe action to apply.
Returns
The state resulting from this action.
template<typename Action , typename Numeric >
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()).

Parameters
score_valThe value to fit.

Definition at line 77 of file game_ai.tpp.

template<typename Action, typename Numeric = int>
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.

Parameters
l(out) The actions.

The documentation for this class was generated from the following files: