亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? interceptcalculate.cpp

?? 2006年世界杯足球賽2D仿真組第16名的源代碼。在此代碼上隨便改改
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
{	if (kickCycles > 0)	{		kickerSeeBallDelay = 0;		tmmPosDevRate = -0.75;		tmmSeeBallDelay = 2;		tmmGoalieSeeBallDelay = 0;		tmmSlowDashPower = 0;		tmmFastDashPower = 100;		tmmDirectDashPower = 0;		tmmGoalieDirectDashPower = 0;		oppPosDevRate = 0.5;		oppSeeBallDelay = 0;		oppGoalieSeeBallDelay = 0;		oppSlowDashPower = 45;		oppFastDashPower = 100;		oppDirectDashPower = 60;		oppGoalieDirectDashPower = 100;	}	else	{		kickerSeeBallDelay = 0; // only for reseting		tmmPosDevRate = -0.3;		tmmSeeBallDelay = 0;		tmmGoalieSeeBallDelay = 0;		tmmSlowDashPower = 30;		tmmFastDashPower = 100;		tmmDirectDashPower = 30;		tmmGoalieDirectDashPower = 30;		oppPosDevRate = 0.3;		oppSeeBallDelay = 0;		oppGoalieSeeBallDelay = 0;		oppSlowDashPower = 50;		oppFastDashPower = 100;		oppDirectDashPower = 90;		oppGoalieDirectDashPower = 100;	}}void InterceptCalculate::startSession(unsigned kickCyclesArg,		const Player *kickPlayerArg, const Player *blockedPlayerArg){	setLogging(false);	playersNum = 0;	kickPlayer = kickPlayerArg;	blockedPlayer = blockedPlayerArg;	kickCycles = kickCyclesArg;	shareCycles = DEFAULT_SHARE_CYCLES;	initTeamsProps();}void InterceptCalculate::addPlayer(const Player &player, bool kickPlayerFlag,		bool blockedPlayerFlag, bool checkForPenaltyBox){	float posDevDashDist;	interceptPlayers[playersNum].setLogging(isLogging());	if (kickPlayerFlag)		interceptPlayers[playersNum].init(player, virtualBall,				kickPlayerFlag, kickCycles, kickerSeeBallDelay,				0, player.getMaxPower(), 0, 0, false, checkForPenaltyBox);	else if (player.getTeamId() == TID_TEAMMATE)	{		posDevDashDist = tmmPosDevRate * player.getPosDeviation();		if (player.isGoalie())			interceptPlayers[playersNum].init(player, virtualBall,					kickPlayerFlag, kickCycles, tmmGoalieSeeBallDelay,					tmmSlowDashPower, tmmFastDashPower,					tmmGoalieDirectDashPower, posDevDashDist,					blockedPlayerFlag, checkForPenaltyBox);		else			interceptPlayers[playersNum].init(player, virtualBall,					kickPlayerFlag, kickCycles, tmmSeeBallDelay,					tmmSlowDashPower, tmmFastDashPower,					tmmDirectDashPower, posDevDashDist, blockedPlayerFlag,					checkForPenaltyBox);	}	else if (player.getTeamId() == TID_OPPONENT)	{		posDevDashDist = oppPosDevRate * player.getPosDeviation();		if (player.isGoalie())			interceptPlayers[playersNum].init(player, virtualBall,					kickPlayerFlag, kickCycles, oppGoalieSeeBallDelay,					oppSlowDashPower, oppFastDashPower,					oppGoalieDirectDashPower, posDevDashDist,					blockedPlayerFlag, checkForPenaltyBox);		else			interceptPlayers[playersNum].init(player, virtualBall,					kickPlayerFlag, kickCycles, oppSeeBallDelay,					oppSlowDashPower, oppFastDashPower,					oppDirectDashPower, posDevDashDist, blockedPlayerFlag,					checkForPenaltyBox);	}	else		assert(0);	playersNum++;}void InterceptCalculate::updateByWorldModel(const WorldModel *worldModel,		bool removeBody, bool removeTmm, bool removeOpp){	unsigned i;	// adding the ball	virtualBall = worldModel->getBall();	// adding players	if (!removeBody)		addPlayer(worldModel->getBody(),			(&worldModel->getBody() == kickPlayer),			(&worldModel->getBody() == blockedPlayer));	for (i = 0; i < FULL_PLAYERS_NUM; i++)	{		if (!removeTmm)			if (worldModel->getFullPlayer(TID_TEAMMATE, i).isValid() &&				!worldModel->getFullPlayer(TID_TEAMMATE, i).isBody())				addPlayer(worldModel->getFullPlayer(TID_TEAMMATE, i),					(&worldModel->getFullPlayer(TID_TEAMMATE, i) == kickPlayer),					(&worldModel->getFullPlayer(TID_TEAMMATE, i) == blockedPlayer));		if (!removeOpp)			if (worldModel->getFullPlayer(TID_OPPONENT, i).isValid())				addPlayer(worldModel->getFullPlayer(TID_OPPONENT, i),					(&worldModel->getFullPlayer(TID_OPPONENT, i) == kickPlayer),					(&worldModel->getFullPlayer(TID_OPPONENT, i) == blockedPlayer));	}	for (i = 0; i < HALF_PLAYERS_NUM; i++)	{		if (!removeTmm)			if (worldModel->getHalfPlayer(TID_TEAMMATE, i).isValid())				addPlayer(worldModel->getHalfPlayer(TID_TEAMMATE, i),					(&worldModel->getHalfPlayer(TID_TEAMMATE, i) == kickPlayer),					(&worldModel->getHalfPlayer(TID_TEAMMATE, i) ==	blockedPlayer));		if (!removeOpp)			if (worldModel->getHalfPlayer(TID_OPPONENT, i).isValid())				addPlayer(worldModel->getHalfPlayer(TID_OPPONENT, i),					(&worldModel->getHalfPlayer(TID_OPPONENT, i) == kickPlayer),					(&worldModel->getHalfPlayer(TID_OPPONENT, i) ==	blockedPlayer));	}}void InterceptCalculate::getReadyToRun(){	// Resetting after running Intercepts variables	playMode = PM_PLAY_ON;	checkedPlayersNum = 0;	fastestPlayerNum = NOVALUE;	fastestTmmPlayerNum = NOVALUE;	fastestOppPlayerNum = NOVALUE;	fastestCheckedPlayerNum = NOVALUE;	fastestTmmCheckedPlayerNum = NOVALUE;	fastestOppCheckedPlayerNum = NOVALUE;	for (unsigned i = 0;i < playersNum;i++)		interceptPlayers[i].getReadyToRun();}void InterceptCalculate::simulateVirtualBall(){	virtualBall.setPos() += virtualBall.getVel();	virtualBall.setVel() *= virtualBall.getDecay();}void InterceptCalculate::finalizeIntercepts(){	prepareSum();}bool InterceptCalculate::existFastestPlayer() const{	if (fastestPlayerNum == NOVALUE)		return false;	return true;}bool InterceptCalculate::existFastestTmmPlayer() const{	if (fastestTmmPlayerNum == NOVALUE)		return false;	return true;}bool InterceptCalculate::existFastestOppPlayer() const{	if (fastestOppPlayerNum == NOVALUE)		return false;	return true;}bool InterceptCalculate::isFastestPlayer(const Player &player) const{	if (getFastestPlayer().getModel() == player.getModel() &&		getFastestPlayer().getTeamId() == player.getTeamId() &&		getFastestPlayer().getUniNum() == player.getUniNum())		return true;	return false;}unsigned InterceptCalculate::getTmmCheckedPlayersNum() const{	unsigned tmmCounter = 0;	for (unsigned i = 0; i < checkedPlayersNum; i++)		if (getCheckedInterPlayer(i).getPlayer().getTeamId() == TID_TEAMMATE)			tmmCounter++;	return tmmCounter;}unsigned InterceptCalculate::getOppCheckedPlayersNum() const{	unsigned oppCounter = 0;	for (unsigned i = 0; i < checkedPlayersNum; i++)		if (getCheckedInterPlayer(i).getPlayer().getTeamId() == TID_OPPONENT)			oppCounter++;	return oppCounter;}unsigned InterceptCalculate::getCheckedListNum(const Player &player) const{	for (unsigned i = 0; i < checkedPlayersNum; i++)		if (getCheckedInterPlayer(i).getPlayer().getModel() == player.getModel() &&			getCheckedInterPlayer(i).getPlayer().getTeamId() == player.getTeamId() &&			getCheckedInterPlayer(i).getPlayer().getUniNum() == player.getUniNum())				return i;	return NOVALUE;}unsigned InterceptCalculate::getOppPlayersBeforeLine(float x) const{	unsigned counter = 0;	for (unsigned i = 0; i < playersNum; i++)		if (interceptPlayers[i].getPlayer().getTeamId() == TID_OPPONENT &&			interceptPlayers[i].getPlayer().getPos().getX() <= x)				counter++;	return counter;}unsigned InterceptCalculate::getOppPlayersBetweenLines(float x1,		float x2) const{	return abs((int)getOppPlayersBeforeLine(x1) -			(int)getOppPlayersBeforeLine(x2));}const Player &InterceptCalculate::getFastestPlayer() const{	return interceptPlayers[fastestPlayerNum].getPlayer();}const Player &InterceptCalculate::getFastestTmmPlayer() const{	return interceptPlayers[fastestTmmPlayerNum].getPlayer();}const Player &InterceptCalculate::getFastestOppPlayer() const{	return interceptPlayers[fastestOppPlayerNum].getPlayer();}const InterceptPlayer &InterceptCalculate::getFastestInterPlayer() const{	return interceptPlayers[fastestPlayerNum];}const InterceptPlayer &InterceptCalculate::getFastestTmmInterPlayer() const{	return interceptPlayers[fastestTmmPlayerNum];}const InterceptPlayer &InterceptCalculate::getFastestOppInterPlayer() const{	return interceptPlayers[fastestOppPlayerNum];}const InterceptPlayer &InterceptCalculate::getCheckedInterPlayer(unsigned num) const{	return interceptPlayers[checkedPlayers[num]];}void InterceptCalculate::logCheckedPlayers() const{	LOG << "InterceptCalculate checked players:" << endl;	for (unsigned i = 0; i < checkedPlayersNum; i++)		LOG << "\t" << i << ": "			<< getCheckedInterPlayer(i).getPlayer().getTeamId() << " "			<< getCheckedInterPlayer(i).getPlayer().getUniNum() << " "			<< getCheckedInterPlayer(i).getInterTime() << endl;}void InterceptCalculate::setBlockedBall(){	virtualBall.setVel() = blockedBallVel;	virtualBall.setDecay(1);}void InterceptCalculate::getNearestOppDistDirToFastest(float &dist, float &dir){	unsigned miner = NOVALUE;	float min = 0xFFFF;	if (existFastestOppPlayer())	{		dist = 0;		dir = 0;		return;	}	for (unsigned i = 0; i < playersNum; i++)		if (interceptPlayers[i].getPlayer().getTeamId() == TID_OPPONENT)		{			float cur = interceptPlayers[i].getPlayer().getDistance(					getFastestInterPlayer().getInterPoint()) -					interceptPlayers[i].getDashDist();			if (miner == NOVALUE || cur < min)			{				miner = i;				min = cur;			}		}	if (miner == NOVALUE)	{		dist = NOVALUE;		dir = NOVALUE;		return;	}	dir = Degree::arcTan2((interceptPlayers[miner].getPlayer().getPos().getY() -			getFastestInterPlayer().getInterPoint().y),			(interceptPlayers[miner].getPlayer().getPos().getX() -			getFastestInterPlayer().getInterPoint().x));	dist = interceptPlayers[miner].getPlayer().getDistance(				getFastestInterPlayer().getInterPoint()) -				interceptPlayers[miner].getDashDist();}// Getting functionsbool InterceptCalculate::isLogging() const{	return loggingFlag;}unsigned InterceptCalculate::getPlayersNum() const{	return playersNum;}unsigned InterceptCalculate::getFastestPlayerNum() const{	return fastestPlayerNum;}unsigned InterceptCalculate::getFastestTmmPlayerNum() const{	return fastestTmmPlayerNum;}unsigned InterceptCalculate::getFastestOppPlayerNum() const{	return fastestOppPlayerNum;}unsigned InterceptCalculate::getCheckedPlayersNum() const{	return checkedPlayersNum;}unsigned InterceptCalculate::getFastestCheckedPlayerNum() const{	return fastestCheckedPlayerNum;}unsigned InterceptCalculate::getFastestTmmCheckedPlayerNum() const{	return fastestTmmCheckedPlayerNum;}unsigned InterceptCalculate::getFastestOppCheckedPlayerNum() const{	return fastestOppCheckedPlayerNum;}PlayMode InterceptCalculate::getPlayMode() const{	return playMode;}const Ball &InterceptCalculate::getVirtualBall() const{	return virtualBall;}const Player *InterceptCalculate::getKickPlayer() const{	return kickPlayer;}// Setting functionsvoid InterceptCalculate::setLogging(bool loggingFlagArg){	loggingFlag = loggingFlagArg;}void InterceptCalculate::setKickCycles(unsigned kickCyclesArg){	kickCycles = kickCyclesArg;}void InterceptCalculate::setShareCycles(unsigned shareCyclesArg){	shareCycles = shareCyclesArg;}void InterceptCalculate::setKickerSeeBallDelay(unsigned kickerSeeBallDelayArg){	kickerSeeBallDelay = kickerSeeBallDelayArg;}void InterceptCalculate::setTmmSlowDashPower(float tmmSlowDashPowerArg){	tmmSlowDashPower = tmmSlowDashPowerArg;}void InterceptCalculate::setTmmFastDashPower(float tmmFastDashPowerArg){	tmmFastDashPower = tmmFastDashPowerArg;}void InterceptCalculate::setTmmDirectDashPower(float tmmDirectDashPowerArg){	tmmDirectDashPower = tmmDirectDashPowerArg;}void InterceptCalculate::setTmmGoalieDirectDashPower(float tmmGoalieDirectDashPowerArg){	tmmGoalieDirectDashPower = tmmGoalieDirectDashPowerArg;}void InterceptCalculate::setTmmSeeBallDelay(unsigned tmmSeeBallDelayArg){	tmmSeeBallDelay = tmmSeeBallDelayArg;}void InterceptCalculate::setTmmGoalieSeeBallDelay(unsigned tmmGoalieSeeBallDelayArg){	tmmGoalieSeeBallDelay = tmmGoalieSeeBallDelayArg;}void InterceptCalculate::setTmmPosDevRate(float tmmPosDevRateArg){	tmmPosDevRate = tmmPosDevRateArg;}void InterceptCalculate::setOppSlowDashPower(float oppSlowDashPowerArg){	oppSlowDashPower = oppSlowDashPowerArg;}void InterceptCalculate::setOppFastDashPower(float oppFastDashPowerArg){	oppFastDashPower = oppFastDashPowerArg;}void InterceptCalculate::setOppDirectDashPower(float oppDirectDashPowerArg){	oppDirectDashPower = oppDirectDashPowerArg;}void InterceptCalculate::setOppGoalieDirectDashPower(float oppGoalieDirectDashPowerArg){	oppGoalieDirectDashPower = oppGoalieDirectDashPowerArg;}void InterceptCalculate::setOppSeeBallDelay(unsigned oppSeeBallDelayArg){	oppSeeBallDelay = oppSeeBallDelayArg;}void InterceptCalculate::setOppGoalieSeeBallDelay(unsigned oppGoalieSeeBallDelayArg){	oppGoalieSeeBallDelay = oppGoalieSeeBallDelayArg;}void InterceptCalculate::setOppPosDevRate(float oppPosDevRateArg){	oppPosDevRate = oppPosDevRateArg;}void InterceptCalculate::setVirtualBall(const Ball &virtualBallArg){	virtualBall = virtualBallArg;}void InterceptCalculate::setBlockedBallVel(const Vector &blockedBallVelArg){	blockedBallVel = blockedBallVelArg;}InterceptPlayer &InterceptCalculate::setLastInterPlayer(){	return interceptPlayers[playersNum - 1];}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美精品区一区二区三区| 18成人在线视频| av不卡免费在线观看| 性做久久久久久免费观看欧美| 国产女人水真多18毛片18精品视频| 欧美特级限制片免费在线观看| 高清不卡在线观看| 日本不卡一区二区| 亚洲免费观看高清完整| 久久精品视频一区| 欧美精品123区| 91成人免费在线视频| 成人理论电影网| 国产一区在线观看视频| 五月婷婷久久丁香| 亚洲精品久久嫩草网站秘色| 久久久国产精华| 日韩精品综合一本久道在线视频| 91成人国产精品| 色综合天天在线| 91香蕉视频在线| 成人高清视频在线观看| 精品一区二区三区在线播放 | 蜜臀99久久精品久久久久久软件| 亚洲四区在线观看| 国产精品免费视频观看| 久久久精品黄色| 久久你懂得1024| 欧美精品一区二区精品网| 欧美一区二区三区免费| 欧美私人免费视频| 欧美影院一区二区三区| 色婷婷国产精品久久包臀 | 99re成人在线| 成人精品高清在线| 粉嫩在线一区二区三区视频| 国产精品一区二区黑丝| 国产一区二区三区在线看麻豆| 麻豆一区二区三| 男女激情视频一区| 久久精品久久99精品久久| 强制捆绑调教一区二区| 老司机午夜精品99久久| 韩国av一区二区三区四区 | www.99精品| 99精品国产一区二区三区不卡| kk眼镜猥琐国模调教系列一区二区| 成人爽a毛片一区二区免费| 成人高清视频免费观看| 色94色欧美sute亚洲13| 91在线视频免费91| 欧美在线观看视频一区二区| 在线观看亚洲精品| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲精品国久久99热| 亚洲一区二区三区爽爽爽爽爽| 亚洲 欧美综合在线网络| 免费黄网站欧美| 国产精品18久久久久| 成人美女视频在线观看18| 91久久一区二区| 91精品国产综合久久国产大片| 精品国产91久久久久久久妲己| 国产亚洲综合性久久久影院| 国产精品久久久久久久第一福利| 亚洲免费在线看| 日韩av一二三| 丁香婷婷综合激情五月色| 欧美专区亚洲专区| 精品久久久久久无| 国产精品免费丝袜| 亚洲成人免费看| 精品一区二区三区的国产在线播放 | 亚洲另类一区二区| 天堂一区二区在线| 国产精品香蕉一区二区三区| 色综合久久久久综合| 欧美一区二区福利视频| 国产精品久久久久久久久免费丝袜 | 国产精品一区二区黑丝| 色天使久久综合网天天| 精品日韩欧美在线| 亚洲女性喷水在线观看一区| 免费成人av资源网| 91丨九色丨国产丨porny| 日韩一级二级三级| 亚洲日本在线天堂| 久久精品国产免费| 欧美中文字幕不卡| 久久你懂得1024| 亚洲第一狼人社区| 盗摄精品av一区二区三区| 欧美日本一区二区三区| 中文字幕巨乱亚洲| 美女mm1313爽爽久久久蜜臀| av影院午夜一区| 精品久久99ma| 亚洲国产成人av好男人在线观看| 国产 日韩 欧美大片| 欧美xxx久久| 亚洲1区2区3区视频| 色综合中文字幕| 欧美极品aⅴ影院| 麻豆精品一二三| 欧美午夜片在线看| 最新国产の精品合集bt伙计| 精品亚洲免费视频| 日韩视频免费观看高清在线视频| 亚洲一区二区三区四区在线| 成人app下载| 国产精品美女一区二区在线观看| 久久99日本精品| 欧美一区二区在线视频| 亚洲综合色噜噜狠狠| 99视频一区二区| 国产精品免费aⅴ片在线观看| 激情综合一区二区三区| 欧美一区二区三区播放老司机| 亚洲已满18点击进入久久| av激情亚洲男人天堂| 亚洲国产精品成人综合色在线婷婷| 麻豆国产精品官网| 日韩午夜小视频| 美日韩一级片在线观看| 欧美一级一区二区| 日本中文一区二区三区| 欧美日韩亚洲不卡| 亚洲成人精品影院| 欧美群妇大交群的观看方式| 亚洲在线一区二区三区| 欧美性一级生活| 性做久久久久久免费观看欧美| 欧美在线制服丝袜| 亚洲午夜电影在线观看| 欧美三片在线视频观看| 亚洲成av人片一区二区| 欧美色欧美亚洲另类二区| 婷婷久久综合九色综合绿巨人| 欧美体内she精高潮| 丝袜美腿亚洲色图| 制服.丝袜.亚洲.中文.综合| 日本美女一区二区三区| 欧美白人最猛性xxxxx69交| 国产一区二区三区免费看| 国产欧美一区二区精品性色| 国产91精品露脸国语对白| 国产精品福利影院| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产婷婷色一区二区三区四区| 国产成人亚洲综合a∨婷婷图片| 国产亚洲欧美一级| gogo大胆日本视频一区| 一区二区三区中文字幕| 666欧美在线视频| 韩国欧美国产一区| 亚洲国产成人自拍| 日本电影欧美片| 日本sm残虐另类| 国产喂奶挤奶一区二区三区| av在线一区二区| 亚洲国产精品一区二区www| 日韩一区二区麻豆国产| 国产伦精品一区二区三区免费| 国产精品成人午夜| 欧美日韩精品是欧美日韩精品| 蜜桃av噜噜一区| 国产精品看片你懂得 | 日本一区二区三级电影在线观看 | 在线电影国产精品| 国产精品综合视频| 亚洲乱码国产乱码精品精小说| 精品视频999| 国产乱理伦片在线观看夜一区| 亚洲精品自拍动漫在线| 日韩亚洲欧美综合| 国产福利精品一区| 午夜欧美视频在线观看| 国产拍揄自揄精品视频麻豆| 欧美亚一区二区| 国产一区二区免费视频| 亚洲伦在线观看| 精品国产人成亚洲区| 色诱亚洲精品久久久久久| 久久精品国产亚洲一区二区三区| 亚洲视频香蕉人妖| 久久在线观看免费| 欧美亚洲免费在线一区| 国产一级精品在线| 亚洲国产精品自拍| 中文字幕久久午夜不卡| 日韩精品一区二区三区三区免费| 91免费看片在线观看| 国产一区欧美日韩| 首页亚洲欧美制服丝腿| 日韩美女久久久| 久久久久久毛片| 91精品国模一区二区三区| 91小视频免费观看| 国产精品一区二区果冻传媒| 奇米色777欧美一区二区|