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

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

?? statistfire.c

?? 偶然收集到的一個C語言源碼
?? C
字號:
#include <airobot/c/SimpleRobot.h>
/**
 * 用統計學瞄準的機器人
 * @author xiemin
 */

#define BEARING_GAP 0.0523  /*統計概率時角度的間隔,3度*/
#define POWER 0.1 /*發彈的火力*/
#define DISTANCE_GAP 100 /*按距離分區的間隔*/

#define FACTOR_SIZE 30 /*概率分布數組的大小*/
#define STATIST_SIZE 15 /*總的分區數*/
#define WAVE_SIZE 60 /*波的個數*/

/*概率*/
struct Statist
{
	//概率分布數組
	double factors[FACTOR_SIZE];
};

/*波,用于統計敵人移動的概率*/
struct Wave
{
	int statist; /*當前分區下的概率分布*/
	double center;/*波的中心方向*/
	double startX, startY;/*波的開始位置*/
	double velocity;/*波的速度*/
	long startTime;/*波出發的時間*/
	int active;/*波是否是活動的*/
};
	
struct Statist statists[STATIST_SIZE];
struct Wave waves[WAVE_SIZE];

int getIndex(double bearing); /* 得到指定的夾角在概率數組中的索引*/
int getHeightestIndex(int statist); /* 得到概率最高的索引 */
double getBestFireBearing(int statist); /* 得到最好的開火夾角 */
void rate(int statist, double bearing); /* 提高指定角度下的概率值 */

void addWave(struct Bot*); /*添加一個Wave*/
int getNextWave(void); /*返回下一個空閑的Wave位置*/
int getStatist(struct Bot*); /*返回與Bot對應的statist*/
void updateWaves(struct Bot*); /*更新所有的Wave*/
void updateWave(int wave, long time, double x, double y); /*更新Wave*/

void doMove(void); /*執行移動*/
void doFire(struct Bot* bot);/*執行開火操作*/


void onTick(struct TickAction* action)
{
	struct Bot* opponent = getFirstOpponent();
	if(opponent==NULL) return;
	
	addWave(opponent);
	updateWaves(opponent);
	doFire(opponent);
	doMove();
}

void onRoundBegin(struct RoundBeginAction* action)
{
	//清除上一輪發射的波
	int i;
	for(i=0; i<WAVE_SIZE; i++)
		waves[i].active = 0;
}


int getIndex(double bearing)
{
	return FACTOR_SIZE/2+(int)(bearing/BEARING_GAP);
}

int getHeightestIndex(int statist)
{
	int heightestIndex = 0;
	int i;
	for(i=0; i<FACTOR_SIZE; i++)
	{
		if(statists[statist].factors[i]>statists[statist].factors[heightestIndex])
		{
			heightestIndex = i;
		}
	}
	return heightestIndex;
}

void rate(int statist, double bearing)
{
	int i;
	statists[statist].factors[getIndex(bearing)]+=0.01;
	for(i=0; i<FACTOR_SIZE; i++) 
		statists[statist].factors[i] *= 0.99;
}

double getBestFireBearing(int statist)
{
	return (getHeightestIndex(statist)-FACTOR_SIZE/2)*BEARING_GAP;
}

void addWave(struct Bot* bot)
{
	int wave = getNextWave();
	if(wave<0) return;
	
	waves[wave].active = 1;
	waves[wave].statist = getStatist(bot);	
	waves[wave].center = heading(getX(), getY(), bot->x, bot->y);
	waves[wave].startX = getX();
	waves[wave].startY = getY();
	waves[wave].startTime = getTime();
	waves[wave].velocity = getBulletVelocity(POWER);
}

void updateWaves(struct Bot* bot)
{
	int i;	
	for(i=0; i<WAVE_SIZE; i++)
	{
		if(waves[i].active)
		{
			updateWave(i, getTime(), bot->x, bot->y);
		}
	}
}

