00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00043 #ifndef _BASICPLAYER_
00044 #define _BASICPLAYER_
00045
00046 #include "ActHandler.h"
00047
00048 extern Logger Log;
00054 class BasicPlayer
00055 {
00056 protected:
00057 ActHandler *ACT;
00058 WorldModel *WM;
00059 ServerSettings *SS;
00060 PlayerSettings *PS;
00062
00063
00064 SoccerCommand alignNeckWithBody ( );
00065 SoccerCommand turnBodyToPoint ( VecPosition pos,
00066 int iPos = 1 );
00067 SoccerCommand turnBackToPoint ( VecPosition pos,
00068 int iPos = 1 );
00069 SoccerCommand turnNeckToPoint ( VecPosition pos,
00070 SoccerCommand com );
00071 SoccerCommand searchBall ( );
00072 SoccerCommand dashToPoint ( VecPosition pos );
00073 SoccerCommand freezeBall ( );
00074 SoccerCommand kickBallCloseToBody ( AngDeg ang );
00075 SoccerCommand accelerateBallToVelocity( VecPosition vel );
00076 SoccerCommand catchBall ( );
00077 SoccerCommand communicate ( char *str );
00078 SoccerCommand teleportToPos ( VecPosition pos );
00079
00081
00082 SoccerCommand turnBodyToObject ( ObjectT o );
00083 SoccerCommand turnNeckToObject ( ObjectT o,
00084 SoccerCommand com );
00085 SoccerCommand moveToPos ( VecPosition posTo,
00086 AngDeg angWhenToTurn,
00087 double dDistDashBack = 0.0,
00088 bool bMoveBack = false );
00089 SoccerCommand interceptClose ( );
00090 SoccerCommand interceptCloseGoalie ( );
00091 SoccerCommand kickTo ( VecPosition posTarget,
00092 double dEndSpeed );
00093 SoccerCommand turnWithBallTo ( AngDeg ang,
00094 AngDeg angKickThr,
00095 double dFreezeThr );
00096 SoccerCommand moveToPosAlongLine ( VecPosition pos,
00097 AngDeg ang,
00098 double dDistThr,
00099 int iSign,
00100 AngDeg angThr,
00101 AngDeg angCorr );
00102
00103
00105
00106 SoccerCommand intercept ( bool bIsGoalie );
00107 SoccerCommand dribble ( AngDeg ang,
00108 DribbleT d );
00109 SoccerCommand directPass ( ObjectT o,
00110 PassT passType );
00111 SoccerCommand leadingPass ( ObjectT o,
00112 double dDist );
00113 SoccerCommand throughPass ( ObjectT o,
00114 VecPosition posEnd,
00115 AngDeg *angMax = NULL );
00116 SoccerCommand outplayOpponent ( ObjectT o,
00117 VecPosition pos,
00118 VecPosition *posTo );
00119 SoccerCommand clearBall ( ClearBallT type,
00120 SideT s = SIDE_ILLEGAL,
00121 AngDeg *angMax = NULL );
00122 SoccerCommand markOpponent ( ObjectT o,
00123 double dDist,
00124 MarkT mark );
00125 SoccerCommand defendGoalLine ( double dDist );
00126
00128
00129 VecPosition getInterceptionPointBall( int *iCyclesBall,
00130 bool isGoalie );
00131 VecPosition getShootPositionOnLine ( VecPosition p1,
00132 VecPosition p2,
00133 AngDeg *angLargest = NULL );
00134 double getEndSpeedForPass ( ObjectT o,
00135 VecPosition posPass );
00136 VecPosition getMarkingPosition ( ObjectT o,
00137 double dDist,
00138 MarkT mark );
00139 } ;
00140
00141 #endif
00142