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

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

?? cbobsmap.cpp

?? 在WINDOWS環境下用C語言開發的尋路程序
?? CPP
字號:
#include "CBobsMap.h"


//this defines our little maze which Bob wanders
//around in
const int CBobsMap::map[MAP_HEIGHT][MAP_WIDTH] = 
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1,
 8, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1,
 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1,
 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1,
 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1,
 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1,
 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 5,
 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1,
 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};


const int CBobsMap::m_iMapHeight = MAP_HEIGHT;
const int CBobsMap::m_iMapWidth  = MAP_WIDTH;

const int CBobsMap::m_iStartX = 14;
const int CBobsMap::m_iStartY = 7;

const int CBobsMap::m_iEndX = 0;
const int CBobsMap::m_iEndY = 2;


//-------------------------------Render -----------------------------

void CBobsMap::Render(const int cxClient,
					  const int cyClient,
					  HDC surface)
{
	const int border = 20;
	
	int BlockSizeX = (cxClient - 2*border)/m_iMapWidth;
	int BlockSizeY = (cyClient - 2*border)/m_iMapHeight;

	HBRUSH	BlackBrush, RedBrush, OldBrush;
	HPEN	NullPen, OldPen;

	//grab a null pen so we can see the outlines of the cells
	NullPen = (HPEN)GetStockObject(NULL_PEN);

	//grab a brush to fill our cells with
	BlackBrush = (HBRUSH)GetStockObject(BLACK_BRUSH);

	//create a brush for the exit/entrance points
	RedBrush = CreateSolidBrush(RGB(255,0,0));

	//select them into the device conext
	OldBrush = (HBRUSH)SelectObject(surface, BlackBrush);
	OldPen	 =	 (HPEN)SelectObject(surface, NullPen);
	
	for (int y=0; y<m_iMapHeight; ++y)
	{
		for (int x=0; x<m_iMapWidth; ++x)
		{
			//calculate the corners of each cell
			int left  = border + (BlockSizeX * x);
			int right = left + BlockSizeX;
			
			int top    = border + (BlockSizeY * y);
			int bottom = top + BlockSizeY;
			
			//draw black rectangle if this is a wall
			if (map[y][x] == 1)
			{
				SelectObject(surface, BlackBrush);

				//draw the cell
				Rectangle(surface, left, top, right, bottom);
			}
			
			//draw red for exit and entrance
			if ( (map[y][x] == 5) || (map[y][x] == 8))
			{
				SelectObject(surface, RedBrush);

				//draw the cell
				Rectangle(surface, left, top, right, bottom);
			}
			
			
		}
	}

	//restore the original brush
	SelectObject(surface, OldBrush);

	//and pen
	SelectObject(surface, OldPen);
}

//-------------------------------MemoryRender ------------------------
//
//	//draws whatever path may be stored in the memory
//--------------------------------------------------------------------
void CBobsMap::MemoryRender(const int cxClient,
							const int cyClient,
							HDC surface)
{
	const int border = 20;
	
	int BlockSizeX = (cxClient - 2*border)/m_iMapWidth;
	int BlockSizeY = (cyClient - 2*border)/m_iMapHeight;
	
	HBRUSH	GreyBrush, OldBrush;
	HPEN	NullPen, OldPen;
	
	//grab a brush to fill our cells with
	GreyBrush = (HBRUSH)GetStockObject(LTGRAY_BRUSH);

	//grab a pen
	NullPen = (HPEN)GetStockObject(NULL_PEN);
	
	//select them into the device conext
	OldBrush = (HBRUSH)SelectObject(surface, GreyBrush);
	OldPen	 =	(HPEN)SelectObject(surface, NullPen);
	
	for (int y=0; y<m_iMapHeight; ++y)
	{
		for (int x=0; x<m_iMapWidth; ++x)
		{
			//calculate the corners of each cell
			int left  = border + (BlockSizeX * x);
			int right = left + BlockSizeX;
			
			int top    = border + (BlockSizeY * y);
			int bottom = top + BlockSizeY;
			
			//draw green rectangle if this is a wall
			if (memory[y][x] == 1)
			{
				Rectangle(surface, left, top, right, bottom);
			}
		}
	}
	
	//restore the original brush
	SelectObject(surface, OldBrush);
	
	//and pen
	SelectObject(surface, OldPen);

}