void updateWave(int wave, long time, double x, double y)
{
	//檢查是否撞到了對手
	double d1 = distance(waves[wave].startX, waves[wave].startY, x, y);
	double d2 = waves[wave].velocity*(time-waves[wave].startTime);
	//hited!!
	if(d2>=d1) 
	{
		double h = heading(waves[wave].startX, waves[wave].startY, x, y);
		//計算開火的夾角
		double b = bearing(h, waves[wave].center);
		//更新這個夾角的命中率
		rate(waves[wave].statist, b);
		waves[wave].active = 0;
	}
}

int getNextWave(void)
{
	int i;
	for(i=0; i<WAVE_SIZE; i++)
	{
		if(!waves[i].active) return i;
	}
	return -1;
}

int getStatist(struct Bot* bot)
{
	double d = distance(getX(), getY(), bot->x, bot->y);
	return (int)(d/DISTANCE_GAP);
}

void doMove(void)
{
	//移動到場地的中央
	moveTo(getCourtWidth()/2, getCourtHeight()/2);
}

void doFire(struct Bot* bot)
{
	if(getFirePrepareTime()<=0)
	{
		int statist = getStatist(bot);
		double b = getBestFireBearing(statist);
		double h = heading(getX(), getY(), bot->x, bot->y);
		fire(h+b, POWER);
	}
}


/**
 * 機器人程序入口
 */
int main(int argC, char* argV[])
{
	tickHook = onTick;
	roundBeginHook = onRoundBegin;
	return startup(argC, argV);
}

																	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
