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

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

?? defender.cpp

?? FIRA 5V5比賽中一個(gè)機(jī)器人源代碼 本科畢業(yè)設(shè)計(jì)做的
?? CPP
字號(hào):
// Defender.cpp: implementation of the CDefender class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Defender.h"
#include <math.h>
#include "Computation.h"


//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CDefender::CDefender(Environment *envPointer) : CBasicAction(envPointer)
{
}

CDefender::~CDefender()
{

}



void CDefender::lexDefenderNormal(Environment *env,int whichRobot1, int whichRobot2)
{
	guardPosition.x = GUARD_POS_X;

	Vector3D oppoGoal;
	
	if(env->currentBall.pos.x > guardPosition.x && env->currentBall.pos.y<68 && env->currentBall.pos.y>15)
	{
		blockInFrontOfGoal(whichRobot1,whichRobot2);
	}

	else if(env->currentBall.pos.y>68)
	{
		guardPosition.y = 73 + 1.1;
		sineTurn(guardPosition,whichRobot1);
		guardPosition.y = 73 - 1.1;
		sineTurn(guardPosition,whichRobot2);
	
	}

	else if(env->currentBall.pos.y<15)
	{
		guardPosition.y = 9 + 1.1;
		sineTurn(guardPosition,whichRobot1);
		guardPosition.y = 9 - 1.1;
		sineTurn(guardPosition,whichRobot2);
	
	}
	else if(env->currentBall.pos.x <= guardPosition.x && env->currentBall.pos.y > CENTERY)
	{
		if(isInBetweenPos(env, HOME_GOAL_CENTER_POSITION, env->currentBall.pos, env->home[2].pos, 3.3) ==1)
		{
			spin(&env->home[whichRobot2], 125, 1);
			sineTurn(env->currentBall.pos,/*0,0,0,0,*/whichRobot1);
		}
		else
		{
			blockWhenBallNearGoal(whichRobot2,ANTI_CLOCKWISE);
			sineTurn(env->currentBall.pos,/*0,0,0,0,*/whichRobot1);

		}
	}

	else if(env->currentBall.pos.x <= guardPosition.x && env->currentBall.pos.y < CENTERY)
	{
		if(isInBetweenPos(env, HOME_GOAL_CENTER_POSITION, env->currentBall.pos, env->home[whichRobot2].pos, 3.3) ==1)
		{
			spin(&env->home[whichRobot2], 125, 0);
			sineTurn(env->currentBall.pos,/*0,0,0,0,*/whichRobot1);
		}
		else
		{
			blockWhenBallNearGoal(whichRobot2,ANTI_CLOCKWISE);
			sineTurn(env->currentBall.pos,/*0,0,0,0,*/whichRobot1);
		}
	}

}

void CDefender::blockInFrontOfGoal(int whichRobot1, int whichRobot2)//lex: two robot block in front of goal from ball
{
	double gradient, centrePositionY;
	guardPosition.x = GUARD_POS_X;

	gradient = (env->currentBall.pos.y - HOME_GOAL_CENTER_POSITION.y) / (env->currentBall.pos.x - HOME_GOAL_CENTER_POSITION.x);
	centrePositionY = (gradient * (guardPosition.x - HOME_GOAL_CENTER_POSITION.x)) + HOME_GOAL_CENTER_POSITION.y;

	guardPosition.y = centrePositionY + 1.1;
	sineTurn(guardPosition,/*20,1,-90,1,*/whichRobot1);
	guardPosition.y = centrePositionY - 1.1;
	sineTurn(guardPosition,/*20,1,90,1,*/whichRobot2);
	return;
}

