formula_ai Class Reference

#include <formula_ai.hpp>

Inheritance diagram for formula_ai:

Inheritance graph
[legend]
Collaboration diagram for formula_ai:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 formula_ai (info &i)
virtual void play_turn ()
 Function that is called when the AI must play its turn.
const move_mapsrcdst () const
std::string evaluate (const std::string &formula_str)
void swap_move_map (move_map_backup &backup)
variant get_keeps () const
const variantget_keeps_cache () const

Private Member Functions

void do_recruitment ()
bool make_move (game_logic::const_formula_ptr formula_, const game_logic::formula_callable &variables)
bool execute_variant (const variant &var, bool commandline=false)
virtual variant get_value (const std::string &key) const
virtual void get_inputs (std::vector< game_logic::formula_input > *inputs) const
void prepare_move () const

Private Attributes

game_logic::const_formula_ptr recruit_formula_
game_logic::const_formula_ptr move_formula_
std::map< location, pathspossible_moves_
bool move_maps_valid_
move_map srcdst_
move_map dstsrc_
move_map full_srcdst_
move_map full_dstsrc_
move_map enemy_srcdst_
move_map enemy_dstsrc_
variant attacks_cache_
variant keeps_cache_
game_logic::map_formula_callable vars_

Classes

struct  move_map_backup


Detailed Description

Definition at line 27 of file formula_ai.hpp.


Constructor & Destructor Documentation

formula_ai::formula_ai ( info i  )  [explicit]

Definition at line 939 of file formula_ai.cpp.

References reference_counted_object::add_ref(), and vars_.


Member Function Documentation

void formula_ai::play_turn (  )  [virtual]

const move_map& formula_ai::srcdst (  )  const [inline]

Definition at line 36 of file formula_ai.hpp.

References move_maps_valid_, prepare_move(), and srcdst_.

std::string formula_ai::evaluate ( const std::string &  formula_str  ) 

void formula_ai::swap_move_map ( move_map_backup backup  ) 

variant formula_ai::get_keeps (  )  const

const variant& formula_ai::get_keeps_cache (  )  const [inline]

Definition at line 51 of file formula_ai.hpp.

References keeps_cache_.

void formula_ai::do_recruitment (  )  [private, virtual]

Reimplemented from ai.

Definition at line 1194 of file formula_ai.cpp.

References variant::is_list(), variant::num_elements(), ai_interface::recruit(), and recruit_formula_.

Referenced by execute_variant().

bool formula_ai::make_move ( game_logic::const_formula_ptr  formula_,
const game_logic::formula_callable variables 
) [private]

bool formula_ai::execute_variant ( const variant var,
bool  commandline = false 
) [private]

variant formula_ai::get_value ( const std::string &  key  )  const [private, virtual]

void formula_ai::get_inputs ( std::vector< game_logic::formula_input > *  inputs  )  const [private, virtual]

Reimplemented from ai_interface.

Definition at line 1261 of file formula_ai.cpp.

References game_logic::FORMULA_READ_ONLY, and ai_interface::get_inputs().

void formula_ai::prepare_move (  )  const [private]


Member Data Documentation

Definition at line 59 of file formula_ai.hpp.

Referenced by do_recruitment(), and play_turn().

Definition at line 60 of file formula_ai.hpp.

Referenced by play_turn().

Definition at line 62 of file formula_ai.hpp.

Referenced by execute_variant(), and prepare_move().

bool formula_ai::move_maps_valid_ [mutable, private]

Definition at line 65 of file formula_ai.hpp.

Referenced by make_move(), prepare_move(), srcdst(), and swap_move_map().

move_map formula_ai::srcdst_ [mutable, private]

Definition at line 66 of file formula_ai.hpp.

Referenced by get_value(), prepare_move(), srcdst(), and swap_move_map().

move_map formula_ai::dstsrc_ [mutable, private]

Definition at line 66 of file formula_ai.hpp.

Referenced by get_value(), prepare_move(), and swap_move_map().

move_map formula_ai::full_srcdst_ [mutable, private]

Definition at line 66 of file formula_ai.hpp.

Referenced by prepare_move(), and swap_move_map().

move_map formula_ai::full_dstsrc_ [mutable, private]

Definition at line 66 of file formula_ai.hpp.

Referenced by prepare_move(), and swap_move_map().

move_map formula_ai::enemy_srcdst_ [mutable, private]

Definition at line 66 of file formula_ai.hpp.

Referenced by get_value(), prepare_move(), and swap_move_map().

move_map formula_ai::enemy_dstsrc_ [mutable, private]

Definition at line 66 of file formula_ai.hpp.

Referenced by get_value(), prepare_move(), and swap_move_map().

variant formula_ai::attacks_cache_ [mutable, private]

Definition at line 67 of file formula_ai.hpp.

Referenced by get_value(), prepare_move(), and swap_move_map().

variant formula_ai::keeps_cache_ [mutable, private]

Definition at line 68 of file formula_ai.hpp.

Referenced by get_keeps(), and get_keeps_cache().

Definition at line 70 of file formula_ai.hpp.

Referenced by execute_variant(), formula_ai(), and get_value().


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

Generated by doxygen 1.5.5 on 23 May 2008 for The Battle for Wesnoth
Gna! | Forum | Wiki | CIA | devdocs