00001
00002
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00031
00032 #ifndef RCSC_ACTION_INTENAION_KICK_H
00033 #define RCSC_ACTION_INTENAION_KICK_H
00034
00035 #include <rcsc/player/soccer_intention.h>
00036 #include <rcsc/geom/vector_2d.h>
00037 #include <rcsc/game_time.h>
00038
00039 namespace rcsc {
00040
00045 class IntentionKick
00046 : public SoccerIntention {
00047 private:
00048 const Vector2D M_target_point;
00049 const double M_first_speed;
00050
00052 int M_kick_step;
00053
00055 bool M_enforce_kick;
00056
00057 GameTime M_last_execute_time;
00058
00059 public:
00068 IntentionKick( const Vector2D & target_point,
00069 const double & first_speed,
00070 const int kick_step,
00071 const bool enforce_kick,
00072 const GameTime & start_time );
00073
00079 bool finished( const PlayerAgent * agent );
00080
00086 bool execute( PlayerAgent * agent );
00087
00088
00089 private:
00090
00094 void clear()
00095 {
00096 M_kick_step = 0;
00097 }
00098
00099 };
00100
00101 }
00102
00103 #endif