//---------------------------- TestRoute ---------------------------
//
//	given a decoded vector of directions and a map object representing
//	Bob's memory, this function moves Bob through the maze as far as 
//	he can go updating his memory as he moves.
//-------------------------------------------------------------------
double CBobsMap::TestRoute(const vector<int> &vecPath, CBobsMap &Bobs)
{
	int posX = m_iStartX;
	int posY = m_iStartY;

	for (int dir=0; dir<vecPath.size(); ++dir)
	{
		int NextDir = vecPath[dir];

		switch(vecPath[dir])
		{
		case 0: //North

			//check within bounds and that we can move
			if ( ((posY-1) < 0 ) || (map[posY-1][posX] == 1) )
			{
				break;
			}

			else
			{
				posY -= 1;
			}

			break;

		case 1: //South

			//check within bounds and that we can move
			if ( ((posY+1) >= m_iMapHeight) || (map[posY+1][posX] == 1) )
			{
				break;
			}
			
			else
			{
				posY += 1;
			}

			break;

		case 2: //East

			//check within bounds and that we can move
			if ( ((posX+1) >= m_iMapWidth ) || (map[posY][posX+1] == 1) )
			{
				break;
			}
			
			else
			{
				posX += 1;
			}

			break;

		case 3: //West

			//check within bounds and that we can move
			if ( ((posX-1) < 0 ) || (map[posY][posX-1] == 1) )
			{
				break;
			}
			
			else
			{
				posX -= 1;
			}

			break;

		}//end switch

		//mark the route in the memory array
		Bobs.memory[posY][posX] = 1;

	}//next direction

	//now we know the finish point of Bobs journey, let's assign
	//a fitness score which is proportional to his distance from
	//the exit

	int	DiffX = abs(posX - m_iEndX);
	int DiffY = abs(posY - m_iEndY);

	//we add the one to ensure we never divide by zero. Therefore
	//a solution has been found when this return value = 1
	return 1/(double)(DiffX+DiffY+1);
}

