Author: crab
Date: Thu Jun 4 21:36:36 2009
New Revision: 36057
URL: http://svn.gna.org/viewcvs/wesnoth?rev=36057&view=rev
Log:
AI refactoring: ai_interface -> ai::interface
Modified:
trunk/src/ai/ai.cpp
trunk/src/ai/ai.hpp
trunk/src/ai/ai2.hpp
trunk/src/ai/ai_dfool.hpp
trunk/src/ai/ai_interface.cpp
trunk/src/ai/ai_interface.hpp
trunk/src/ai/ai_manager.cpp
trunk/src/ai/ai_manager.hpp
trunk/src/ai/composite/ai.hpp
trunk/src/ai/formula_ai.cpp
trunk/src/ai/testing/stage_fallback.hpp
Modified: trunk/src/ai/ai.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/ai.cpp?rev=36057&r1=36056&r2=36057&view=diff
==============================================================================
--- trunk/src/ai/ai.cpp (original)
+++ trunk/src/ai/ai.cpp Thu Jun 4 21:36:36 2009
@@ -73,7 +73,7 @@
/** Sample ai, with simple strategy. */
-class sample_ai : public ai::readwrite_context_proxy, public ai_interface {
+class sample_ai : public ai::readwrite_context_proxy, public ai::interface {
public:
sample_ai(ai::readwrite_context &context)
: recursion_counter_(context.get_recursion_count()) {
@@ -274,7 +274,7 @@
if (formula_ai_ != NULL){
formula_ai_->new_turn();
}
- ai_interface::new_turn();
+ ai::interface::new_turn();
}
std::string ai_default::describe_self(){
Modified: trunk/src/ai/ai.hpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/ai.hpp?rev=36057&r1=36056&r2=36057&view=diff
==============================================================================
--- trunk/src/ai/ai.hpp (original)
+++ trunk/src/ai/ai.hpp Thu Jun 4 21:36:36 2009
@@ -28,7 +28,7 @@
class formula_ai;
/** A trivial ai that sits around doing absolutely nothing. */
-class idle_ai : public ai::readwrite_context_proxy, public ai_interface {
+class idle_ai : public ai::readwrite_context_proxy, public ai::interface {
public:
idle_ai(ai::readwrite_context &context);
void play_turn();
@@ -39,7 +39,7 @@
ai::recursion_counter recursion_counter_;
};
-class ai_default : public virtual ai::default_ai_context_proxy, public
ai_interface, public game_logic::formula_callable {
+class ai_default : public virtual ai::default_ai_context_proxy, public
ai::interface, public game_logic::formula_callable {
public:
typedef ai::move_map move_map;
typedef map_location location;//will get rid of this later
@@ -142,7 +142,7 @@
bool threats_found_;
/**
- * Our own version of 'move_unit'. It is like the version in
ai_interface,
+ * Our own version of 'move_unit'. It is like the version in
readwrite_context
* however if it is the leader moving, it will first attempt
recruitment.
*/
location move_unit(location from, location to,
std::map<location,paths>& possible_moves);
Modified: trunk/src/ai/ai2.hpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/ai2.hpp?rev=36057&r1=36056&r2=36057&view=diff
==============================================================================
--- trunk/src/ai/ai2.hpp (original)
+++ trunk/src/ai/ai2.hpp Thu Jun 4 21:36:36 2009
@@ -25,7 +25,7 @@
namespace ai {
-class ai2 : public readwrite_context_proxy, public ai_interface {
+class ai2 : public readwrite_context_proxy, public interface {
public:
ai2(readwrite_context &context)
: recursion_counter_(context.get_recursion_count())
Modified: trunk/src/ai/ai_dfool.hpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/ai_dfool.hpp?rev=36057&r1=36056&r2=36057&view=diff
==============================================================================
--- trunk/src/ai/ai_dfool.hpp (original)
+++ trunk/src/ai/ai_dfool.hpp Thu Jun 4 21:36:36 2009
@@ -99,7 +99,7 @@
* does not target units that it has not "seen",
* and does not make decisions based on unseen units.
*/
- class dfool_ai : public ai::readwrite_context_proxy, public ai_interface {
+ class dfool_ai : public ai::readwrite_context_proxy, public ai::interface {
public:
dfool_ai(ai::readwrite_context &context)
: recursion_counter_(context.get_recursion_count()),
unit_memory_(current_team().ai_memory())
Modified: trunk/src/ai/ai_interface.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/ai_interface.cpp?rev=36057&r1=36056&r2=36057&view=diff
==============================================================================
--- trunk/src/ai/ai_interface.cpp (original)
+++ trunk/src/ai/ai_interface.cpp Thu Jun 4 21:36:36 2009
@@ -19,11 +19,14 @@
#include "ai_interface.hpp"
+namespace ai {
+
// =======================================================================
//
// =======================================================================
-std::string ai_interface::describe_self() const
+std::string interface::describe_self() const
{
return "? [ai]";
}
+} //end of namespace ai
Modified: trunk/src/ai/ai_interface.hpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/ai_interface.hpp?rev=36057&r1=36056&r2=36057&view=diff
==============================================================================
--- trunk/src/ai/ai_interface.hpp (original)
+++ trunk/src/ai/ai_interface.hpp Thu Jun 4 21:36:36 2009
@@ -23,14 +23,16 @@
#include "../formula_callable.hpp"
#include "game_info.hpp"
-class ai_interface {
+namespace ai {
+
+class interface {
public:
/**
* The constructor.
*/
- ai_interface() {
+ interface() {
}
- virtual ~ai_interface() {}
+ virtual ~interface() {}
/**
* Function that is called when the AI must play its turn.
@@ -63,4 +65,6 @@
};
+} //end of namespace ai
+
#endif
Modified: trunk/src/ai/ai_manager.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/ai_manager.cpp?rev=36057&r1=36056&r2=36057&view=diff
==============================================================================
--- trunk/src/ai/ai_manager.cpp (original)
+++ trunk/src/ai/ai_manager.cpp Thu Jun 4 21:36:36 2009
@@ -98,7 +98,7 @@
}
-ai_interface& holder::get_ai_ref( int side )
+interface& holder::get_ai_ref( int side )
{
if (this->ai_ == NULL) {
this->init(side);
@@ -108,7 +108,7 @@
return *this->ai_;
}
-ai_interface& holder::get_ai_ref()
+interface& holder::get_ai_ref()
{
return get_ai_ref(this->side_);
}
@@ -202,7 +202,7 @@
return true;
}
-ai_interface* holder::create_ai( int side )
+interface* holder::create_ai( int side )
{
assert (side > 0);
assert (default_ai_context_!=NULL);
@@ -358,7 +358,7 @@
}
if (!should_intercept(str)){
- ai_interface& ai = get_command_ai(side);
+ interface& ai = get_command_ai(side);
return ai.evaluate(str);
}
@@ -549,7 +549,7 @@
}
-ai_interface* manager::create_transient_ai( const std::string
&ai_algorithm_type, default_ai_context *ai_context )
+interface* manager::create_transient_ai( const std::string &ai_algorithm_type,
default_ai_context *ai_context )
{
assert(ai_context!=NULL);
//@todo 1.7 modify this code to use a 'factory lookup' pattern -
@@ -561,7 +561,7 @@
//: To add an AI of your own, put
// if(ai_algorithm_type == "my_ai") {
// LOG_AI_MANAGER << "Creating new AI of type [" <<
"my_ai" << "]"<< std::endl;
- // ai_interface *a = new my_ai(*ai_context);
+ // interface *a = new my_ai(*ai_context);
// a->on_create();
// return a;
// }
@@ -569,35 +569,35 @@
//if(ai_algorithm_type == manager::AI_TYPE_SAMPLE_AI) {
// LOG_AI_MANAGER << "Creating new AI of type [" <<
manager::AI_TYPE_IDLE_AI << "]"<< std::endl;
- // ai_interface *a = new sample_ai(*ai_context);
+ // interface *a = new sample_ai(*ai_context);
// a->on_create();
// return a;
//}
if(ai_algorithm_type == manager::AI_TYPE_IDLE_AI) {
LOG_AI_MANAGER << "Creating new AI of type [" <<
manager::AI_TYPE_IDLE_AI << "]"<< std::endl;
- ai_interface *a = new idle_ai(*ai_context);
+ interface *a = new idle_ai(*ai_context);
a->on_create();
return a;
}
if(ai_algorithm_type == manager::AI_TYPE_FORMULA_AI) {
LOG_AI_MANAGER << "Creating new AI of type [" <<
manager::AI_TYPE_FORMULA_AI << "]"<< std::endl;
- ai_interface *a = new formula_ai(*ai_context);
+ interface *a = new formula_ai(*ai_context);
a->on_create();
return a;
}
if(ai_algorithm_type == manager::AI_TYPE_DFOOL_AI) {
LOG_AI_MANAGER << "Creating new AI of type [" <<
manager::AI_TYPE_DFOOL_AI << "]"<< std::endl;
- ai_interface *a = new dfool::dfool_ai(*ai_context);
+ interface *a = new dfool::dfool_ai(*ai_context);
a->on_create();
return a;
}
if(ai_algorithm_type == manager::AI_TYPE_AI2) {
LOG_AI_MANAGER << "Creating new AI of type [" <<
manager::AI_TYPE_AI2 << "]"<< std::endl;
- ai_interface *a = new ai2(*ai_context);
+ interface *a = new ai2(*ai_context);
a->on_create();
return a;
}
@@ -605,7 +605,7 @@
if(ai_algorithm_type == manager::AI_TYPE_COMPOSITE_AI) {
LOG_AI_MANAGER << "Creating new AI of type [" <<
manager::AI_TYPE_COMPOSITE_AI << "]"<< std::endl;
- ai_interface *a = new composite_ai::ai_composite(*ai_context);
+ interface *a = new composite_ai::ai_composite(*ai_context);
a->on_create();
return a;
}
@@ -616,7 +616,7 @@
}
LOG_AI_MANAGER << "Creating new AI of type [" <<
manager::AI_TYPE_DEFAULT << "]"<< std::endl;
- ai_interface *a = new ai_default(*ai_context);
+ interface *a = new ai_default(*ai_context);
a->on_create();
return a;
}
@@ -747,7 +747,7 @@
last_interact_ = 0;
num_interact_ = 0;
const int turn_start_time = SDL_GetTicks();
- ai_interface& ai_obj = get_active_ai_for_side(side);
+ interface& ai_obj = get_active_ai_for_side(side);
ai_obj.play_turn();
const int turn_end_time= SDL_GetTicks();
DBG_AI_MANAGER << "side " << side << ": number of user interactions:
"<<num_interact_<<std::endl;
@@ -818,29 +818,29 @@
// AI POINTERS
// =======================================================================
-ai_interface& manager::get_active_ai_for_side( int side )
+interface& manager::get_active_ai_for_side( int side )
{
return get_active_ai_holder_for_side(side).get_ai_ref();
}
-ai_interface& manager::get_or_create_active_ai_for_side_without_fallback( int
side, const std::string& ai_algorithm_type )
+interface& manager::get_or_create_active_ai_for_side_without_fallback( int
side, const std::string& ai_algorithm_type )
{
holder& ai_holder =
get_or_create_active_ai_holder_for_side_without_fallback(side,ai_algorithm_type);
return ai_holder.get_ai_ref();
}
-ai_interface& manager::get_command_ai( int side )
+interface& manager::get_command_ai( int side )
{
holder& ai_holder = get_command_ai_holder(side);
- ai_interface& ai = ai_holder.get_ai_ref(side);
+ interface& ai = ai_holder.get_ai_ref(side);
return ai;
}
-ai_interface& manager::get_fallback_ai( int side )
+interface& manager::get_fallback_ai( int side )
{
holder& ai_holder = get_fallback_ai_holder(side);
- ai_interface& ai = ai_holder.get_ai_ref(side);
+ interface& ai = ai_holder.get_ai_ref(side);
return ai;
}
Modified: trunk/src/ai/ai_manager.hpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/ai_manager.hpp?rev=36057&r1=36056&r2=36057&view=diff
==============================================================================
--- trunk/src/ai/ai_manager.hpp (original)
+++ trunk/src/ai/ai_manager.hpp Thu Jun 4 21:36:36 2009
@@ -33,9 +33,11 @@
#include <vector>
#include <deque>
-class ai_interface;
namespace ai {
+
+class interface;
+
/**
* Base class that holds the AI and current AI parameters.
* It is an implementation detail.
@@ -49,8 +51,8 @@
virtual ~holder();
- ai_interface& get_ai_ref();
- ai_interface& get_ai_ref( int side );
+ interface& get_ai_ref();
+ interface& get_ai_ref( int side );
const std::string& get_ai_algorithm_type() const;
void set_ai_algorithm_type(const std::string& ai_algorithm_type);
@@ -77,7 +79,7 @@
bool is_mandate_ok();
private:
- ai_interface *ai_;
+ interface *ai_;
side_context *side_context_;
readonly_context *readonly_context_;
readwrite_context *readwrite_context_;
@@ -89,7 +91,7 @@
std::vector<config> ai_parameters_;
int side_;
- ai_interface* create_ai( int side );
+ interface* create_ai( int side );
};
/**
@@ -274,7 +276,7 @@
* @param context context in which this ai is created
* @return the reference to the created AI
*/
- static ai_interface* create_transient_ai( const std::string&
ai_algorithm_type, default_ai_context *ai_context);
+ static interface* create_transient_ai( const std::string&
ai_algorithm_type, default_ai_context *ai_context);
/**
@@ -547,24 +549,24 @@
* @return a reference to the active AI.
* @note This reference may become invalid after specific manager
operations.
*/
- static ai_interface& get_active_ai_for_side( int side );
+ static interface& get_active_ai_for_side( int side );
/**
* Gets the command AI for the specified @a side.
*/
- static ai_interface& get_command_ai( int side );
+ static interface& get_command_ai( int side );
/**
* Gets the fallback AI for the specified @a side.
*/
- static ai_interface& get_fallback_ai( int side );
+ static interface& get_fallback_ai( int side );
/**
* Gets or creates active AI for specified @a side without fallback.
*/
- static ai_interface& get_or_create_active_ai_for_side_without_fallback(
int side, const std::string& ai_algorithm_type );
+ static interface& get_or_create_active_ai_for_side_without_fallback(
int side, const std::string& ai_algorithm_type );
};
Modified: trunk/src/ai/composite/ai.hpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/composite/ai.hpp?rev=36057&r1=36056&r2=36057&view=diff
==============================================================================
--- trunk/src/ai/composite/ai.hpp (original)
+++ trunk/src/ai/composite/ai.hpp Thu Jun 4 21:36:36 2009
@@ -36,7 +36,7 @@
namespace composite_ai {
-class ai_composite : public composite_ai_context, public virtual
default_ai_context_proxy, public ai_interface {
+class ai_composite : public composite_ai_context, public virtual
default_ai_context_proxy, public interface {
public:
Modified: trunk/src/ai/formula_ai.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/formula_ai.cpp?rev=36057&r1=36056&r2=36057&view=diff
==============================================================================
--- trunk/src/ai/formula_ai.cpp (original)
+++ trunk/src/ai/formula_ai.cpp Thu Jun 4 21:36:36 2009
@@ -1857,7 +1857,7 @@
if(!formula_) {
if(get_recursion_count()<ai::recursion_counter::MAX_COUNTER_VALUE) {
LOG_AI << "Falling back to default AI.\n";
- util::scoped_ptr< ai_interface > fallback(
ai::manager::create_transient_ai(ai::manager::AI_TYPE_DEFAULT, this));
+ util::scoped_ptr< ai::interface > fallback(
ai::manager::create_transient_ai(ai::manager::AI_TYPE_DEFAULT, this));
if (fallback != NULL){
fallback->play_turn();
}
@@ -2182,7 +2182,7 @@
} else
{
LOG_AI << "Explicit fallback to: " <<
fallback_command->key() << std::endl;
- util::scoped_ptr< ai_interface >
fallback ( ai::manager::create_transient_ai(fallback_command->key(), this));
+ util::scoped_ptr< ai::interface >
fallback ( ai::manager::create_transient_ai(fallback_command->key(), this));
if(fallback != NULL) {
fallback->play_turn();
}
Modified: trunk/src/ai/testing/stage_fallback.hpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/testing/stage_fallback.hpp?rev=36057&r1=36056&r2=36057&view=diff
==============================================================================
--- trunk/src/ai/testing/stage_fallback.hpp (original)
+++ trunk/src/ai/testing/stage_fallback.hpp Thu Jun 4 21:36:36 2009
@@ -42,7 +42,8 @@
private:
const config &cfg_;
- ai_interface *fallback_ai_;
+
+ ai::interface *fallback_ai_;
};
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits