Commit 8ad9a9e7 authored by Matthew Hausknecht's avatar Matthew Hausknecht

Added a method to get state features from the agent.

parent e226996c
This diff is collapsed.
...@@ -34,67 +34,44 @@ ...@@ -34,67 +34,44 @@
#include <rcsc/player/player_agent.h> #include <rcsc/player/player_agent.h>
#include <vector> #include <vector>
class Agent class Agent : public rcsc::PlayerAgent {
: public rcsc::PlayerAgent {
private:
Communication::Ptr M_communication;
FieldEvaluator::ConstPtr M_field_evaluator;
ActionGenerator::ConstPtr M_action_generator;
public: public:
Agent();
Agent(); virtual ~Agent();
std::vector<float> getState();
virtual virtual FieldEvaluator::ConstPtr getFieldEvaluator() const;
~Agent();
protected: protected:
// You can override this method. But you must call
/*! // PlayerAgent::initImpl() in this method.
You can override this method. virtual bool initImpl(rcsc::CmdLineParser& cmd_parser);
But you must call PlayerAgent::initImpl() in this method.
*/ // main decision
virtual virtual void actionImpl();
bool initImpl( rcsc::CmdLineParser & cmd_parser );
// communication decision
//! main decision virtual void communicationImpl();
virtual virtual void handleActionStart();
void actionImpl(); virtual void handleActionEnd();
virtual void handleServerParam();
//! communication decision virtual void handlePlayerParam();
virtual virtual void handlePlayerType();
void communicationImpl(); virtual FieldEvaluator::ConstPtr createFieldEvaluator() const;
virtual ActionGenerator::ConstPtr createActionGenerator() const;
virtual
void handleActionStart(); private:
virtual // Add the angle and distance to the landmark to the feature_vec
void handleActionEnd(); void addLandmarkFeature(const rcsc::Vector2D& landmark,
const rcsc::Vector2D& self_pos,
virtual std::vector<float>& feature_vec);
void handleServerParam(); bool doPreprocess();
virtual bool doShoot();
void handlePlayerParam(); bool doForceKick();
virtual bool doHeardPassReceive();
void handlePlayerType();
Communication::Ptr M_communication;
virtual FieldEvaluator::ConstPtr M_field_evaluator;
FieldEvaluator::ConstPtr createFieldEvaluator() const; ActionGenerator::ConstPtr M_action_generator;
virtual
ActionGenerator::ConstPtr createActionGenerator() const;
private:
bool doPreprocess();
bool doShoot();
bool doForceKick();
bool doHeardPassReceive();
public:
virtual
FieldEvaluator::ConstPtr getFieldEvaluator() const;
}; };
#endif #endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment