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

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

?? vcdll.cpp

?? 機器人足球實現的核心代碼
?? CPP
字號:
//////////////////////////////////////////////////////////////////////////
// DUT 5vs5 RoboCup Team DLL FrameWork 2
// Specified Edition for M$ Visual C++
//
// Please don't modify any definition given by the DUT RoboCup Competition Committee.
// This is not compatible with the server of earlier version.
//
// Visit IUSI website(http://tianwei.dlut.edu.cn) to gain more details.
// Technology support E-Mail: brton.rei@gmail.com,guangbincui@gmail.com
//////////////////////////////////////////////////////////////////////////

// 注意:函數體的內容可以根據自己的需要改變
// 例如你在DLL中要使用OOP技術,你完全可以重寫初始化和存儲部分
// 但是請務必保持所有給定接口(函數)的聲明部分

// 另:如果在VC++中出現如下編譯問題 
// unexpected end of file while looking for precompiled header directive
// 請在Project->Settings->C/C++->Category->Precompiled Headers頁
// 選擇Not using precompiled headers

#include <windows.h>
#include "CppConst.h"
#include "vcdll.h"
#include "Geometry.h"
#include "Worldmodel.h"

// 以下兩項名稱中請勿使用圓括號"("和")"

// 球隊的名稱,請勿超過10個漢字(20個ASCII字符),否則多余部分會被忽略
#define  CTEAMNAME 	         "球隊名字";  
// 作者的姓名,請勿超過7個漢字(14個ASCII字符),否則多余部分會被忽略
#define  CTEAMAUTHORS        "作者名字";  

MatchState		matchState;
RobotState		teamAState[5];
OpsState		teamBState[5];
BallState		ballState;
RobotState		*pMyTeam;
OpsState		*pOpsTeam;
int 			myTeamNo;
bool			bTransform;
int				iTime = 0;
WorldModel		WM;
BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{
    return TRUE;
}


//////////////////////////////////////////////////////////////////////////
// 初始化球隊信息
//////////////////////////////////////////////////////////////////////////
__declspec( dllexport ) void _stdcall initdll(int initTeamNo)
{
	myTeamNo = initTeamNo;
    pMyTeam = teamAState;
	pOpsTeam = teamBState;
	if(1 == initTeamNo) 
    {
		bTransform = false;
	} 
    else 
    {
		bTransform = true;
	}
	iTime = 0;
}

//////////////////////////////////////////////////////////////////////////
// 比賽信息
//////////////////////////////////////////////////////////////////////////
__declspec( dllexport ) void _stdcall tellmatchstate(MatchState ams,
                                                     RobotState atmAs[5], 
													 OpsState atmBs[5], 
                                                     BallState abs)
{
	memcpy(&matchState, &ams, sizeof(MatchState));
	memcpy(teamAState, atmAs, sizeof(RobotState)*5);
	memcpy(teamBState, atmBs, sizeof(OpsState)*5);
	memcpy(&ballState, &abs, sizeof(BallState));
	
	WM.ball.setPosition(VecPosition(ballState.pos.x,ballState.pos.y));
	WM.ball.setVelocity(VecPosition(ballState.vel.x,ballState.vel.y));

	for(int i = 0 ; i < 5 ; i ++)
	{
		WM.ownRobots[i].setPosition(VecPosition(pMyTeam[i].pos.x,pMyTeam[i].pos.y));
		WM.ownRobots[i].setVelocity(VecPosition(pMyTeam[i].vel.x,pMyTeam[i].vel.y));
		WM.ownRobots[i].SetDirection(pMyTeam[i].dir);
		WM.ownRobots[i].SetStamina(Stamina(pMyTeam[i].sta,pMyTeam[i].eff,pMyTeam[i].rec));
	}
	/*
	if(bTransform)
	{
		for(int i = 0 ; i < 5 ; i ++)
		{
			teamAState[i].dir  += 180.0;
			while( teamAState[i].dir > 180.0  ) teamAState[i].dir -= 360.0;
			while( teamAState[i].dir < -180.0 ) teamAState[i].dir += 360.0;
			teamAState[i].pos.x = CFLDLEN   - teamAState[i].pos.x;
			teamAState[i].pos.y = CFLDWIDTH - teamAState[i].pos.y;
			teamAState[i].vel.x = - teamAState[i].vel.x;
			teamAState[i].vel.y = - teamAState[i].vel.y;
			teamBState[i].dir  += 180.0;
			while( teamBState[i].dir > 180.0  ) teamBState[i].dir -= 360.0;
			while( teamBState[i].dir < -180.0 ) teamBState[i].dir += 360.0;
			teamBState[i].pos.x = CFLDLEN   - teamBState[i].pos.x;
			teamBState[i].pos.y = CFLDWIDTH - teamBState[i].pos.y;
			teamBState[i].vel.x = - teamBState[i].vel.x;
			teamBState[i].vel.y = - teamBState[i].vel.y;
		}		
	}*/
}