void CDefender::blockWhenBallNearGoal(int whichRobot, int spinDirection)
{
	double gradient, centrePositionY;
	guardPosition.x = GUARD_POS_X;
		double ORBIT_DISTANCE = 3;//DECIDE ROBOT SHOUD ORBIT WHAT DISTANCE FROM BALL WHEN ROBOT IS IN FRONT OF THE BALL

	guardPosition.x = (env->currentBall.pos.x + HOME_GOAL_CENTER_POSITION.x) / 3 * 2;
	gradient = (env->currentBall.pos.y - HOME_GOAL_CENTER_POSITION.y) / (env->currentBall.pos.x - HOME_GOAL_CENTER_POSITION.x);
	guardPosition.y = (gradient * (guardPosition.x - HOME_GOAL_CENTER_POSITION.x)) + HOME_GOAL_CENTER_POSITION.y;
	if(findDistance(env->home[whichRobot].pos, guardPosition) < 3)
	{
		spin(&env->home[whichRobot], 125, spinDirection);
	}

	else if(isInBetweenPos(env,guardPosition,env->home[whichRobot].pos,env->currentBall.pos,5)==1)
	{
		if(env->home[whichRobot].pos.x > env->currentBall.pos.x && env->home[whichRobot].pos.y > env->currentBall.pos.y)
			{
				orbit(env->currentBall.pos,&(env->home[whichRobot]),whichRobot,ORBIT_DISTANCE,ANTI_CLOCKWISE);
			}
		else //if(env->home[whichRobot].pos.x > env->currentBall.pos.x && env->home[whichRobot].pos.y < env->currentBall.pos.y)
			{
				orbit(env->currentBall.pos,&(env->home[whichRobot]),whichRobot,ORBIT_DISTANCE,CLOCKWISE);
			}
	}
	else
	{
		sineTurn(guardPosition,/* 20, 1, 90, 1,*/ whichRobot);
	}
		
	return;
}