//--------------------- ResetMemory --------------------------
//
//	resets the memory map to zeros
//------------------------------------------------------------
void CBobsMap::ResetMemory()
{
	for (int y=0; y<m_iMapHeight; ++y)
	{
		for (int x=0; x<m_iMapWidth; ++x)
		{
			memory[y][x] = 0;
		}
	}
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产人成亚洲第一网站在线播放 | 91久久香蕉国产日韩欧美9色| 中文字幕免费一区| 欧美日韩一区三区| 久久成人久久爱| 欧美高清视频不卡网| 91精品福利在线一区二区三区| 欧美激情在线一区二区| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲三级免费电影| 精品成人a区在线观看| 99国产精品久| 毛片av一区二区| 成人免费观看视频| 在线亚洲一区二区| 欧美一区二区成人| 亚洲老司机在线| 日本不卡123| 91丨porny丨国产入口| 欧美喷水一区二区| 欧美视频精品在线观看| 国产精品一色哟哟哟| 日本不卡1234视频| 久久国产精品第一页| 亚洲欧美日韩小说| 国产精品久久久久久久久晋中| 欧美日韩精品一二三区| 99精品久久只有精品| 成人亚洲精品久久久久软件| 亚洲国产精品传媒在线观看| 欧美精品成人一区二区三区四区| 亚洲男人的天堂一区二区| 高清日韩电视剧大全免费| xnxx国产精品| 国产精品18久久久久久vr| 久久亚洲精品小早川怜子| 狠狠色综合播放一区二区| 精品国产乱码久久久久久老虎| 免费在线看成人av| 欧美成人猛片aaaaaaa| 激情亚洲综合在线| 久久综合久久综合亚洲| 高潮精品一区videoshd| 国产精品嫩草99a| 色婷婷久久综合| 午夜久久久久久电影| 欧美老肥妇做.爰bbww视频| 日韩av中文字幕一区二区三区| 在线播放国产精品二区一二区四区| 日韩精品乱码av一区二区| 日韩欧美一二三四区| 国产传媒一区在线| 亚洲三级在线观看| 在线综合视频播放| 国产米奇在线777精品观看| 国产精品高潮久久久久无| 欧美日韩激情在线| 韩国av一区二区三区四区| 国产精品伦一区二区三级视频| 在线免费观看一区| 韩国一区二区在线观看| 国产精品黄色在线观看| 欧美日韩卡一卡二| 国产99精品视频| 亚洲成人7777| 国产精品第四页| 日韩一区二区三区视频| 成人免费电影视频| 日韩成人一级大片| 亚洲少妇最新在线视频| 51精品久久久久久久蜜臀| 国产91丝袜在线播放| 亚洲国产aⅴ天堂久久| 久久女同精品一区二区| 欧洲日韩一区二区三区| 国产一区二区三区免费| 亚洲国产视频在线| 日本一区二区三区久久久久久久久不| 欧洲一区二区三区在线| 丁香婷婷深情五月亚洲| 亚洲成人av免费| 日韩理论片在线| 久久久久久久久久久久久久久99 | 自拍av一区二区三区| 日韩写真欧美这视频| 色婷婷精品久久二区二区蜜臂av| 精品一区二区三区久久久| 夜夜精品视频一区二区| 国产午夜精品一区二区| 日韩欧美一区电影| 精品视频在线免费看| 成人激情av网| 精品综合久久久久久8888| 婷婷久久综合九色国产成人 | 亚洲午夜免费视频| 国产精品三级电影| 久久麻豆一区二区| 日韩精品一区二区三区在线| 欧美三级韩国三级日本三斤| 99精品一区二区| 不卡的av中国片| 国产麻豆精品在线观看| 精品亚洲成a人在线观看| 天天免费综合色| 亚洲成人精品一区| 亚洲国产精品久久久久秋霞影院| 亚洲欧洲www| 国产精品乱人伦中文| 中文字幕欧美区| 国产精品久久久久久久岛一牛影视| 久久色视频免费观看| 欧美不卡一区二区三区| 日韩精品一区二区在线| 日韩精品一区二区三区蜜臀| 欧美一区二区三区啪啪| 555夜色666亚洲国产免| 制服视频三区第一页精品| 欧美一区二区三区播放老司机| 欧美日韩精品是欧美日韩精品| 欧美性猛交xxxx乱大交退制版| 在线视频国内自拍亚洲视频| 在线观看日韩毛片| 欧美日韩视频在线观看一区二区三区 | 91影视在线播放| 91久久精品一区二区三区| 欧美性大战久久久久久久蜜臀| 欧美日韩一区中文字幕| 欧美二区在线观看| 精品国产凹凸成av人网站| 久久久精品免费免费| 亚洲视频一区在线| 日韩经典中文字幕一区| 黑人巨大精品欧美一区| 99视频在线精品| 欧美三级电影一区| 久久综合九色综合97婷婷| 国产精品视频看| 曰韩精品一区二区| 美女一区二区三区在线观看| 国产麻豆精品视频| 不卡视频一二三四| 欧美欧美午夜aⅴ在线观看| 久久综合九色综合欧美就去吻| 中文欧美字幕免费| 亚洲h在线观看| 国内久久婷婷综合| 色老综合老女人久久久| 欧美一级欧美三级| 一色桃子久久精品亚洲| 亚洲国产日韩综合久久精品| 久久激情五月婷婷| eeuss国产一区二区三区| 这里是久久伊人| 国产精品三级久久久久三级| 日日摸夜夜添夜夜添精品视频| 国产精品一区二区果冻传媒| 欧美在线999| 国产欧美一区二区精品性色| 一级做a爱片久久| 国产麻豆精品在线观看| 欧美亚洲一区二区在线观看| 久久婷婷久久一区二区三区| 亚洲福利一二三区| www.日韩av| 2020国产成人综合网| 丝袜亚洲精品中文字幕一区| 成人黄色大片在线观看| 91精品国产品国语在线不卡 | 久久久久国产精品麻豆| 亚洲国产一二三| 91亚洲永久精品| 国产欧美日韩视频一区二区| 日韩极品在线观看| 色94色欧美sute亚洲线路二| 国产日本欧洲亚洲| 免费久久精品视频| 欧美日韩在线播放| 亚洲精品久久7777| 成人av综合在线| 久久精品人人做人人爽97| 蜜臀99久久精品久久久久久软件 | 国产精品亚洲第一区在线暖暖韩国| 欧美日韩高清一区二区| 亚洲美女少妇撒尿| 99精品1区2区| 中文字幕日韩欧美一区二区三区| 国产在线精品免费av| 日韩欧美成人激情| 日本视频免费一区| 欧美丰满少妇xxxxx高潮对白| 亚洲最色的网站| 色94色欧美sute亚洲线路二| 日韩美女啊v在线免费观看| 成人av资源在线| 国产精品久久久久一区二区三区 | 91丨九色porny丨蝌蚪| 欧美国产乱子伦| 成人少妇影院yyyy| 18涩涩午夜精品.www| av在线播放不卡|