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