当前位置: 首页>>代码示例>>C++>>正文


C++ WorldModel::GetClosestToBallPlayer方法代码示例

本文整理汇总了C++中WorldModel::GetClosestToBallPlayer方法的典型用法代码示例。如果您正苦于以下问题:C++ WorldModel::GetClosestToBallPlayer方法的具体用法?C++ WorldModel::GetClosestToBallPlayer怎么用?C++ WorldModel::GetClosestToBallPlayer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WorldModel的用法示例。


在下文中一共展示了WorldModel::GetClosestToBallPlayer方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: EstimateSituationUpdate_FreeMan

void Decision::EstimateSituationUpdate_FreeMan()
{
	SITUATION_FREEMAN situation_decision = UNKNOWN_SITUATION;
	Vector m_vBallPosm_vBallPos = wm.m_vBallPos;
	bool bTeammate = false;
	double dClosestDistTeammate=0;double dClosestDistPlayer=0;
	int iClosestTeammate=0; int iClosestPlayer=0; int iClosestOpp=0;
	dClosestDistTeammate = wm.GetClosestToBallTeammate(iClosestTeammate);
	dClosestDistPlayer = wm.GetClosestToBallPlayer(iClosestPlayer,bTeammate);
	//if ( (iClosestTeammate==wm.GetUnum() || (iClosestTeammate!=wm.GetUnum()  && wm.IsTeammateAbnormal(iClosestTeammate) && fabs(dClosestDistTeammate-wm.GetMeToBallDistInXY())<1.0 ) ) && !wm.IsBallInOurFA())
	if (1)
	{	
		situation_decision = ATTACK;
		goto CheckSituation_Change;
	}
	if ( iClosestTeammate!=wm.GetUnum() &&  ((wm.IsBallInOurFA() && !wm.IsTeammateAbnormal(iClosestTeammate)) || !wm.IsBallInOurFA()) )
	{	
		situation_decision = ASSIST_ATTACK;
		goto CheckSituation_Change;
	}
	if ((wm.IsBallInOurFA() && wm.IsTeammateAbnormal(3)) || (wm.GetClosestToBallOpp(iClosestOpp)<0.3 && wm.IsTeammateAbnormal(iClosestTeammate)))
	{
		situation_decision = URGENCY_DEFEND;
		goto CheckSituation_Change;		
	}
	else 
		situation_decision = ASSIST_DEFEND;
CheckSituation_Change:
	if (situation_decision != Freeman_Situation) //When Situation Changed , Consider about Action Over
	{
		if (Motion_State == WALK_PERIOD)
			Motion_State = STOP_WALK_PERIOD;
		else if (Motion_State == MICRO_PERIOD)
			Motion_State = STOP_MICRO_PERIOD;
		else
			Motion_State = ACTION_READY;
	}	
	Freeman_Situation = situation_decision;	
	return;
}
开发者ID:shuivin,项目名称:robocup3d,代码行数:40,代码来源:FreeManDecision.cpp


注:本文中的WorldModel::GetClosestToBallPlayer方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。