📄 analyzer.cpp
字号:
_sCycleInfo.pos[i].head_angle=(double)(long)ntohl(sCycleInfo.pos[i].head_angle)/SHOWINFO_SCALE2;
_sCycleInfo.pos[i].kick_count=(int)(long)ntohs(sCycleInfo.pos[i].kick_count);
_sCycleInfo.pos[i].move_count=(int)(long)ntohs(sCycleInfo.pos[i].move_count);
_sCycleInfo.pos[i].recovery=(double)(long)ntohl(sCycleInfo.pos[i].recovery)/SHOWINFO_SCALE2;
_sCycleInfo.pos[i].say_count=(int)(long)ntohs(sCycleInfo.pos[i].say_count);
_sCycleInfo.pos[i].stamina=(int)(long)ntohl(sCycleInfo.pos[i].stamina);
_sCycleInfo.pos[i].tneck_count=(int)(long)ntohs(sCycleInfo.pos[i].tneck_count);
_sCycleInfo.pos[i].turn_count=(int)(long)ntohs(sCycleInfo.pos[i].turn_count);
_sCycleInfo.pos[i].type=(int)(long)ntohs(sCycleInfo.pos[i].type);
_sCycleInfo.pos[i].view_quality=(int)(long)ntohs(sCycleInfo.pos[i].view_quality);
_sCycleInfo.pos[i].view_width=(double)(long)ntohl(sCycleInfo.pos[i].view_width)/SHOWINFO_SCALE2;
_sCycleInfo.pos[i].x=(double)(long)ntohl(sCycleInfo.pos[i].x)/SHOWINFO_SCALE2;
_sCycleInfo.pos[i].y=(double)(long)ntohl(sCycleInfo.pos[i].y)/SHOWINFO_SCALE2;
}
return 0;
}
int CAnalyzer::recordPlayerPosition()
{
PointFrameT tempFrame;
tempFrame.time=_sCycleInfo.time;
tempFrame.ball.x=_sCycleInfo.ball.x;
tempFrame.ball.y=_sCycleInfo.ball.y;
for(int i=0;i<MAX_PLAYER*2;i++){
tempFrame.pFrame[i].x=_sCycleInfo.pos[i].x;
tempFrame.pFrame[i].y=_sCycleInfo.pos[i].y;
}
vPlayerPosition.push_back(tempFrame);
return 0;
}
//个人
int CAnalyzer::getPlayerShootCount(int side,int unum) const{
if(side==LEFT) unum-=1;
else unum+=10;
return _sStatData.nPlayerShootCount[unum];
}
int CAnalyzer::getPlayerSuccessShootCount(int side,int unum) const{
if(side==LEFT) unum-=1;
else unum+=10;
return _sStatData.nPlayerSuccessShootCount[unum];
}
double CAnalyzer::getPlayerShootSuccessRate(int side,int unum) const{
if(side==LEFT) unum-=1;
else unum+=10;
return _sStatData.dPlayerShootSuccessRate[unum];
}
int CAnalyzer::getPlayerPassCount(int side,int unum) const{
if(side==LEFT) unum-=1;
else unum+=10;
return _sStatData.nPlayerPassCount[unum];
}
int CAnalyzer::getPlayerSuccessPassCount(int side,int unum) const{
if(side==LEFT) unum-=1;
else unum+=10;
return _sStatData.nPlayerSuccessPassCount[unum];
}
double CAnalyzer::getPlayerPassSuccessRate(int side,int unum) const{
if(side==LEFT) unum-=1;
else unum+=10;
return _sStatData.dPlayerPassSuccessRate[unum];
}
int CAnalyzer::getPlayerWithBallCycleCount(int side,int unum) const{
if(side==LEFT) unum-=1;
else unum+=10;
return _sStatData.nPlayerWithBallCycleCount[unum];
}
double CAnalyzer::getPlayerWithBallCycleRate(int side,int unum) const{
if(side==LEFT) unum-=1;
else unum+=10;
return _sStatData.dPlayerWithBallCycleRate[unum];
}
int CAnalyzer::getPlayerInterceptCount(int side,int unum) const{
if(side==LEFT) unum-=1;
else unum+=10;
return _sStatData.nPlayerInterceptCount[unum];
}
int CAnalyzer::getPlayerSuccessInterceptCount(int side,int unum) const{
if(side==LEFT) unum-=1;
else unum+=10;
return _sStatData.nPlayerSuccessInterceptCount[unum];
}
double CAnalyzer::getPlayInterceptSuccessRate(int side,int unum) const{
if(side==LEFT) unum-=1;
else unum+=10;
return _sStatData.dPlayInterceptSuccessRate[unum];
}
int CAnalyzer::getPlayerDribbleCount(int side,int unum) const{
if(side==LEFT) unum-=1;
else unum+=10;
return _sStatData.nPlayerDribbleCount[unum];
}
int CAnalyzer::getPlayerSuccessDribbleCount(int side,int unum) const{
if(side==LEFT) unum-=1;
else unum+=10;
return _sStatData.nPlayerSuccessDribbleCount[unum];
}
double CAnalyzer::getPlayerDribbleSuccessRate(int side,int unum) const{
if(side==LEFT) unum-=1;
else unum+=10;
return _sStatData.dTeamDribbleSuccessRate[unum];
}
PointT CAnalyzer::getPlayerExpectedPosition(int side,int unum) const{
if(side==LEFT) unum-=1;
else unum+=10;
return _sStatData.pPlayerExpectedPosition[unum];
}
//团队
int CAnalyzer::getTeamShootCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamShootCount[side];
}
int CAnalyzer::getTeamSuccessShootCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamSuccessShootCount[side];
}
double CAnalyzer::getTeamShootSuccessRate(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.dTeamShootSuccessRate[side];
}
int CAnalyzer::getTeamPassCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamPassCount[side];
}
int CAnalyzer::getTeamSuccessPassCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamSuccessPassCount[side];
}
double CAnalyzer::getTeamPassSuccessRate(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.dTeamPassSuccessRate[side];
}
int CAnalyzer::getTeamInterceptCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamInterceptCount[side];
}
int CAnalyzer::getTeamSuccessInterceptCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamSuccessInterceptCount[side];
}
double CAnalyzer::getTeamInterceptSuccessRate(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.dTeamInterceptSuccessRate[side];
}
int CAnalyzer::getTeamDribbleCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamDribbleCount[side];
}
int CAnalyzer::getTeamSuccessDribbleCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamSuccessDribbleCount[side];
}
double CAnalyzer::getTeamDribbleSuccessRate(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.dTeamDribbleSuccessRate[side];
}
int CAnalyzer::getTeamWithBallCycleCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamWithBallCycleCount[side];
}
double CAnalyzer::getTeamWithBallCycleRate(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.dTeamWithBallCycleRate[side];
}
int CAnalyzer::getTeamLeftFieldControlBallCycleCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamLeftFieldControlBallCycleCount[side];
}
double CAnalyzer::getTeamLeftFieldControlBallCycleRate(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.dTeamLeftFieldControlBallCycleRate[side];
}
int CAnalyzer::getTeamMiddleFieldControlBallCycleCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamMiddleFieldControlBallCycleCount[side];
}
double CAnalyzer::getTeamMiddleFieldControlBallCycleRate(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.dTeamMiddleFieldControlBallCycleRate[side];
}
int CAnalyzer::getTeamRightFieldControlBallCycleCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamRightFieldControlBallCycleCount[side];
}
double CAnalyzer::getTeamRightFieldControlBallCycleRate(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.dTeamRightFieldControlBallCycleRate[side];
}
double CAnalyzer::getLeftControlRate() const{
return _sStatData.dBallInLeftCycleRate;
}
double CAnalyzer::getMiddleControlRate() const{
return _sStatData.dBallInMiddleCycleRate;
}
double CAnalyzer::getRightControlRate() const{
return _sStatData.dBallInRightCycleRate;
}
int CAnalyzer::getTeamOffsideCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamOffsideCount[side];
}
int CAnalyzer::getTeamBackPassCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamBackPassCount[side];
}
int CAnalyzer::getTeamKickFaultCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamKickFaultCount[side];
}
int CAnalyzer::getTeamKickInCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamKickInCount[side];
}
int CAnalyzer::getTeamCornerKickCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamCornerKickCount[side];
}
int CAnalyzer::getTeamGoalKickCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamGoalKickCount[side];
}
int CAnalyzer::getTeamFreeKickCount(int side) const{
if(side==LEFT) side=0;
else side=1;
return _sStatData.nTeamFreeKickCount[side];
}
int CAnalyzer::resetStatData(bool restrict)
{
//个人
for(int i=0;i<MAX_PLAYER * 2;i++){
_sStatData.nPlayerShootCount[i]=0;
_sStatData.nPlayerSuccessShootCount[i]=0;
_sStatData.dPlayerShootSuccessRate[i]=0;
_sStatData.nPlayerPassCount[i]=0;
_sStatData.nPlayerSuccessPassCount[i]=0;
_sStatData.dPlayerPassSuccessRate[i]=0;
_sStatData.nPlayerWithBallCycleCount[i]=0;
_sStatData.dPlayerWithBallCycleRate[i]=0;
_sStatData.nPlayerInterceptCount[i]=0;
_sStatData.nPlayerSuccessInterceptCount[i]=0;
_sStatData.dPlayInterceptSuccessRate[i]=0;
_sStatData.nPlayerDribbleCount[i]=0;
_sStatData.nPlayerSuccessDribbleCount[i]=0;
_sStatData.dPlayerDribbleSuccessRate[i]=0;
_sStatData.pPlayerExpectedPosition[i].x=0;
_sStatData.pPlayerExpectedPosition[i].y=0;
}
//团队
for(int i=0;i<2;i++){
_sStatData.nTeamShootCount[i]=0;
_sStatData.nTeamSuccessShootCount[i]=0;
_sStatData.dTeamShootSuccessRate[i]=0;
_sStatData.nTeamPassCount[i]=0;
_sStatData.nTeamSuccessPassCount[i]=0;
_sStatData.dTeamPassSuccessRate[i]=0;
_sStatData.nTeamInterceptCount[i]=0;
_sStatData.nTeamSuccessInterceptCount[i]=0;
_sStatData.dTeamInterceptSuccessRate[i]=0;
_sStatData.nTeamDribbleCount[i]=0;
_sStatData.nTeamSuccessDribbleCount[i]=0;
_sStatData.dTeamDribbleSuccessRate[i]=0;
_sStatData.nTeamWithBallCycleCount[i]=0;
_sStatData.dTeamWithBallCycleRate[i]=0;
_sStatData.nTeamLeftFieldControlBallCycleCount[i]=0;
_sStatData.dTeamLeftFieldControlBallCycleRate[i]=0;
_sStatData.nTeamMiddleFieldControlBallCycleCount[i]=0;
_sStatData.dTeamMiddleFieldControlBallCycleRate[i]=0;
_sStatData.nTeamRightFieldControlBallCycleCount[i]=0;
_sStatData.dTeamRightFieldControlBallCycleRate[i]=0;
if(restrict){
_sStatData.nTeamOffsideCount[i]=0;
_sStatData.nTeamBackPassCount[i]=0;
_sStatData.nTeamKickFaultCount[i]=0;
_sStatData.nTeamKickInCount[i]=0;
_sStatData.nTeamCornerKickCount[i]=0;
_sStatData.nTeamGoalKickCount[i]=0;
_sStatData.nTeamFreeKickCount[i]=0;
}
}
_sStatData.nBallInLeftCycleCount=0;
_sStatData.nballInMiddleCycleCount=0;
_sStatData.nBallInRightCycleCount=0;
_sStatData.dBallInLeftCycleRate=0;
_sStatData.dBallInMiddleCycleRate=0;
_sStatData.dBallInRightCycleRate=0;
return 0;
}
int CAnalyzer::resetInnerState()
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -