📄 agent.cpp
字号:
#include "agent.h"
#include "setplay.h"
#include "client.h"
#include "worldmodel.h"
#include "skill.h"
#include "perceptron.h"
namespace Agent
{
Behaviors motion;
Goalie goalie;
UNum MyNumber=-1;
Positioning positioning;
Mediator mediator;
SetPlayInstance setplay;
int behave(){
/********* pre_process *****************/
mediator.ResetBuffer();
FieldInfo.SetArounds();
situation.JudgeSituation();
auditorysystem.ResetBuffer();
#ifdef _OffClient
int desire_time = _Off_Client_Start_Cycle; //capture the time
if(situation.CurrentTime < desire_time){
return 0;
}
#endif
/********* Debug Segement *****************/
//process
if (Self.Is_goalie){
switch(situation.playmode){
case PM_Play_On:
//....
default:
break;
}
}
else{
switch(situation.playmode){
case PM_Before_Kick_Off:
/* move to right positions and face ball */
setplay.beforekickoff.going();
case PM_Play_On:
switch(ClientParam::Number){
case 1 :
case 2 :
case 3 :
case 4 :
case 5 :
case 6 :
case 7 :
case 8 :
case 9 :
case 10:
case 11:
if (ball.kickable()){
//handle ball
}else{
if(!Skill::interception.SmartInterception()){
positioning.Position();
}
}
break;
default:
break;
}
//....
default:
break;
}
}
visualsystem.DoVisualDecision();
mediator.mediation();
auditorysystem.CommunicationV8();
return 1;
}
void Initialize()
{
InitializeObjs();
GT_speed_utils::Initialize();
sensory.Initialize();
/********** Initialize BP Networks **********************************/
Skill::interception.ControlBallNet.RestoreNet(ClientParam::CB_weightfile);
positioning.Mark_Net.RestoreNet(ClientParam::Mark_priority_weightfile);
positioning.Block_Net.RestoreNet(ClientParam::Block_priority_weightfile);
positioning.FM_Priority_Net.RestoreNet(ClientParam::DF_formation_priority_file);//ciwp
positioning.Press_Net.RestoreNet(ClientParam::DF_press_priority_file);//ciwp
Skill::kick.KickOA1_5.Initvpos(ClientParam::KickOA_weightfile_A);
Skill::kick.KickOA2_0.Initvpos(ClientParam::KickOA_weightfile_B);
Skill::kick.KickOA2_5.Initvpos(ClientParam::KickOA_weightfile_C);
Skill::kick.KickOAlast.Initvpos(ClientParam::KickOA_weightfile_D);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -