⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 analyzer.cpp

📁 The application wizard has created this SoccerDoctor application for you. This application not onl
💻 CPP
📖 第 1 页 / 共 5 页
字号:
		_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 + -