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 + -
显示快捷键?