The Battle for Wesnoth  1.15.0-dev
stage_rca.hpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2009 - 2018 by Yurii Chernyi <terraninfo@terraninfo.net>
3  Part of the Battle for Wesnoth Project http://www.wesnoth.org/
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY.
11 
12  See the COPYING file for more details.
13 */
14 
15 /**
16  * @file
17  * candidate action evaluator
18  */
19 
20 #pragma once
21 
22 #include "ai/composite/rca.hpp"
23 #include "ai/composite/stage.hpp"
24 
25 namespace ai {
26 
27 namespace ai_default_rca {
28 
29 class candidate_action_evaluation_loop: public virtual stage, public virtual rca_context {
30 public:
31  candidate_action_evaluation_loop( ai_context &context, const config &cfg );
32 
34 
35  bool do_play_stage();
36 
37  void on_create();
38 
39  config to_config() const;
40 
42 
43  void remove_completed_cas();
44 
45 private:
46  std::vector<candidate_action_ptr> candidate_actions_;
47 
48  const config &cfg_;
49 };
50 
51 
52 } // of namespace testing_ai_default
53 
54 } // of namespace ai
candidate_action_evaluation_loop(ai_context &context, const config &cfg)
Definition: stage_rca.cpp:41
std::vector< candidate_action_ptr > candidate_actions_
Definition: stage_rca.hpp:46
Composite AI stages.
A small explanation about what&#39;s going on here: Each action has access to two game_info objects First...
Definition: actions.cpp:58
bool do_play_stage()
Play the turn - implementation.
Definition: stage_rca.cpp:81
A config object defines a single node in a WML file, with access to child nodes.
Definition: config.hpp:68
candidate action framework