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

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

?? aicommon.c

?? 通過人工智能算法快速實現神經網絡識別
?? C
字號:
#include "Toolbox.h"#include "AICommon.h"		TWindow							tbWindow;	ai_World						MainWorld;	ai_Entity						entityList[kMaxEntities];		TBitmap							terrainBMP;	TBitmap							objectsBMP;	TBitmap							objectsMaskBMP;	TBitmap							offscreenBMP;	TRect								unitRect;	TRect								redAntRect;	TRect								blackAntRect;	TRect								terrainRect[kMaxTiles];	TRect								screenRect;	TRect								destRect[kMaxRows][kMaxCols];	int									terrainBackup[kMaxRows][kMaxCols];		int									terrain[kMaxRows][kMaxCols];	TBoolean						pause=false;	// ----------------------------------------------------------------- //ai_Entity::ai_Entity()// ----------------------------------------------------------------- //{	unsigned long			randomSeed;	int								i;		GetDateTime(&randomSeed);  SetQDGlobalsRandomSeed(randomSeed);	for (i=0;i<kMaxEntities;i++)		{			entityList[i].row=0;			entityList[i].col=0;			entityList[i].type=0;			entityList[i].state=0;			entityList[i].timeToMove=TickCount()+tb_Rnd(0,120);		}	entityList[0].New(kRedAnt,kForage,5,5);	entityList[1].New(kRedAnt,kForage,8,5);		entityList[2].New(kBlackAnt,kForage,5,36);	entityList[3].New(kBlackAnt,kForage,8,36);	}// ----------------------------------------------------------------- //ai_Entity::~ai_Entity()// ----------------------------------------------------------------- //{}// ----------------------------------------------------------------- //void ai_Entity::Forage(void)// ----------------------------------------------------------------- //{	int			rowMove;	int			colMove;	int			newRow;	int			newCol;	int			foodRow;	int			foodCol;	int			poisonRow;	int			poisonCol;	if (TickCount()<timeToMove)		return;	rowMove=tb_Rnd(0,2)-1;	colMove=tb_Rnd(0,2)-1;	newRow=row+rowMove;	newCol=col+colMove;	if (newRow<1) return;	if (newCol<1) return;	if (newRow>=kMaxRows-1) return;	if (newCol>=kMaxCols-1) return;	if ((terrain[newRow][newCol]==kGround) || (terrain[newRow][newCol]==kWater))		{			row=newRow;			col=newCol;		}	if (terrain[newRow][newCol]==kFood)		{			row=newRow;			col=newCol;			terrain[row][col]=kGround;			state=kGoHome;			do {				foodRow=tb_Rnd(2,kMaxRows)-3;				foodCol=tb_Rnd(2,kMaxCols)-3;			} while (terrain[foodRow][foodCol]!=kGround);			terrain[foodRow][foodCol]=kFood;		}	if (terrain[newRow][newCol]==kPoison)		{			row=newRow;			col=newCol;			terrain[row][col]=kGround;			state=kDead;			do {			poisonRow=tb_Rnd(2,kMaxRows)-3;			poisonCol=tb_Rnd(2,kMaxCols)-3;			} while (terrain[poisonRow][poisonCol]!=kGround);			terrain[poisonRow][poisonCol]=kPoison;		}	timeToMove=TickCount()+0;}// ----------------------------------------------------------------- //void ai_Entity::Dead(void)// ----------------------------------------------------------------- //{  if (TickCount()<timeToMove)     return;	type=0;	row=0;	col=0;	state=0;  timeToMove=TickCount()+0;}// ----------------------------------------------------------------- //void ai_Entity::Thirsty(void)// ----------------------------------------------------------------- //{	int			rowMove;	int			colMove;	int			newRow;	int			newCol;	int			foodRow;	int			foodCol;	int			poisonRow;	int			poisonCol;	if (TickCount()<timeToMove)	   return;	rowMove=tb_Rnd(0,2)-1;	colMove=tb_Rnd(0,2)-1;	newRow=row+rowMove;	newCol=col+colMove;	if (newRow<1) return;	if (newCol<1) return;	if (newRow>=kMaxRows-1) return;	if (newCol>=kMaxCols-1) return;	if ((terrain[newRow][newCol]==kGround) || (terrain[newRow][newCol]==kFood))		{			row=newRow;			col=newCol;		}	if (terrain[newRow][newCol]==kWater)		{			row=newRow;			col=newCol;			terrain[row][col]=kGround;			state=kForage;			do {				foodRow=tb_Rnd(2,kMaxRows)-3;				foodCol=tb_Rnd(2,kMaxCols)-3;			} while (terrain[foodRow][foodCol]!=kGround);			terrain[foodRow][foodCol]=kWater;		}	if (terrain[newRow][newCol]==kPoison)		{			row=newRow;			col=newCol;			terrain[row][col]=kGround;			state=kDead;			do {				poisonRow=tb_Rnd(2,kMaxRows)-3;				poisonCol=tb_Rnd(2,kMaxCols)-3;			} while (terrain[poisonRow][poisonCol]!=kGround);			terrain[poisonRow][poisonCol]=kPoison;		}	timeToMove=TickCount()+0;}// ----------------------------------------------------------------- //void ai_Entity::GoHome(void)// ----------------------------------------------------------------- //{	int			rowMove;	int			colMove;	int			newRow;	int			newCol;	int			homeRow;	int			homeCol;	int			i;	int			poisonRow;	int			poisonCol;	if (TickCount()<timeToMove)		return;	if (type==kRedAnt)		{			homeRow=kRedHomeRow;			homeCol=kRedHomeCol;		}	else		{			homeRow=kBlackHomeRow;			homeCol=kBlackHomeCol;		}	if (row<homeRow)		rowMove=1;	else if (row>homeRow)		rowMove=-1;	else		rowMove=0;	if (col<homeCol)		colMove=1;	else if (col>homeCol)		colMove=-1;	else		colMove=0;	newRow=row+rowMove;	newCol=col+colMove;	if (newRow<1) return;	if (newCol<1) return;	if (newRow>=kMaxRows-1) return;	if (newCol>=kMaxCols-1) return;	if (terrain[newRow][newCol]!=kPoison)		{			row=newRow;			col=newCol;		}	else		{			row=newRow;			col=newCol;			terrain[row][col]=kGround;			state=kDead;			do {				poisonRow=tb_Rnd(2,kMaxRows)-3;				poisonCol=tb_Rnd(2,kMaxCols)-3;			} while (terrain[poisonRow][poisonCol]!=kGround);			terrain[poisonRow][poisonCol]=kPoison;		}	if ((newRow==homeRow) && (newCol==homeCol))		{			row=newRow;			col=newCol;			state=kThirsty;			for (i=0;i<kMaxEntities;i++)			if (entityList[i].type==0)				{					entityList[i].row=homeRow;					entityList[i].col=homeCol;					entityList[i].type=type;					entityList[i].state=kForage;					entityList[i].timeToMove=TickCount()+tb_Rnd(0,120);					break;				}		}	timeToMove=TickCount()+0;}// ----------------------------------------------------------------- //int ai_Entity::DistanceFrom(int t)// ----------------------------------------------------------------- //{	return (sqrt(((row-entityList[t].row) * (row-entityList[t].row)) + ((col-entityList[t].col) * (col-entityList[t].col))));	}// ----------------------------------------------------------------- //void ai_Entity::New(int theType, int theState, int theRow, int theCol)// ----------------------------------------------------------------- //{		type=theType;	row=theRow;	col=theCol;	state=theState;}// ----------------------------------------------------------------- //ai_World::ai_World()// ----------------------------------------------------------------- //{	TRect							r;	int								i;	int								j;	unsigned long			randomSeed;		tb_InitializeToolbox();		GetDateTime(&randomSeed);  SetQDGlobalsRandomSeed(randomSeed);		tb_SetRect(&screenRect,0,0,1008,768);	offscreenBMP=tb_CreateBitmap(&screenRect, -1, kScreenDepth);		terrainBMP=tb_CreateBitmap(&r, 128, kScreenDepth);	objectsBMP=tb_CreateBitmap(&r, 129, kScreenDepth);	objectsMaskBMP=tb_CreateBitmap(&r, 130, kScreenDepth);		tb_SetRect(&unitRect,1,1,63,44);	tb_SetRect(&redAntRect,1,1,63,44);	tb_SetRect(&blackAntRect,65,1,127,44);	tb_SetRect(&terrainRect[kGround],1,1,25,25);	tb_SetRect(&terrainRect[kWater],26,1,50,25);	tb_SetRect(&terrainRect[kBlackHome],51,1,75,25);	tb_SetRect(&terrainRect[kRedHome],76,1,100,25);	tb_SetRect(&terrainRect[kPoison],101,1,125,25);	tb_SetRect(&terrainRect[kFood],126,1,150,25);	for (i=0;i<kMaxRows;i++)		for (j=0;j<kMaxCols;j++)			{				tb_SetRect(&destRect[i][j],(24*j),(24*i),(24*j)+25,(24*i)+25);				terrain[i][j]=1;			}	terrain[kRedHomeRow][kRedHomeCol]=kRedHome;	terrain[kBlackHomeRow][kBlackHomeCol]=kBlackHome;		for (i=0;i<kMaxWater;i++)		terrain[tb_Rnd(2,kMaxRows)-3][tb_Rnd(2,kMaxCols)-3]=kWater;	for (i=0;i<kMaxPoison;i++)		terrain[tb_Rnd(2,kMaxRows)-3][tb_Rnd(2,kMaxCols)-3]=kPoison;	for (i=0;i<kMaxFood;i++)		terrain[tb_Rnd(2,kMaxRows)-3][tb_Rnd(2,kMaxCols)-3]=kFood;		for (i=0;i<kMaxRows;i++)		for (j=0;j<kMaxCols;j++)			terrainBackup[i][j]=terrain[i][j];}// ----------------------------------------------------------------- //ai_World::~ai_World()// ----------------------------------------------------------------- //{}// ----------------------------------------------------------------- //void ai_World::UpdateWorld(void)// ----------------------------------------------------------------- //	{	int				i;			if (tb_IsKeyDown(SpaceBar))		{			if (pause)				pause=false;			else				pause=true;			while (tb_IsKeyDown(SpaceBar));		}			if (pause)		return;		for (i=0;i<kMaxEntities;i++)		{				switch (entityList[i].state)				{					case kForage:						entityList[i].Forage();						break;					case kGoHome:						entityList[i].GoHome();						break;					case kThirsty:						entityList[i].Thirsty();						break;					case kDead:						entityList[i].Dead();						break;				}		}	Redraw();	}// ----------------------------------------------------------------- //void ai_World::Redraw(void)// ----------------------------------------------------------------- //	{	int					i;	int					j;	TRect				objectDest;		for (i=0;i<kMaxRows;i++)		for (j=0;j<kMaxCols;j++)			tb_CopyBitmap(terrainBMP,offscreenBMP,&terrainRect[terrain[i][j]],&destRect[i][j],false);	for (i=0;i<kMaxEntities;i++)		{			if (entityList[i].type==kRedAnt)				{					objectDest=unitRect;					tb_OffsetRect(&objectDest,destRect[entityList[i].row][entityList[i].col].left-14,destRect[entityList[i].row][entityList[i].col].top-42);					tb_CopyMaskBitmap(objectsBMP,objectsMaskBMP,offscreenBMP,&redAntRect,&redAntRect,&objectDest);				}			if (entityList[i].type==kBlackAnt)				{					objectDest=unitRect;					tb_OffsetRect(&objectDest,destRect[entityList[i].row][entityList[i].col].left-14,destRect[entityList[i].row][entityList[i].col].top-42);					tb_CopyMaskBitmap(objectsBMP,objectsMaskBMP,offscreenBMP,&blackAntRect,&blackAntRect,&objectDest);				}				}			tb_CopyBitmap(offscreenBMP,tbWindow,&screenRect,&screenRect,false);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区在线观看| 亚洲人成网站影音先锋播放| 欧美国产精品专区| 一区二区三区在线不卡| 激情综合色播激情啊| 色88888久久久久久影院野外| 日韩欧美综合在线| 亚洲五月六月丁香激情| 成人黄色电影在线| 精品国产一区二区精华| 亚洲无线码一区二区三区| 不卡影院免费观看| 久久一留热品黄| 日韩精品色哟哟| 欧美日韩一二三区| 亚洲老妇xxxxxx| 97久久精品人人澡人人爽| 久久综合九色综合97婷婷| 日本人妖一区二区| 欧美人xxxx| 五月婷婷激情综合网| 色妞www精品视频| 18成人在线观看| 成人激情动漫在线观看| 日本一区二区三区电影| 韩国理伦片一区二区三区在线播放| 欧美日韩精品一区二区三区| 亚洲激情av在线| 91香蕉视频黄| 一区二区三区高清在线| 99re这里只有精品6| 日韩一区中文字幕| 99精品一区二区| 亚洲免费三区一区二区| 色婷婷久久久亚洲一区二区三区| 国产精品久久久久久亚洲伦| 成人福利视频网站| 亚洲三级电影网站| 色综合中文字幕| 蜜桃av一区二区| 7777精品伊人久久久大香线蕉完整版 | 欧美日韩国产成人在线免费| 亚洲免费成人av| 欧美亚洲国产bt| 日韩精品一二三四| 精品国产人成亚洲区| 国产精品亚洲一区二区三区妖精| 欧美大片在线观看| 粉嫩一区二区三区性色av| 国产精品久久久久国产精品日日| 97se狠狠狠综合亚洲狠狠| 一区二区三区在线视频免费| 欧美日韩激情一区二区| 久久精品国产精品青草| 国产丝袜欧美中文另类| 色综合天天综合网天天狠天天| 一区二区三区日韩精品| 欧美精品成人一区二区三区四区| 玖玖九九国产精品| 国产精品免费免费| 欧美日韩国产美女| 韩国欧美一区二区| 亚洲人成网站在线| 日韩一区二区三区三四区视频在线观看 | 激情av综合网| 亚洲人成亚洲人成在线观看图片 | 日韩欧美国产1| 不卡高清视频专区| 五月激情六月综合| 国产肉丝袜一区二区| 欧美综合色免费| 国产一区二区三区免费播放| 中文字幕一区二区三区乱码在线| 欧美日韩一区二区三区免费看| 免费av网站大全久久| 国产精品传媒视频| 欧美一区二区三区日韩视频| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 91毛片在线观看| 欧美bbbbb| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲午夜免费视频| 国产欧美日韩综合精品一区二区| 日本黄色一区二区| 国产精品一区二区久久不卡| 亚洲1区2区3区视频| 欧美国产欧美综合| 日韩欧美一区二区不卡| 91啪九色porn原创视频在线观看| 韩国一区二区三区| 日本女优在线视频一区二区| 亚洲激情一二三区| 国产精品美女久久久久久久久| 欧美顶级少妇做爰| 欧美午夜理伦三级在线观看| 成人av网站在线观看| 国产精品99久久久久久久女警| 日日欢夜夜爽一区| 亚洲国产一区二区a毛片| 国产精品久久毛片a| 国产色产综合色产在线视频| 日韩欧美亚洲一区二区| 欧美日韩免费观看一区三区| 色吊一区二区三区| 不卡的av电影在线观看| 丁香婷婷综合激情五月色| 国内精品嫩模私拍在线| 久久99日本精品| 天堂午夜影视日韩欧美一区二区| 一区二区三区免费看视频| 成人欧美一区二区三区黑人麻豆 | 成人免费在线观看入口| 国产精品色在线| 国产精品三级视频| 国产精品久久久久久久久快鸭| 亚洲国产岛国毛片在线| 中文字幕第一区二区| 久久久不卡网国产精品二区| 26uuu欧美| 国产精品五月天| 亚洲欧洲另类国产综合| 亚洲三级理论片| 亚洲成人自拍偷拍| 日本aⅴ免费视频一区二区三区| 图片区小说区国产精品视频| 日韩电影在线一区二区三区| 美女爽到高潮91| 国产激情91久久精品导航| 国产成人一级电影| 99久久伊人精品| 欧美亚洲日本国产| 欧美一级理论片| 久久精品日韩一区二区三区| 中文字幕乱码亚洲精品一区| 亚洲人成网站影音先锋播放| 亚洲一区中文在线| 麻豆精品在线看| 国产成人午夜片在线观看高清观看| 成人av资源在线| 欧美三级欧美一级| www一区二区| 18成人在线观看| 蜜桃av一区二区三区| 国产福利一区在线| 91亚洲精品一区二区乱码| 欧美另类变人与禽xxxxx| 欧美成人精品1314www| 欧美经典一区二区三区| 亚洲精品一卡二卡| 久久国产成人午夜av影院| 成人午夜激情片| 欧美精品久久久久久久多人混战 | 91黄色激情网站| 91精品国产91综合久久蜜臀| 国产亚洲一区二区在线观看| 亚洲精品老司机| 精品影视av免费| 91精品1区2区| 久久精品亚洲乱码伦伦中文| 一区二区三区**美女毛片| 九九久久精品视频| 日本韩国一区二区三区| 精品久久国产字幕高潮| 亚洲精品第一国产综合野| 狠狠色狠狠色综合系列| 色狠狠色噜噜噜综合网| 久久久久9999亚洲精品| 日本欧美加勒比视频| 99精品在线免费| 久久久综合激的五月天| 午夜精品福利在线| 99精品偷自拍| 国产日韩综合av| 久久国产精品99久久人人澡| 欧洲av一区二区嗯嗯嗯啊| 国产午夜精品一区二区三区视频| 亚洲丰满少妇videoshd| 成人国产亚洲欧美成人综合网| 日韩三级精品电影久久久| 亚洲愉拍自拍另类高清精品| 懂色av中文字幕一区二区三区| 日韩欧美一级特黄在线播放| 亚洲综合色视频| 色综合天天综合色综合av| 国产亚洲精品资源在线26u| 人妖欧美一区二区| 在线电影院国产精品| 一区二区在线观看视频在线观看| 成人av影视在线观看| 国产精品入口麻豆原神| 国产一区视频导航| 欧美成人一级视频| 蜜臀av国产精品久久久久| 欧美日韩一级二级三级| 一区二区免费在线播放| 色综合色狠狠综合色| 中文字幕一区二区不卡| 成人aa视频在线观看| 中文字幕一区二| 91亚洲精品久久久蜜桃网站|