首页综合国产亚洲丝袜| 亚洲成av人片在线观看| 欧美一区二区三区免费| 欧美日韩的一区二区| 欧美三级日韩在线| 欧美日韩免费观看一区三区| 欧美女孩性生活视频| 制服丝袜亚洲播放| 精品久久久久av影院 | 国产欧美日韩亚州综合| www欧美成人18+| 中文字幕不卡的av| 亚洲乱码精品一二三四区日韩在线| 亚洲色图欧洲色图| 亚洲一区二区五区| 麻豆视频一区二区| 懂色av一区二区三区免费观看| 国产不卡高清在线观看视频| 99久久er热在这里只有精品15 | 中文字幕第一页久久| 中文在线一区二区| 亚洲精选视频在线| 天堂av在线一区| 国产精品一卡二| 色综合天天综合色综合av| 欧美精品久久99久久在免费线| 日韩一区二区三区四区| xf在线a精品一区二区视频网站| 国产精品久久久久三级| 午夜在线成人av| 国产盗摄精品一区二区三区在线| 91视视频在线观看入口直接观看www| 在线免费不卡视频| 26uuu精品一区二区| 一区二区三区在线视频观看| 毛片av一区二区三区| 99久久精品国产导航| 日韩欧美在线网站| 亚洲精品国产精华液| 精品一区二区影视| 欧美亚洲国产一区二区三区va| 欧美电影免费观看完整版| 日韩一区在线看| 精品在线你懂的| 欧美在线高清视频| 日本一区二区三区免费乱视频 | 国产成人夜色高潮福利影视| 91一区二区在线| 久久天天做天天爱综合色| 亚欧色一区w666天堂| 成人av电影在线网| 欧美精品一区二区精品网| 亚洲丶国产丶欧美一区二区三区| 成人小视频在线观看| 精品理论电影在线| 天堂蜜桃一区二区三区| 色噜噜狠狠色综合中国| 欧美激情中文字幕一区二区| 日韩成人av影视| 欧美羞羞免费网站| 亚洲美女免费视频| 成人精品在线视频观看| 久久九九99视频| 久久er99热精品一区二区| 91 com成人网| 日韩精彩视频在线观看| 欧美日韩在线播放一区| 亚洲香蕉伊在人在线观| 91久久免费观看| 亚洲黄色性网站| 91福利在线导航| 亚洲激情自拍偷拍| 色菇凉天天综合网| 专区另类欧美日韩| 色av综合在线| 亚洲一区二区三区不卡国产欧美| 91免费国产在线| 亚洲免费视频成人| 欧美色成人综合| 午夜视频久久久久久| 精品视频一区三区九区| 视频在线观看91| 日韩欧美国产小视频| 久久99精品久久久| 久久久亚洲精华液精华液精华液| 国产福利一区在线| 国产精品高潮久久久久无| 97精品视频在线观看自产线路二| 亚洲三级视频在线观看| 欧美剧情片在线观看| 美女视频免费一区| 欧美国产视频在线| 日本道免费精品一区二区三区| 无码av中文一区二区三区桃花岛| 91精品国产手机| 国产精品中文字幕日韩精品| 国产精品理论在线观看| 欧美视频日韩视频| 久久精品99国产国产精| 国产精品美女视频| 欧美在线你懂得| 精品制服美女丁香| 亚洲免费观看高清在线观看| 91精品中文字幕一区二区三区| 蓝色福利精品导航| 亚洲欧美色一区| 精品国产免费一区二区三区四区| 成人小视频免费观看| 视频一区视频二区在线观看| 精品黑人一区二区三区久久| 91丨九色丨蝌蚪丨老版| 日本美女一区二区三区视频| 久久久久久久网| 欧美日韩一区不卡| 不卡免费追剧大全电视剧网站| 亚洲国产日日夜夜| 国产精品午夜在线| 日韩亚洲欧美一区| 色综合久久天天| 国产福利一区在线观看| 日本亚洲免费观看| 亚洲特黄一级片| 久久精品人人做人人综合| 欧美三级电影一区| 99久久伊人精品| 国产精品夜夜嗨| 美女爽到高潮91| 午夜精品免费在线观看| 日韩理论片中文av| 国产精品污污网站在线观看| 日韩精品中午字幕| 欧美乱妇23p| 欧洲日韩一区二区三区| youjizz国产精品| 国产麻豆91精品| 另类专区欧美蜜桃臀第一页| 亚洲制服丝袜av| 亚洲人成亚洲人成在线观看图片| 久久综合久久99| 精品福利二区三区| 91精品啪在线观看国产60岁| 欧美综合一区二区| 在线观看一区不卡| 在线观看免费亚洲| 色视频欧美一区二区三区| 粉嫩av一区二区三区| 韩国av一区二区三区在线观看| 视频一区二区不卡| 午夜久久电影网| 五月天中文字幕一区二区| 亚洲一区在线观看视频| 一区二区免费视频| 一区二区视频在线看| 一区二区三区四区av| 亚洲一级片在线观看| 亚洲一线二线三线视频| 午夜免费欧美电影| 日韩国产在线一| 久久99精品国产麻豆不卡| 久久99精品一区二区三区| 国产一区在线观看麻豆| 国产露脸91国语对白| 国产69精品久久久久毛片| 成人精品免费看| 色偷偷一区二区三区| 欧美三级电影网| 精品国产一区二区三区忘忧草| 精品国产制服丝袜高跟| 国产精品色噜噜| 樱桃视频在线观看一区| 五月婷婷另类国产| 久久99久久99精品免视看婷婷| 久久国产精品免费| 风间由美一区二区av101| 91麻豆精东视频| 欧美一三区三区四区免费在线看| 日韩精品一区二区三区视频播放| 国产午夜亚洲精品羞羞网站| 国产精品乱人伦中文| 亚洲国产精品久久久久秋霞影院| 另类综合日韩欧美亚洲| 不卡一卡二卡三乱码免费网站| 欧美视频精品在线观看| 精品久久国产字幕高潮| 亚洲欧洲综合另类在线| 人人狠狠综合久久亚洲| 国产成人a级片| 欧美精品v日韩精品v韩国精品v| 精品国产乱码久久久久久1区2区 | 成人免费不卡视频| 在线欧美日韩精品| 国产亚洲精品aa午夜观看| 一区二区三区四区激情| 国产一区二区三区精品视频| 色婷婷综合久久久| 久久人人爽爽爽人久久久| 一区二区三区加勒比av| av一区二区久久| 6080亚洲精品一区二区| 国产精品不卡在线|