****class BasicPlayer****

<class BasicPlayer>
    ȤΥ

ѥ᡼
    ʤ

ؿ
		SoccerCommand alignNeckWithBody ();
	      Τθ碌롣CMD_TURNNECKΤȼγ٤֤

		SoccerCommand turnBodyToPoint ( VecPosition pos, int iPos = 1);
				ݥpos˸äΤ롣UPDATECMD_TURN
				ȳ٤֤

		SoccerCommand turnBackToPoint( VecPosition pos, int iPos = 1);
				ݥpos˸ä롣UPDATE
				CMD_TURNȳ٤֤

    SoccerCommand turnNeckToPoint( VecPosition pos, SoccerCommand com);
		    ݥpos˼롢ޥɤ˹碌ơCMD_TURNNECKȳ
				٤֤

    SoccerCommand searchBall();
				ܡ뤬ʤȤ˥ܡõĤΤ롣
				CMD_TURN֤

    SoccerCommand dashToPoint( VecPosition pos);
		    ݥpos˸äƥå夹롣CMD_DASHȥåɬ
		    ֤ͤ

    SoccerCommand freezeBall();
		    ưƤܡߤ롣CMD_KICKޥɡϡ٤֤

		SoccerCommand kickBallCloseToBody( AndDeg ang);
				ܡangΤ˶ᤤȤ˽롣CMD_KICK,ϡ٤֤

		SoccerCommand accelerateBallToVelocity( VecPosition velDes);
				CMD_KICKϡºݤγ٤֤ܡ®򡩡

    SoccerCommand catchBall();
        ܡ򥭥å롣CMD_CATCHȥܡؤγ٤֤

    SoccerCommand communicate(char *str);
		    ߥ˥Ȥ롣CMD_SAYstr֤

    SoccerCommand teleportToPos( VecPosition pos);
		    Ϳ줿ݥposؽְִư롣CMD_MOVE,ݥκ
		    ɸ֤

	  SoccerCommand turnBodyToObject ( ObjectT o);
				o˸Τ롣

    SoccerCommand turnNeckToObject ( ObjectT o, SoccerCommad com);
		    o˼롣ޥɤ˹碌ơ

    SoccerCommand moveToPos (VecPosition posTo, AndDeg angWhenToTurn,
									double dDistDashBack = 0.0, bool bMoveBack = false);
        pos˰ư롣

		SoccerCommand interceptClose ();
        ᤯ˤܡ򥤥󥿡ץȤ롣

    SoccerCommand interceptCloseGoalie ();
				᤯ˤܡ򥤥󥿡ץȤ롣륭ѡΤߡ

    SoccerCommand kickTo( Vecposition posTarget, double dEndSpeed);
				ܡposTarget˸äơdEndSpeed˺ǽŪˤʤ褦˽롣

    SoccerCommand turnWithBallTo ( AngDeg ang, Ang Deg angKickThr,
									double dFreezeThr);
				ܤ˥ܡ뤬褦ˡΤθ롣

    SoccerCommand moveToPosAlongLine ( VecPosition pos, AngDeg ang,
									double dDistThr, int iSignm AngDeg angThr, AngDeg
									angCorr);
        饤ˤäơͿ줿posޤǰư롣

		SoccerCommand intercept( bool isGoalie);
				2˥󥿡ץȤǤʤ顢ʤ

		SoccerCommand dribble( AngDeg ang, DribbleT dribbleT);
				angdribbleTμäƥɥ֥뤹롣

    SoccerCommand directPass (VecPostion pos, PassT passType);
		    pos˸äƥѥФѥ®passType

    SoccerCommand leadingPass( ObjectT o, double dDist);
		    o˸äơodDistΤȤ˥ѥФ

		SoccerCommand throughPass( ObjectT o, VecPosition posEnd, AngDeg
											*angMax);
				oˤơposEndˡŨδ֤̤륹롼ѥФ

    SoccerCommand outplayOpponent( ObjectT o, VecPosition pos,
																	 VecPosition *posTo = NULL);
				oȴ롣posȤΰư*posToܡν
				

    SoccerCommand clearBall( ClearBallT type, SideT s = SIDE_ILLEGAL, AngDeg *angMax
														 = NULL);
				typeˤäƥܡ򥯥ꥢ롣

    SoccerCommand mark( ObjectT o, double dDist, MarkT mark);
	      oΥdDistˤƼmarkǥޡ򤹤롣

	  SoccerCommand degendGoalLine( double dDist);
		    饤롣

	  SoccerCommand interceptScortingAttempt();
		    ˸äƤܡ򥤥󥿡ץȤ롣


		VecPosition getThroughPassShootingPoint( ObjectT objTeam,
                                            VecPosition posEnd,AngDeg *angMax);
    VecPosition getInterceptionPointBall( int*iCyclesBall, bool isGoalie);
    VecPosition getShootPositionOnLine ( VecPosition p1, VecPosition p2,
																										 AngDeg *angLargest = NULL);
    double getEndSpeedForPass ( ObjectT o, VecPosition posPass);
    VecPosition getMarkingPosition ( ObjectT o, double dDist, MarkT mark);