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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? goalieplayondecision.cpp

?? 2006年世界杯足球賽2D仿真組第16名的源代碼。在此代碼上隨便改改
?? CPP
字號:
/* *  Copyright 2002-2005, Mersad Team, Allameh Helli High School (NODET). * *  This program is free software, you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *  GNU Library General Public License for more details. * *  This file is created by: Meisam Vosoughpour *  and is modified by: Mostafa Rokooey * *  Released on Monday 1 August 2005, 10 Mordad 1384 by Mersad RoboCup Team. *  For more information please read README file.*/#include <AdvancedAgent.h>#include <GoalieIntercept.h>#include <GoaliePositioning.h>#include <Intercept.h>#include <GoaliePlayOnDecision.h>#include <Clear.h>#include <BasicKick.h>#include <Circle.h>#include <cmath>#define GOALIE_CATCH_NUM 0#define CLEAR_NUM 1#define GOALIE_INTERCEPT_NUM 2#define INTERCEPT_NUM 3#define GOALIE_POSITIONING_NUM 4#define PASS_NUM 5#define DRIBBLE_NUM 6using namespace std;GoaliePlayOnDecision::GoaliePlayOnDecision(		const WorldModel *worldModel):		BodyDecision(worldModel){	addAdvancedAction(new GoalieCatch(worldModel),		AdvancedActionWeights(0, 1, 1), 2);	addAdvancedAction(new Clear(worldModel),		AdvancedActionWeights(0, 1, 1), 2);	addAdvancedAction(new GoalieIntercept(worldModel),		AdvancedActionWeights(0, 1, 1), 1);	addAdvancedAction(new Intercept(worldModel),		AdvancedActionWeights(0, 1, 1), 1);	addAdvancedAction(new GoaliePositioning(worldModel),		AdvancedActionWeights(0, 1, 1), 1);	addAdvancedAction(new Pass(worldModel),		AdvancedActionWeights(0, 1, 1), 0);	addAdvancedAction(new Dribble(worldModel),		AdvancedActionWeights(0, 1, 1), 0);    dynamic_cast<Pass *>(advancedActions[PASS_NUM])->        setCurKickCalculate(&worldModel->getCurKickCalculate());}GoaliePlayOnDecision::~GoaliePlayOnDecision(){}bool GoaliePlayOnDecision::isBallOppKickable(float minExtra, float maxExtra){	register int i;	float kickableArea, virtualKickableArea;	kickableArea = worldModel->getBall().getSize() + 			worldModel->getBody().getKickableMargin() + 			worldModel->getBody().getSize();		virtualKickableArea = kickableArea + minExtra;		for (i = 0; i < FULL_PLAYERS_NUM; i++)		if (worldModel->getFullPlayer(TID_OPPONENT, i).isValid())			if(worldModel->getFullPlayer(TID_OPPONENT, i).					getDistance(worldModel->getBall()) 				<=	(virtualKickableArea + min((float)(worldModel->getFullPlayer(					TID_OPPONENT, i).getDistance(worldModel->getBody()) * .08),					maxExtra) ))				return true;						for (i = 0; i < HALF_PLAYERS_NUM; i++)		if (worldModel->getHalfPlayer(TID_OPPONENT, i).isValid())			if(worldModel->getHalfPlayer(TID_OPPONENT, i).					getDistance(worldModel->getBall()) 				<=	(virtualKickableArea + min((float)(worldModel->getHalfPlayer(					TID_OPPONENT, i).getDistance(worldModel->getBody()) * .08), 					maxExtra) ))				return true;	return false;}void GoaliePlayOnDecision::decide(int quickLevel,		Form &form, const Library &library){	resetQuickLevels();	float passValue;	bool isPlayerInSafeCircle;	int i;	if (worldModel->getBall().getPos().getX() < -36.4 &&		worldModel->getBody().getPos().getX() < -36.4 &&		abs(worldModel->getBall().getPos().getY()) < 19.6 &&		abs(worldModel->getBody().getPos().getY()) < 19.6)	{	}	else if (worldModel->isBallKickable())	{		passValue = advancedActions[PASS_NUM]->getValue(library);		if (passValue >= 25)		{			advancedActions[PASS_NUM]->execute(form, library);			command = advancedActions[PASS_NUM]->getCommand();		}		else		{			Circle safeDribbleCircle;			safeDribbleCircle.setByCenterRadius(worldModel->getBody().getPos(),						3);			isPlayerInSafeCircle = false;			for (i = 0; i <= 10; i++)			{				if (worldModel->getFullPlayer(TID_OPPONENT, i).isAlive())					if (safeDribbleCircle.checkPointInArea(						worldModel->getFullPlayer(						TID_OPPONENT, i).getPos()))						isPlayerInSafeCircle = true;			}						advancedActions[DRIBBLE_NUM]->getValue(library);						if (!isPlayerInSafeCircle && 				worldModel->getBody().getPos().getX() <= -25.)			{				advancedActions[DRIBBLE_NUM]->execute(form, library);				command = advancedActions[DRIBBLE_NUM]->getCommand();			}			else			{				if (worldModel->getBall().getPos().getY() > 0)					command = FastKickToDir(AT_GOALIE_CLEAR, 90, worldModel->getBall(),								worldModel->getBody()).getCommand();				else					command = FastKickToDir(AT_GOALIE_CLEAR, -90, worldModel->getBall(),								worldModel->getBody()).getCommand();			}		}			return;	}	quickLevels[GOALIE_CATCH_NUM] = 2;	quickLevels[CLEAR_NUM] = 2;	if (worldModel->getCurInterCalculate().existFastestTmmPlayer() && (		(worldModel->getCurInterCalculate().getFastestTmmPlayer().isBody() &&		!isBallOppKickable(.2,1.5)) || 		(worldModel->isOppBallShooted(worldModel->getBall()) && 		!worldModel->isBallInOppKickable())))	{ // Intercept		quickLevels[GOALIE_INTERCEPT_NUM] = 1;		quickLevels[INTERCEPT_NUM] = 1;			}	else	{ // Positioning		quickLevels[GOALIE_POSITIONING_NUM] = 1;	}	if (worldModel->getBall().getAbsVec().getMagnitude() < 20)		form.headForm.tnMode = TNM_LOOK_CAREFULLY_TO_BALL;	else		form.headForm.tnMode = TNM_LOOK_NORMALLY_TO_BALL;	BodyDecision::decide(quickLevel, form, library);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品视频免费看| 欧美日韩国产精品成人| 97精品久久久久中文字幕| 一本大道久久精品懂色aⅴ| 欧美日韩另类一区| 久久久久久夜精品精品免费| 国产精品白丝在线| 视频一区二区三区在线| 精品午夜久久福利影院| 不卡的电影网站| 欧美日韩一区二区不卡| 2014亚洲片线观看视频免费| 一区二区三区加勒比av| 麻豆专区一区二区三区四区五区| 国产不卡视频一区二区三区| 欧美在线视频全部完| 亚洲精品一区二区三区99| 亚洲日本va午夜在线影院| 另类小说视频一区二区| 91网站最新网址| 精品入口麻豆88视频| 亚洲免费资源在线播放| 加勒比av一区二区| 欧美性感一类影片在线播放| 久久久久久久av麻豆果冻| 亚洲综合丁香婷婷六月香| 国产在线国偷精品产拍免费yy| 色悠悠亚洲一区二区| 精品久久久久99| 亚洲一区二区三区三| 国产91丝袜在线观看| 69堂国产成人免费视频| 亚洲免费视频中文字幕| 国产精品一区二区在线观看不卡 | 久久久久久久久蜜桃| 亚洲综合色区另类av| 国产福利一区二区三区视频 | 青青青伊人色综合久久| 91丨porny丨蝌蚪视频| 精品理论电影在线观看| 午夜精品国产更新| 91碰在线视频| 国产三级欧美三级| 精品午夜久久福利影院| 欧美一区二区观看视频| 亚洲伊人色欲综合网| av在线不卡电影| 国产欧美日韩在线看| 韩国av一区二区三区| 欧美精品久久久久久久多人混战| 亚洲日本韩国一区| kk眼镜猥琐国模调教系列一区二区 | 欧美国产精品中文字幕| 久久se这里有精品| 91精品国产色综合久久| 亚洲国产日产av| 91啪在线观看| 亚洲欧美日韩精品久久久久| 成人免费不卡视频| 国产日韩欧美精品在线| 国产激情精品久久久第一区二区 | 国产尤物一区二区| 欧美一区三区四区| 爽爽淫人综合网网站| 欧美人牲a欧美精品| 天堂一区二区在线免费观看| 欧美性猛交xxxxxxxx| 亚洲福中文字幕伊人影院| 91福利在线观看| 玉足女爽爽91| 欧美专区亚洲专区| 亚洲综合丝袜美腿| 欧美午夜不卡在线观看免费| 一区二区三区不卡在线观看| 欧美在线观看视频一区二区 | 欧美日韩高清一区二区三区| 亚洲地区一二三色| 欧美日韩国产系列| 免费在线成人网| 欧美大胆人体bbbb| 国产激情一区二区三区四区 | 播五月开心婷婷综合| 国产精品久久久久9999吃药| av一区二区三区| 一区二区三区成人在线视频| 欧美日韩综合一区| 另类小说一区二区三区| 久久精品一区二区三区av| 大美女一区二区三区| **网站欧美大片在线观看| 色哟哟日韩精品| 亚洲综合色自拍一区| 91麻豆精品国产91久久久资源速度 | 99精品视频在线免费观看| 综合久久久久久久| 欧美午夜电影网| 精品一区二区三区视频在线观看| 国产色综合一区| 91亚洲资源网| 免费成人小视频| 中文无字幕一区二区三区| 色一区在线观看| 美女诱惑一区二区| 国产精品美女一区二区三区| 欧美午夜不卡在线观看免费| 久久电影国产免费久久电影| 国产欧美在线观看一区| 欧洲亚洲精品在线| 精品一区二区三区免费| 中文字幕在线观看一区| 91精品国产色综合久久不卡电影| 国产91富婆露脸刺激对白| 亚洲精品亚洲人成人网| 制服丝袜亚洲色图| 成人亚洲精品久久久久软件| 一区二区三区波多野结衣在线观看| 91麻豆精品91久久久久久清纯| 国产乱理伦片在线观看夜一区| 亚洲人精品午夜| 日韩欧美另类在线| 91色乱码一区二区三区| 九九在线精品视频| 亚洲精品高清在线观看| 日韩欧美高清dvd碟片| 色综合一区二区三区| 经典三级在线一区| 亚洲一二三四久久| wwwwxxxxx欧美| 欧美午夜电影一区| 成人精品免费看| 日本vs亚洲vs韩国一区三区二区 | 日本精品一区二区三区四区的功能| 奇米色一区二区| 中文字幕一区视频| 精品美女一区二区| 色激情天天射综合网| 国产精品中文有码| 日韩av中文字幕一区二区| 中文字幕亚洲欧美在线不卡| 欧美va亚洲va香蕉在线| 在线国产亚洲欧美| 成人动漫在线一区| 麻豆国产精品777777在线| 亚洲一二三四区不卡| 国产精品三级久久久久三级| 日韩欧美精品三级| 欧美日韩一区国产| 色婷婷av一区二区三区大白胸| 国产福利精品导航| 裸体一区二区三区| 亚洲福利电影网| 亚洲免费av高清| 国产精品久久久久久久久晋中| 欧美电视剧免费全集观看| 欧美色电影在线| 91免费视频观看| 成人av影院在线| 国产91精品精华液一区二区三区| 九九久久精品视频| 人人爽香蕉精品| 日韩va亚洲va欧美va久久| 亚洲国产日产av| 亚洲线精品一区二区三区 | 欧美亚洲国产一区二区三区| 91视频免费播放| 本田岬高潮一区二区三区| 国产大陆精品国产| 国产精品综合在线视频| 久久99国产精品久久99果冻传媒| 日韩精品欧美精品| 丝袜诱惑制服诱惑色一区在线观看 | 成人综合激情网| 国产乱妇无码大片在线观看| 国产在线视频不卡二| 精品一二三四在线| 国模无码大尺度一区二区三区| 日本sm残虐另类| 久久精品国产77777蜜臀| 久久福利资源站| 国产一区二区三区久久久| 国产老肥熟一区二区三区| 国产一区二区三区免费播放| 国产资源在线一区| 国产乱一区二区| 丁香婷婷综合色啪| 成a人片国产精品| 99久久综合精品| 91丝袜高跟美女视频| 色妹子一区二区| 欧美视频日韩视频| 欧美一区二区三区在| 欧美不卡视频一区| 久久久久88色偷偷免费 | 色综合天天做天天爱| 色悠悠亚洲一区二区| 欧美视频在线观看一区二区| 91精品国产综合久久精品图片| 日韩欧美另类在线| 国产视频不卡一区| 亚洲美女屁股眼交|