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

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

?? offense.cpp

?? 2006年世界杯足球賽2D仿真組第16名的源代碼。在此代碼上隨便改改
?? CPP
字號(hào):
/* *  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: Ahmad Boorghany * *  Released on Monday 1 August 2005, 10 Mordad 1384 by Mersad RoboCup Team. *  For more information please read README file.*/#include <cmath>#include <Pass.h>#include <Logger.h>#include <Basics.h>#include <Defines.h>#include <Offense.h>#include <BasicDash.h>#include <BasicTurn.h>#include <AdvancedAgent.h>using namespace std;Offense::Offense(const WorldModel *worldModel): AdvancedAction(worldModel){}Offense::~Offense(){}float Offense::getValue(const Library &library){	LOG << "Offense::getValue" << endl;/*	if (worldModel->getPlayMode() != PM_PLAY_ON)	{		nonPlayOnOffense();		return AD_NORMAL_VALUE;	}	offenseDecision = getOffenseDecision();	if (offenseDecision == OD_GETTING_CROSS)	{		resetWeights();//		logWeights();		applyInterceptCalcWeights();//		logWeights();		applyHomeWeights();//		logWeights();		applyShootWeights();//		logWeights();		offenseMax = getMaxWeight();		if (offenseMax == NOVALUE)			offensePoint = positioning.getHomePoint(					worldModel->getBody().getUniNum());		else			offensePoint = getWeightPoint(offenseMax);	}	else	{		offenseMax = NOVALUE;		offensePoint = positioning.getHomePoint(				worldModel->getBody().getUniNum());	}*/	return AD_MIN_VALUE;}void Offense::execute(Form &form, const Library &library){	LOG << "Offense::execute" << endl;	Point offensePoint =			library.positioning.getHomePoint(worldModel->getBody().getUniNum());	command = library.positioning.getPositioningCommand(offensePoint);	command->setCreator(AT_OFFENSE);/*	if (worldModel->getPlayMode() != PM_PLAY_ON)	{		command = DashNormalGotoPoint(		positioning.getHomePoint(worldModel->getBody().getUniNum()), 1, 		worldModel->getBody()).getCommand();		if (!command)		{			command = new EmptyCommand();		}	}	if (worldModel->getBody().getDistance(offensePoint) < 2)		command = TurnToObject(worldModel->getBall(),				worldModel->getBody(), 5).getCommand();	else		command = DashNormalGotoPoint(offensePoint, 1,				worldModel->getBody()).getCommand();	if (!command)		command = new EmptyCommand();*/}Point Offense::getHomePoint(int playerUniNum, const Library &library){	return library.positioning.getHomePoint(playerUniNum);}/*Point Offense::getWeightPoint(unsigned num){	return Point(52 - OFFENSE_X_SIZE + (num % OFFENSE_X_NUM),			floor((float)num / OFFENSE_X_NUM) - OFFENSE_Y_SIZE / 2);}void Offense::applyInterceptCalcWeights(){	LOG << "Offense::applyInterceptCalcWeights" << endl;	interCalc.startSession(0);	interCalc.updateByWorldModel(worldModel);	Vector vector;	vector.setByPoints(worldModel->getBall().getPos(), CROSS_CENTER_POINT);	vector.setAsPolar(2.7, vector.getDirection());	Ball simBall;	for (unsigned i = 0; i < CROSS_CALCULATES_NUM; i++)	{		simBall = worldModel->getBall();		simBall.setVel() = vector;		simBall.setVel().rotate(((int)i - CROSS_CALCULATES_NUM / 2.00) *				CROSS_DIR_STEP);//LOG << "New interCalc." << endl//	<< "simBall pos: " << simBall.getPos() << endl//	<< "simBall vel: " << simBall.getVel() << endl;		simBall.simulateByDynamics(worldModel->getBody());		interCalc.setVirtualBall(simBall);		interCalc.run();		if (interCalc.existFastestPlayer() &&			interCalc.getFastestPlayer().getTeamId() == TID_OPPONENT)			applyOneInterceptCalcWeight(interCalc.getFastestInterPlayer());	}}void Offense::applyOneInterceptCalcWeight(const InterceptPlayer &checkPlayer){	LOG << "Offense::applyOneInterceptCalcWeight" << endl;	float dist = checkPlayer.getPlayer().getDistance(			checkPlayer.getInterPoint());//LOG << "dist: " << dist << endl;//LOG << "interPoint: " << checkPlayer.getInterPoint() << endl;//LOG << "fastestPos: " << checkPlayer.getPlayer().getPos() << endl;	for (unsigned i = 0;i < OFFENSE_POINTS_NUM; i++)		if (getWeightPoint(i).getDistance(checkPlayer.getInterPoint()) <				dist - FASTEST_DELTA_DIST)		{//LOG << "i entered: " << i << endl;//LOG << "point: " << getWeightPoint(i) << endl;			if (!valids[i])				continue;//LOG << "i added: " << i << endl;			if (checkPlayer.getPlayer().isGoalie())				weights[i] += INTERCEPT_CALC_WEIGHT;			else				weights[i] += INTERCEPT_CALC_WEIGHT;		}}void Offense::applyHomeWeights(){	LOG << "Offense::applyHomeWeights" << endl;	Point homePoint(positioning.getHomePoint(			worldModel->getBody().getUniNum()));	for (unsigned i = 0;i < OFFENSE_POINTS_NUM; i++)	{		if (!valids[i])			continue;		weights[i] += Basics::reRate(getWeightPoint(i).getDistance(homePoint),				0, 15, 0, HOME_DIST_WEIGHT, RRM_REVERSE);	}}void Offense::applyShootWeights(){	LOG << "Offense::applyShootWeights" << endl;	float shootDir, shootDist, shootValue;	for (unsigned i = 0;i < OFFENSE_POINTS_NUM; i++)	{		if (!valids[i])			continue;		shootDir = Pass::getShootDirValue(getWeightPoint(i), worldModel);		shootDist = hypot(getWeightPoint(i).x - 52.5,				fmin(getWeightPoint(i).y - 4,					 getWeightPoint(i).y + 4));		shootValue = shootDir - shootDist / 3;		weights[i] += Basics::reRate(shootValue,				35, 90, 0, SHOOT_WEIGHT, RRM_DIRECT);	}}unsigned Offense::getMaxWeight(){	unsigned maxer = NOVALUE;	for (unsigned i = 1; i < OFFENSE_POINTS_NUM; i++)	{		if (!valids[i])			continue;		if (maxer == NOVALUE ||			weights[i] > weights[maxer])			maxer = i;	}	if (maxer != NOVALUE)		LOG << "Offense max weight: " << weights[maxer] << endl;	return maxer;}void Offense::resetWeights(void){	float offsideX = worldModel->getOppOffsideLine();	for (unsigned i = 0; i < OFFENSE_POINTS_NUM; i++)	{		weights[i] = 0;		if (getWeightPoint(i).x > offsideX - OFFSIDE_SURE_DIST)			valids[i] = false;		else			valids[i] = true;	}}OffenseDecision Offense::getOffenseDecision(){	if (worldModel->getBall().getPos().getX() > CROSS_PERMITTED_X &&		(worldModel->getBallStatus() == BS_KICKABLE_TMM ||		 worldModel->getBallStatus() == BS_KICKABLE_TMM_OPP ||		 worldModel->getBallStatus() == BS_FREE_BALL_TMM ||		 worldModel->getBallStatus() == BS_FREE_BALL_TMM_OPP) &&		 worldModel->getBody().getPostNum() >= 9)		return OD_GETTING_CROSS;	return OD_NONE;}void Offense::logWeights(){	float lastY = getWeightPoint(0).y;	LOG << "Offense points:" << endl;	for (unsigned i = 0; i < OFFENSE_POINTS_NUM; i++)	{		if (lastY != getWeightPoint(i).y)		{			LOG << endl;			lastY = getWeightPoint(i).y;		}		LOG << "P" << getWeightPoint(i) << "V" << valids[i] << "W" << weights[i] << "\t";	}	LOG << endl;}void Offense::nonPlayOnOffense(){	offensePoint = positioning.getHomePoint(			worldModel->getBody().getUniNum());	return;}*/

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品福利一区二区三区| 亚洲一区二区三区四区在线免费观看 | 裸体健美xxxx欧美裸体表演| 另类综合日韩欧美亚洲| 国产精品自拍三区| 欧美在线高清视频| 久久影音资源网| 亚洲精品视频一区| 奇米色一区二区| 91网站在线播放| 亚洲精品一线二线三线无人区| 亚洲欧美在线视频观看| 日韩**一区毛片| kk眼镜猥琐国模调教系列一区二区 | www.一区二区| 精品捆绑美女sm三区| 亚洲激情五月婷婷| 国产精品一二三四五| 麻豆freexxxx性91精品| 久久综合国产精品| 自拍偷拍亚洲欧美日韩| 成人午夜激情影院| 中文字幕一区二区三区在线播放| 国产乱码精品一品二品| 精品毛片乱码1区2区3区| 国产亚洲精品中文字幕| 曰韩精品一区二区| 国产成人在线看| 欧美精选在线播放| 国产欧美视频一区二区三区| 亚洲综合视频在线观看| 国产精品一区二区在线播放 | 亚洲黄色录像片| 成人黄色一级视频| 亚洲精品一区在线观看| 五月婷婷激情综合| 色爱区综合激月婷婷| 亚洲一级二级三级| 不卡av免费在线观看| 国产精品动漫网站| 99久久国产综合精品色伊| 亚洲私人黄色宅男| 色视频欧美一区二区三区| 亚洲午夜久久久久中文字幕久| 色婷婷综合久久久中文一区二区| 亚洲国产精品久久久久秋霞影院| 91精选在线观看| 久久99国产精品成人| 久久久久久久性| 在线亚洲一区二区| 青娱乐精品在线视频| 国产欧美中文在线| 欧美中文字幕一区二区三区亚洲 | 国产91精品一区二区| 国产日韩欧美a| 欧美怡红院视频| 久久成人久久鬼色| 日韩福利视频导航| 亚洲综合激情网| 99久久精品一区| 2021国产精品久久精品| 欧美偷拍一区二区| av不卡免费电影| 午夜av一区二区三区| 日韩一区二区三区视频在线| 五月天婷婷综合| 久久青草国产手机看片福利盒子| 欧美中文字幕一区二区三区亚洲 | 欧美熟乱第一页| 色婷婷综合久色| 一本色道久久综合亚洲精品按摩| 国产毛片精品一区| 国产美女娇喘av呻吟久久| 精品一区在线看| 国产欧美日韩激情| 欧美人狂配大交3d怪物一区| 亚洲码国产岛国毛片在线| 91精品国产综合久久久久久漫画| 美女网站在线免费欧美精品| 7777精品伊人久久久大香线蕉最新版| 午夜激情综合网| 欧美一区二区三区四区高清| 久久99精品一区二区三区| 日韩精品福利网| 国产精品美女久久久久aⅴ国产馆| 欧美日韩国产首页在线观看| 日本欧美一区二区在线观看| 久久亚洲精品国产精品紫薇| 欧美性受极品xxxx喷水| 亚洲福利视频导航| 欧美视频一区二区在线观看| 蜜臀av性久久久久蜜臀aⅴ| 国产一区二区久久| 国产精品久久久久影院亚瑟| 欧美精品日韩一本| 国产一区二区三区| 欧美激情在线免费观看| 91精品一区二区三区久久久久久| 国产成人免费在线视频| 亚洲综合一二三区| 精品少妇一区二区三区日产乱码 | 亚洲欧美一区二区在线观看| 亚洲欧美福利一区二区| 麻豆精品视频在线观看| 成人av午夜电影| 成人av网站大全| 亚洲少妇屁股交4| 亚洲精品欧美综合四区| 视频一区中文字幕国产| 美女视频网站久久| 国产成人精品三级| 91亚洲国产成人精品一区二区三| 色综合久久久久综合体| 884aa四虎影成人精品一区| 欧美精品一区二区三区一线天视频 | 国产高清久久久| 色综合夜色一区| 日韩欧美国产不卡| 亚洲视频一区在线| 免费在线观看成人| 91性感美女视频| 亚洲精品一区二区三区香蕉| 最新热久久免费视频| 日本不卡视频在线观看| 色噜噜久久综合| 3d动漫精品啪啪| 91精品国产日韩91久久久久久| www.亚洲免费av| 色综合久久久久久久久久久| 成人激情电影免费在线观看| a亚洲天堂av| 欧美在线免费播放| 欧美精品视频www在线观看| 亚洲精品在线观看网站| 亚洲综合色自拍一区| 成人性生交大合| 精品国产a毛片| 日本不卡视频在线| 欧美日韩在线播放| 亚洲欧美电影一区二区| 丁香六月综合激情| 欧美本精品男人aⅴ天堂| 亚洲h动漫在线| 欧美性生活久久| 亚洲视频 欧洲视频| 成人精品鲁一区一区二区| 欧美mv日韩mv亚洲| 蜜桃91丨九色丨蝌蚪91桃色| 欧美伦理电影网| 日韩精品五月天| 91精品国产综合久久香蕉的特点 | 欧美日韩一区二区欧美激情| 欧美一区二区三区视频在线 | 亚洲同性gay激情无套| 免费观看一级特黄欧美大片| 欧美日韩精品高清| 亚洲成a人在线观看| 欧美高清视频不卡网| 手机精品视频在线观看| 日韩视频一区在线观看| 久久99精品国产.久久久久久| 亚洲精品一线二线三线无人区| 精品制服美女久久| 国产欧美日本一区二区三区| 成人午夜视频免费看| 一区二区三区产品免费精品久久75| 91免费观看视频在线| 日本不卡一区二区| 2020国产精品自拍| 久久精品999| 精品国产伦理网| 久久99精品一区二区三区| 91美女精品福利| 亚洲老妇xxxxxx| 日韩一区二区视频| 麻豆中文一区二区| 91精品国产免费| 午夜精品免费在线| 精品成人免费观看| 在线观看视频一区二区欧美日韩| 婷婷国产在线综合| 国产人成一区二区三区影院| 91麻豆123| 国产99久久久久久免费看农村| 一区二区三区在线免费视频| 777色狠狠一区二区三区| 丰满放荡岳乱妇91ww| 午夜欧美视频在线观看| 国产精品国模大尺度视频| 欧美精品在线视频| 91国产免费观看| 国产成人午夜99999| 日欧美一区二区| 亚洲精品国产精华液| 亚洲国产精品ⅴa在线观看| 日韩欧美高清一区| 5858s免费视频成人| 欧美午夜一区二区三区| 色综合久久久久网| 99re热这里只有精品视频|