//////////////////////////////////////////////////////////////////////////
// 取得球隊的名稱
//////////////////////////////////////////////////////////////////////////
__declspec( dllexport ) char* _stdcall teamname()
{
	return CTEAMNAME;
}

//////////////////////////////////////////////////////////////////////////
// 取得球隊的作者名
//////////////////////////////////////////////////////////////////////////
__declspec( dllexport ) char* _stdcall teamauthor()
{
	return CTEAMAUTHORS;
}

//////////////////////////////////////////////////////////////////////////
// 設定球員的動作
//////////////////////////////////////////////////////////////////////////
__declspec( dllexport ) void _stdcall setaction(TCommand * pMyCMD)
{
	
	iTime++;	
	if((iTime%8) != 0 || true)
	{
			if(iTime%5 == 0)
			{
				for(int i=1; i< 5; i++)
				{
					pMyCMD[i].CommandType = Com_Turn;
					pMyCMD[i].ComParam0   = cos(iTime) * 180;
				}
			}
			else
			{
				for(int i=1; i< 5; i++)
				{
					pMyCMD[i].CommandType = Com_Dash;	
					pMyCMD[i].ComParam0   = cos(iTime) * 20;
				}
			}
	}
	else
	{
			for(int i=1; i< 5; i++)
			{
				pMyCMD[i].CommandType = Com_Kick;
				pMyCMD[i].ComParam0   = 0;
				pMyCMD[i].ComParam1   = 100;
			}
	}
	double tempdir =fabs(atan((ballState.pos.y - pMyTeam[4].pos.y)/(ballState.pos.x - pMyTeam[4].pos.x))-pMyTeam[4].dir*3.1415927/180.0);


	if(getDistBetween(ballState.pos,pMyTeam[0].pos) < CCATCHABLEMARGIN)
	{
		pMyCMD[0].CommandType = Com_Catch;
	}
	else
	{
		pMyCMD[0].CommandType = Com_Stay;
	}
	
	int    tempTime = 100;
	VecPosition tempPos = WM.ball.getPosition();
	ObjectT tempObject = WM.getFastestInSetTo(OBJECT_SET_TEAMMATES_NO_GOALIE,&tempPos,WM.ball.getVelocity(),CBALLDECAY,&tempTime);
	if(tempObject != O_Unknow)
	{
		AngDeg tempDir = WM.ownRobots[tempObject-1].getDirection();
		pMyCMD[tempObject-1] = WM.predictCommandToMoveToPos(tempObject,tempPos,100,&WM.ownRobots[tempObject-1].getPosition(),
			&WM.ownRobots[tempObject-1].getVelocity(),&tempDir);
	}
	for (int i = 1 ; i < 5 ; i++ )
	{
		if(getDistBetween(ballState.pos,pMyTeam[i].pos) < 1.0)
		{
			pMyCMD[i].CommandType = Com_Kick;
			pMyCMD[i].ComParam0   = cos(iTime) * 90;
			pMyCMD[i].ComParam1   = 100;
		}
		
	}
	/*
    (*pMyCMD)[0].ifResetMovement=1;
    (*pMyCMD)[0].targetV=CMAXV;
    (*pMyCMD)[0].targetX=pOpsTeam[3].x;
    (*pMyCMD)[0].targetY=pOpsTeam[3].y;
	*/
}