void CDefender::freeKickDefender(Environment *env,int whichRobot1, int whichRobot2)
{
	double gradient, centrePositionY;
	guardPosition.x = 15;

	gradient = (env->currentBall.pos.y - HOME_GOAL_CENTER_POSITION.y) / (env->currentBall.pos.x - HOME_GOAL_CENTER_POSITION.x);
	centrePositionY = (gradient * (guardPosition.x - HOME_GOAL_CENTER_POSITION.x)) + HOME_GOAL_CENTER_POSITION.y;

	guardPosition.y = centrePositionY + 1.1;
	sineTurn(guardPosition,/*20,1,-90,1,*/whichRobot1);
	guardPosition.y = centrePositionY - 1.1;
	sineTurn(guardPosition,/*20,1,90,1,*/whichRobot2);
	return;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文一区一区三区高中清不卡| 9191久久久久久久久久久| 美女视频网站久久| 午夜精品影院在线观看| 一区二区三区四区精品在线视频| 国产精品久久久久国产精品日日| 日本一区二区三区dvd视频在线| 久久精品视频一区二区三区| 久久精品一区四区| 亚洲天堂成人在线观看| 亚洲大片一区二区三区| 亚洲国产综合人成综合网站| 亚洲成人动漫一区| 日本不卡不码高清免费观看| 精品一区二区三区久久| 成人中文字幕合集| 色欲综合视频天天天| 在线观看国产精品网站| 6080亚洲精品一区二区| 久久精品日韩一区二区三区| 亚洲欧美精品午睡沙发| 婷婷夜色潮精品综合在线| 久久精品国产精品亚洲红杏| 丁香婷婷综合网| 欧美日韩精品福利| 久久天堂av综合合色蜜桃网| 亚洲天堂a在线| 日韩精品久久理论片| 国产精品主播直播| 欧美综合欧美视频| 欧美本精品男人aⅴ天堂| 国产精品久久久久永久免费观看 | 久久se这里有精品| 亚洲视频一区二区在线观看| 99精品黄色片免费大全| 欧美一区欧美二区| 中文字幕成人网| 亚洲不卡av一区二区三区| 国产精品99精品久久免费| 欧美三区免费完整视频在线观看| 久久久久久免费网| 亚洲高清不卡在线| av亚洲精华国产精华| 久久中文娱乐网| 丝袜美腿高跟呻吟高潮一区| 高清成人在线观看| 欧美电视剧在线观看完整版| 亚洲码国产岛国毛片在线| 麻豆精品国产传媒mv男同| 91成人国产精品| 久久嫩草精品久久久精品| √…a在线天堂一区| 激情偷乱视频一区二区三区| 欧美色综合天天久久综合精品| 欧美激情艳妇裸体舞| 日日摸夜夜添夜夜添亚洲女人| 91香蕉视频mp4| 国产日韩欧美精品综合| 免费观看在线综合色| 欧美日韩精品福利| 亚洲成人免费视| 成人精品免费网站| 久久精品在这里| 韩国中文字幕2020精品| 日韩欧美中文一区二区| 日日摸夜夜添夜夜添国产精品| 欧美主播一区二区三区美女| 欧美国产一区二区| 成人中文字幕电影| 国产精品伦理在线| 国产麻豆精品久久一二三| 日韩一区二区免费在线电影| 婷婷成人激情在线网| 欧美图区在线视频| 一区二区三区中文在线| 色噜噜久久综合| 亚洲摸摸操操av| 色综合久久综合网欧美综合网| 国产精品第五页| 色综合久久综合网97色综合 | 久久欧美一区二区| 久久精品国产一区二区三| 2024国产精品| 风间由美一区二区av101| 国产日韩精品一区二区三区在线| 国产一区二区在线观看免费| 久久午夜色播影院免费高清| 国产乱码精品一区二区三 | 久久久噜噜噜久噜久久综合| 国产精品综合视频| 亚洲欧洲三级电影| 在线观看免费亚洲| 蜜桃一区二区三区在线观看| 日韩欧美在线观看一区二区三区| 亚洲理论在线观看| 色先锋久久av资源部| 午夜精品在线看| 久久精品亚洲麻豆av一区二区| 成人做爰69片免费看网站| 亚洲人xxxx| 8x福利精品第一导航| 国内精品免费在线观看| 18成人在线观看| 欧美精三区欧美精三区| 国产乱对白刺激视频不卡| 亚洲视频 欧洲视频| 欧美一级生活片| 国产a区久久久| 亚洲一区二区在线免费看| 精品久久久久久亚洲综合网 | 亚洲一区二区不卡免费| 欧美电影精品一区二区| 91老师国产黑色丝袜在线| 久久99在线观看| 夜夜嗨av一区二区三区网页| 精品久久国产字幕高潮| 91国偷自产一区二区开放时间| 久久精品国产99国产| 自拍偷拍国产精品| 精品国产不卡一区二区三区| 91免费在线视频观看| 国产在线国偷精品免费看| 亚洲福中文字幕伊人影院| 国产视频一区二区在线| 这里只有精品视频在线观看| 成人av一区二区三区| 麻豆精品国产传媒mv男同| 亚洲成av人影院在线观看网| 中文一区二区完整视频在线观看| 欧美一区二区久久| 色美美综合视频| 99国产精品久久| 国产99精品视频| 国产在线播精品第三| 日韩精品国产精品| 午夜精品国产更新| 亚洲综合久久av| 亚洲免费电影在线| 亚洲人亚洲人成电影网站色| 国产亚洲欧美色| 久久先锋影音av鲁色资源网| 制服丝袜成人动漫| 欧美猛男超大videosgay| 欧洲精品在线观看| 91猫先生在线| 色综合久久久久久久久久久| 成人av中文字幕| a级高清视频欧美日韩| 成人高清av在线| 北条麻妃一区二区三区| 成人黄动漫网站免费app| 成人激情动漫在线观看| www.一区二区| 色综合久久99| 色婷婷综合激情| 一本久道中文字幕精品亚洲嫩| 91色在线porny| 欧美综合久久久| 欧美精品久久99| 精品入口麻豆88视频| 久久在线观看免费| 国产亚洲成aⅴ人片在线观看 | 欧美三级一区二区| 欧美日韩在线观看一区二区 | 国产成人免费在线观看不卡| 国产精品自拍网站| 91论坛在线播放| 欧美日韩亚洲综合一区| 6080国产精品一区二区| 精品国产伦理网| 国产精品成人在线观看| 亚洲人成精品久久久久| 亚洲mv在线观看| 国产一区二区三区免费看 | 欧美色图天堂网| 欧美一区二区啪啪| 国产精品色婷婷久久58| 一区二区不卡在线播放| 毛片一区二区三区| 不卡视频一二三| 7777精品伊人久久久大香线蕉最新版| 欧美一区二区三区小说| 亚洲国产精品精华液ab| 一区二区视频在线看| 精品一区二区三区在线播放视频| 国产高清在线精品| 欧美日韩国产一级片| 国产亚洲精品7777| 亚洲午夜成aⅴ人片| 国产麻豆精品在线观看| 欧美吞精做爰啪啪高潮| 国产午夜精品一区二区三区视频 | 老司机精品视频一区二区三区| 成人aa视频在线观看| 欧美日本不卡视频| 国产精品毛片久久久久久| 久久不见久久见中文字幕免费| 94-欧美-setu| 久久久久久久久久久久久夜| 午夜精品在线看|