field.cpp

来自「robocup3d源化码 Nexus3D.tar.gz」· C++ 代码 · 共 98 行

CPP
98
字号
 /*Copyright (C) 2005 Ferdowsi University*/#include "field.h"#include "global.h"Field::Field(){}int Field::NearestOpponent2(Vector3f pos){	float length = 200.0;	int index = 1;	for(int i=1 ; i<=11 ; i++)		if((TheirPlayer[i].pos - pos).Length() < length){			length = (TheirPlayer[i].pos - pos).Length();			index = i;		}	return index;}int Field::NearestTeammate2(Vector3f pos){	float length = 200.0;	int index = 1;	for(int i=1 ; i<=11 ; i++)		if((MyPlayer[i].pos - pos).Length() < length &&  i != MyNumber){			DoLog(LOG_HANDLE,"MyPlayer[%d].pos=(%.2f,%.2f), (MyPlayer[%d].pos - pos).Length()=%.2f",i, MyPlayer[i].pos[0],MyPlayer[i].pos[1],i,(MyPlayer[i].pos - pos).Length());			length = (MyPlayer[i].pos - pos).Length();			index = i;		}	return index;}int Field::NearestOpponent2MyPlayer(int unum){	float length = 200.0;	int index = 1;	for(int i=1 ; i<=11 ; i++)		if((MyPlayer[unum].pos - TheirPlayer[i].pos).Length() < length){			length = (MyPlayer[unum].pos - TheirPlayer[i].pos).Length();			index = i;		}	return index;}int Field::NearestTeammate2TheirPlayer(int unum){	float length = 200.0;	int index = 1;	for(int i=1 ; i<=11 ; i++)		if((TheirPlayer[unum].pos - MyPlayer[i].pos).Length() < length &&  i != MyNumber){			length = (TheirPlayer[unum].pos - MyPlayer[i].pos).Length();			index = i;		}	return index;}int Field::NearestOpponent2me(){	return NearestOpponent2MyPlayer(MyNumber);}int Field::NearestTeammate2me(){	float length = 200.0;	int index = 1;	for(int i=1 ; i<=11 ; i++)		if((self.pos - MyPlayer[i].pos).Length() < length && i != MyNumber){			length = (self.pos - MyPlayer[i].pos).Length();			index = i;		}	return index;}int Field::NearestOpponent2TheirGoal(){	NearestOpponent2(Vector3f(FieldLength/2,0,0));}int Field::NearestOpponent2MyGoal(){	NearestOpponent2(Vector3f(-FieldLength/2,0,0));}int Field::NearestTeammate2TheirGoal(){	NearestTeammate2(Vector3f(FieldLength/2,0,0));}int Field::NearestTeammate2MyGoal(){	NearestTeammate2(Vector3f(-FieldLength/2,0,0));}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?