//////////////////////////////////////////////////////////////////////////
// 退出動態鏈接庫,回收資源
//////////////////////////////////////////////////////////////////////////
__declspec( dllexport ) void _stdcall exitdll()
{
    // 如果有動態分配的內存,請在此釋放
}


double getDistBetween(const Vector & pos1, const Vector & pos2)
{
    double tmp1 = (pos1.x - pos2.x);
    double tmp2 = (pos1.y - pos2.y);
    return sqrt(tmp1*tmp1 + tmp2*tmp2);
}



















?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91高清视频免费看| 亚洲国产色一区| 666欧美在线视频| 欧美揉bbbbb揉bbbbb| 91亚洲精品乱码久久久久久蜜桃| 久久成人免费电影| 国产剧情av麻豆香蕉精品| 国产自产高清不卡| 国产成人av电影免费在线观看| 成人亚洲一区二区一| 97久久精品人人澡人人爽| 色偷偷88欧美精品久久久| 欧美色精品在线视频| 欧美精品久久天天躁| 精品日韩在线观看| 国产精品久久国产精麻豆99网站| 亚洲欧洲制服丝袜| 亚洲成a人片在线不卡一二三区| 日韩国产成人精品| 国产在线日韩欧美| 91在线免费视频观看| 欧美日韩久久久久久| 久久综合狠狠综合久久激情| 中文字幕免费观看一区| 亚洲图片欧美一区| 狠狠久久亚洲欧美| 91免费看`日韩一区二区| 欧美日韩国产精选| 国产精品色一区二区三区| 伊人色综合久久天天人手人婷| 日本少妇一区二区| 成人a级免费电影| 欧美人xxxx| 一区精品在线播放| 日韩电影在线观看网站| 懂色av一区二区三区免费观看| 欧美三区免费完整视频在线观看| 精品电影一区二区三区| 亚洲欧美国产三级| 韩国理伦片一区二区三区在线播放| 91麻豆精品一区二区三区| 精品三级av在线| 亚洲高清视频在线| 丁香一区二区三区| 精品欧美一区二区三区精品久久 | 久久婷婷一区二区三区| 亚洲精品国产成人久久av盗摄| 九一九一国产精品| 欧美日韩亚洲不卡| 中文字幕一区二区三区av| 国产美女精品一区二区三区| 欧美视频三区在线播放| 国产精品欧美综合在线| 精彩视频一区二区三区| 56国语精品自产拍在线观看| 亚洲视频在线观看三级| 国产不卡视频一区| 欧美精品一区二区高清在线观看| 亚洲一级片在线观看| av中文字幕不卡| 日本一区二区免费在线观看视频| 日本欧美一区二区在线观看| 在线亚洲免费视频| 国产精品久久久久久福利一牛影视| 精品制服美女久久| 日韩欧美电影一区| 免费视频最近日韩| 欧美巨大另类极品videosbest| 亚洲欧美另类小说| 色天使久久综合网天天| 亚洲老司机在线| 色丁香久综合在线久综合在线观看| 中文字幕av在线一区二区三区| 高潮精品一区videoshd| 久久久久国产免费免费| 国产成人aaaa| 亚洲欧洲一区二区在线播放| 色哟哟亚洲精品| 一区二区三区电影在线播| 在线看一区二区| 五月婷婷激情综合网| 欧美精品1区2区3区| 三级影片在线观看欧美日韩一区二区| 欧美猛男gaygay网站| 青青草伊人久久| 精品国内片67194| 国产suv一区二区三区88区| 中文在线一区二区| 在线看日韩精品电影| 日本午夜精品一区二区三区电影| 欧美一区日本一区韩国一区| 精品系列免费在线观看| 国产精品久久久久久户外露出| 91黄色在线观看| 亚洲国产成人tv| 精品久久久久99| 国产成+人+日韩+欧美+亚洲| 亚洲黄网站在线观看| 日韩三级在线免费观看| 国产福利91精品| 一区二区高清免费观看影视大全| 日韩一区二区在线免费观看| 国产精品亚洲第一| 亚洲电影视频在线| 久久久影视传媒| 91久久精品一区二区| 日韩 欧美一区二区三区| 国产日韩三级在线| 欧美色中文字幕| 国产精品一区二区久激情瑜伽| 亚洲你懂的在线视频| 日韩欧美一区中文| 91成人网在线| 国产精品一二三在| 五月天国产精品| 中文字幕一区二区三区在线不卡| 8x福利精品第一导航| 成人一区在线观看| 日韩电影网1区2区| 亚洲精品免费电影| 日本一区二区三区在线不卡| 日韩一区二区三区免费观看| 99久久精品久久久久久清纯| 免费美女久久99| 亚洲制服丝袜av| 18欧美乱大交hd1984| 久久久久国产成人精品亚洲午夜| 色欧美88888久久久久久影院| 国产一区在线精品| 日韩电影在线一区二区三区| √…a在线天堂一区| 欧美精品一区二区三区四区| 欧美猛男男办公室激情| 欧美在线你懂得| 色综合网色综合| 成人高清免费在线播放| 国产乱人伦精品一区二区在线观看| 日本欧美在线观看| 亚洲va中文字幕| 视频在线观看国产精品| 日韩一区在线免费观看| 国产精品乱码一区二区三区软件| 欧美精品一区二区三区视频 | 成人h版在线观看| 国产精品一区免费视频| 久久精品国产999大香线蕉| 亚洲成国产人片在线观看| 亚洲综合免费观看高清完整版在线| 国产精品久久毛片| 中文字幕永久在线不卡| 日本一区二区电影| 中日韩av电影| 国产精品久久一卡二卡| 成人免费在线视频观看| 中文字幕亚洲在| 亚洲视频一区二区在线| 亚洲欧美日韩精品久久久久| 最新国产精品久久精品| 18涩涩午夜精品.www| 亚洲日本在线看| 亚洲午夜精品久久久久久久久| 一区二区在线观看免费视频播放| 自拍偷拍国产精品| 亚洲综合一区二区精品导航| 午夜久久电影网| 老司机精品视频在线| 国产精品综合视频| 91网址在线看| 欧美日韩一级视频| 精品少妇一区二区三区| 国产精品久久久久国产精品日日| 亚洲色图第一区| 五月天欧美精品| 激情成人综合网| 国产成人av在线影院| 日本韩国精品一区二区在线观看| 欧美日韩电影一区| 久久久久久亚洲综合| 亚洲男同1069视频| 麻豆免费精品视频| 99精品在线观看视频| 欧美精品丝袜久久久中文字幕| 久久综合狠狠综合久久综合88| 亚洲图片激情小说| 美女视频黄a大片欧美| youjizz久久| 日韩亚洲欧美在线观看| 国产精品视频你懂的| 亚洲成人激情综合网| 国产精品99久久久久久似苏梦涵| 91亚洲精品久久久蜜桃网站| 日韩精品一区二区三区在线播放 | 亚洲成年人网站在线观看| 精品一区二区三区免费观看| 91在线观看免费视频| 2020国产成人综合网| 亚洲福利一区二区三区| 成人黄色国产精品网站大全在线免费观看| 欧美区在线观看| 成人免费一区二区三区视频|