soccer_action.h

説明を見る。
00001 // -*-c++-*-
00002 
00008 /*
00009  *Copyright:
00010 
00011  Copyright (C) Hidehisa AKIYAMA
00012 
00013  This code is free software; you can redistribute it and/or
00014  modify it under the terms of the GNU Lesser General Public
00015  License as published by the Free Software Foundation; either
00016  version 2.1 of the License, or (at your option) any later version.
00017 
00018  This library is distributed in the hope that it will be useful,
00019  but WITHOUT ANY WARRANTY; without even the implied warranty of
00020  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00021  Lesser General Public License for more details.
00022 
00023  You should have received a copy of the GNU Lesser General Public
00024  License along with this library; if not, write to the Free Software
00025  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00026 
00027  *EndCopyright:
00028  */
00029 
00031 
00032 #ifndef RCSC_PLAYER_SOCCER_ACTION_H
00033 #define RCSC_PLAYER_SOCCER_ACTION_H
00034 
00035 namespace rcsc {
00036 
00037 class PlayerAgent;
00038 
00043 class BodyAction {
00044 private:
00045 
00047     BodyAction( const BodyAction & );
00049     BodyAction & operator=( const BodyAction & );
00050 
00051 protected:
00056     BodyAction()
00057       { }
00058 
00059 public:
00063     virtual
00064     ~BodyAction()
00065       { }
00066 
00072     virtual
00073     bool execute( PlayerAgent * agent ) = 0;
00074 };
00075 
00077 
00082 class NeckAction {
00083 private:
00084 
00086     NeckAction( const NeckAction & );
00088     NeckAction & operator=( const NeckAction & );
00089 
00090 protected:
00095     NeckAction()
00096       { }
00097 
00098 public:
00102     virtual
00103     ~NeckAction()
00104       { }
00105 
00111     virtual
00112     bool execute( PlayerAgent * agent ) = 0;
00113 
00118     virtual
00119     NeckAction * clone() const = 0;
00120 };
00121 
00123 
00128 class ViewAction {
00129 private:
00130 
00132     ViewAction( const ViewAction & );
00134     ViewAction & operator=( const ViewAction & );
00135 
00136 protected:
00141     ViewAction()
00142       { }
00143 
00144 public:
00148     virtual
00149     ~ViewAction()
00150       { }
00151 
00157     virtual
00158     bool execute( PlayerAgent * agent ) = 0;
00159 
00164     virtual
00165     ViewAction * clone() const = 0;
00166 };
00167 
00169 
00174 class ArmAction {
00175 private:
00176 
00178     ArmAction( const ArmAction & );
00180     ArmAction & operator=( const ArmAction & );
00181 
00182 protected:
00187     ArmAction()
00188       { }
00189 
00190 public:
00194     virtual
00195     ~ArmAction()
00196       { }
00197 
00203     virtual
00204     bool execute( PlayerAgent * agent ) = 0;
00205 
00210     virtual
00211     ArmAction * clone() const = 0;
00212 };
00213 
00215 
00220 class SoccerBehavior {
00221 private:
00223     SoccerBehavior( const SoccerBehavior & );
00225     SoccerBehavior & operator=( const SoccerBehavior & );
00226 
00227 protected:
00232     SoccerBehavior()
00233       { }
00234 
00235 public:
00239     virtual
00240     ~SoccerBehavior()
00241       { }
00242 
00248     virtual
00249     bool execute( PlayerAgent * agent ) = 0;
00250 };
00251 
00252 }
00253 
00254 #endif

librcscに対してThu May 1 15:41:21 2008に生成されました。  doxygen 1.5.0