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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? astart.cpp

?? Astar 精靈版本 Astar 精靈版本
?? CPP
字號:
#include ".\astart.h"
#include "List.cpp"
#include <math.h>
Astart::Astart(int a[6][13],int w,int l,int s,int e)
{
	for(int i=0; i<l; i++)
	{
		for(int j=0; j<w; j++)
		{
			map[i][j] = a[i][j];
		}
	}
	WIDTH = w;
	start = s;
	end = e;
	LENGTH = l;
	rect = new Rect[WIDTH*LENGTH];
	for(int i=0; i<WIDTH*LENGTH; i++)
	{
		rect[i].map_x = i%WIDTH;
		rect[i].map_y = i/WIDTH;
	}
	rect[start].g_value = 0;
	rect[start].pre = NULL;
}

Astart::~Astart(void)
{
}

bool Astart::Find()
{
	if(close_list.IsEmpty())
	{
		if((start+WIDTH)/WIDTH < LENGTH && (start+WIDTH)/WIDTH >=0 && (start+WIDTH)%WIDTH >= 0 && (start+WIDTH)%WIDTH < WIDTH && start/WIDTH != LENGTH-1)
		{
			if( map[(start+WIDTH)/WIDTH][(start+WIDTH)%WIDTH]!=1 )
			{
				rect[start+WIDTH].pre = &rect[start];
				rect[start+WIDTH].h_value = get_h_value(start+WIDTH);
				rect[start+WIDTH].g_value = get_g_value(start+WIDTH);
				open_list.Insert(open_list.Length(),start+WIDTH);
			}
		}
		if((start-WIDTH)/WIDTH < LENGTH && (start-WIDTH)/WIDTH >=0 && (start-WIDTH)%WIDTH >= 0 && (start-WIDTH)%WIDTH < WIDTH && (start/WIDTH) != 0)
		{
			if( map[(start-WIDTH)/WIDTH][(start-WIDTH)%WIDTH]!=1)
			{
				rect[start-WIDTH].pre = &rect[start];
				rect[start-WIDTH].h_value = get_h_value(start-WIDTH);
				rect[start-WIDTH].g_value = get_g_value(start-WIDTH);
				open_list.Insert(open_list.Length(),start-WIDTH);
			}
		}
		if((start+1)/WIDTH < LENGTH && (start+1)/WIDTH >=0 && (start+1)%WIDTH >= 0 && (start+1)%WIDTH < WIDTH && start!= start/WIDTH * WIDTH + WIDTH-1)
		{
			if( map[(start+1)/WIDTH][(start+1)%WIDTH]!=1)
			{
				rect[start+1].pre = &rect[start];
				rect[start+1].h_value = get_h_value(start+1);
				rect[start+1].g_value = get_g_value(start+1);
				open_list.Insert(open_list.Length(),start+1);
			}
		}
		if((start-1)/WIDTH < LENGTH && (start-1)/WIDTH >=0 && (start-1)%WIDTH >= 0 && (start-1)%WIDTH < WIDTH && start%WIDTH!=0)
		{
			if( map[(start-1)/WIDTH][(start-1)%WIDTH]!=1)
			{
				rect[start-1].pre = &rect[start];
				rect[start-1].h_value = get_h_value(start-1);
				rect[start-1].g_value = get_g_value(start-1);
				open_list.Insert(open_list.Length(),start-1);
			}
		}
		close_list.Insert(close_list.Length(),start);
	}
	int i = 0;
	int num = -1;
	int rectcount = 0;
	for(int z=1; z<=open_list.Length(); z++)
	{
		int counttemp,numtemp;
		open_list.Find(z,counttemp);
		numtemp = rect[counttemp].h_value +  rect[counttemp].g_value;
		if(num==-1)
		{
			num = numtemp;
		}
		if(numtemp <= num)
		{
			i = z;
			num = numtemp;
			rectcount = counttemp;
		}
	}
	int temp;
	if(i==0)
	{
		return false;
	}
	open_list.Delete(i,temp);
	close_list.Insert(close_list.Length(),rectcount);
	if((rectcount+WIDTH)/WIDTH < LENGTH && (rectcount+WIDTH)/WIDTH >=0 && (rectcount+WIDTH)%WIDTH >= 0 && (rectcount+WIDTH)%WIDTH < WIDTH && (rectcount/WIDTH) != LENGTH-1)
	{
		if(rectcount+WIDTH == end)
		{
			rect[rectcount+WIDTH].pre = &rect[rectcount];
			return true;
		}
		if( map[(rectcount+WIDTH)/WIDTH][(rectcount+WIDTH)%WIDTH]!=1 )
		{
			if(close_list.Search(rectcount+WIDTH) == 0)
			{
				if(open_list.Search(rectcount+WIDTH) == 0)
				{
					rect[rectcount+WIDTH].pre = &rect[rectcount];
					rect[rectcount+WIDTH].h_value = get_h_value(rectcount+WIDTH);
					rect[rectcount+WIDTH].g_value = get_g_value(rectcount+WIDTH);
					open_list.Insert(open_list.Length(),rectcount+WIDTH);
				}
				else
				{
					if(rect[rectcount].g_value + 10 < rect[rectcount+WIDTH].g_value)
					{
						rect[rectcount+WIDTH].pre = &rect[rectcount];
						rect[rectcount+WIDTH].g_value = get_g_value(rectcount+WIDTH);
					}
				}
			}
		}
	}
	if((rectcount-WIDTH)/WIDTH < LENGTH && (rectcount-WIDTH)/WIDTH >=0 && (rectcount-WIDTH)%WIDTH >= 0 && (rectcount-WIDTH)%WIDTH < WIDTH && (rectcount/WIDTH) != 0)
	{
		if(rectcount-WIDTH == end)
		{
			rect[rectcount-WIDTH].pre = &rect[rectcount];
			return true;
		}
		if( map[(rectcount-WIDTH)/WIDTH][(rectcount-WIDTH)%WIDTH]!=1)
		{
			if(close_list.Search(rectcount-WIDTH) == 0)
			{
				if(open_list.Search(rectcount-WIDTH) == 0)
				{
					rect[rectcount-WIDTH].pre = &rect[rectcount];
					rect[rectcount-WIDTH].h_value = get_h_value(rectcount-WIDTH);
					rect[rectcount-WIDTH].g_value = get_g_value(rectcount-WIDTH);
					open_list.Insert(open_list.Length(),rectcount-WIDTH);
				}
				else
				{
					if(rect[rectcount].g_value + 10 < rect[rectcount-WIDTH].g_value)
					{
						rect[rectcount-WIDTH].pre = &rect[rectcount];
						rect[rectcount-WIDTH].g_value = get_g_value(rectcount-WIDTH);
					}
				}
			}
		}
	}
	if((rectcount+1)/WIDTH < LENGTH && (rectcount+1)/WIDTH >=0 && (rectcount+1)%WIDTH >= 0 && (rectcount+1)%WIDTH < WIDTH && rectcount!= rectcount/WIDTH * WIDTH + WIDTH-1)
	{
		if(rectcount+1 == end)
		{
			rect[rectcount+1].pre = &rect[rectcount];
			return true;
		}
		if( map[(rectcount+1)/WIDTH][(rectcount+1)%WIDTH]!=1)
		{
			if(close_list.Search(rectcount+1) == 0)
			{
				if(open_list.Search(rectcount+1) == 0)
				{
					rect[rectcount+1].pre = &rect[rectcount];
					rect[rectcount+1].h_value = get_h_value(rectcount+1);
					rect[rectcount+1].g_value = get_g_value(rectcount+1);
					open_list.Insert(open_list.Length(),rectcount+1);
				}
				else
				{
					if(rect[rectcount].g_value + 10 < rect[rectcount+1].g_value)
					{
						rect[rectcount+1].pre = &rect[rectcount];
						rect[rectcount+1].g_value = get_g_value(rectcount+1);
					}
				}
			}
		}
	}
	if((rectcount-1)/WIDTH < LENGTH && (rectcount-1)/WIDTH >=0 && (rectcount-1)%WIDTH >= 0 && (rectcount-1)%WIDTH < WIDTH  && rectcount%WIDTH!=0)
	{
		if(rectcount-1 == end)
		{
			rect[rectcount-1].pre = &rect[rectcount];
			return true;
		}
		if( map[(rectcount-1)/WIDTH][(rectcount-1)%WIDTH]!=1)
		{
			if(close_list.Search(rectcount-1) == 0)
			{
				if(open_list.Search(rectcount-1) == 0)
				{
					rect[rectcount-1].pre = &rect[rectcount];
					rect[rectcount-1].h_value = get_h_value(rectcount-1);
					rect[rectcount-1].g_value = get_g_value(rectcount-1);
					open_list.Insert(open_list.Length(),rectcount-1);
				}
				else
				{
					if(rect[rectcount].g_value + 10 < rect[rectcount-1].g_value)
					{
						rect[rectcount-1].pre = &rect[rectcount];
						rect[rectcount-1].g_value = get_g_value(rectcount-1);
					}
				}
			}
		}
	}
	return Find();
}

int Astart::get_h_value(int i)
{
	return ((abs(end/WIDTH - i/WIDTH) + abs(end%WIDTH - i%WIDTH)) * 10);
}

int Astart::get_g_value(int i)
{
	return (rect[i].pre->g_value + 10);
}
void Astart::GetResult()
{
	Rect *p = &rect[end];
	while(p != NULL)
	{
		value_list.Insert(value_list.Length(),*p);
		p = p->pre;
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91高清在线观看| 9191精品国产综合久久久久久| 一区二区高清在线| 日韩欧美一区电影| 色综合久久天天| 精品一区二区三区在线观看 | 精品国产伦一区二区三区观看体验| 成人视屏免费看| 蜜桃视频免费观看一区| 亚洲精品欧美激情| 中文字幕av不卡| 欧美精品一区二区三区蜜桃视频| 欧美日韩免费观看一区二区三区 | 欧美视频在线一区二区三区| 国产精品69久久久久水密桃| 日韩国产一二三区| 一区二区日韩av| 国产精品福利av| 国产欧美精品一区aⅴ影院 | 亚洲第一精品在线| 中文字幕国产一区| 2021久久国产精品不只是精品| 欧美男人的天堂一二区| av亚洲精华国产精华精华| 精品亚洲porn| 麻豆91在线看| 久国产精品韩国三级视频| 亚洲影视资源网| 亚洲自拍都市欧美小说| 亚洲视频一二三区| 中文字幕一区二区三区在线观看| 国产日产精品1区| 国产人久久人人人人爽| 久久欧美中文字幕| 精品av久久707| xfplay精品久久| 精品国产欧美一区二区| www成人在线观看| 久久蜜桃av一区二区天堂| 精品福利一区二区三区免费视频| 日韩欧美一区二区免费| 精品国产区一区| 国产欧美日韩另类一区| 国产精品福利在线播放| 亚洲人成伊人成综合网小说| 中文字幕一区二区三区在线不卡 | 欧美激情一二三区| 中文乱码免费一区二区| 自拍偷拍国产精品| 一区二区三区四区国产精品| 亚洲国产视频一区二区| 亚洲不卡在线观看| 麻豆国产欧美日韩综合精品二区| 韩国午夜理伦三级不卡影院| 国产乱子伦视频一区二区三区 | 欧美午夜精品电影| 欧美三级日韩在线| 欧美一区二区在线看| 精品日韩欧美在线| 中文字幕第一区| 伊人色综合久久天天人手人婷| 一区二区三区国产豹纹内裤在线| 亚洲成人激情自拍| 麻豆成人免费电影| 国v精品久久久网| 欧美性大战久久| 日韩一级精品视频在线观看| 久久久久国产精品麻豆| 亚洲女人****多毛耸耸8| 视频一区二区三区入口| 国产精品一区二区在线看| 91片在线免费观看| 日韩亚洲欧美一区| 国产精品乱人伦一区二区| 亚洲成国产人片在线观看| 精品影视av免费| a在线欧美一区| 69av一区二区三区| 欧美国产成人在线| 婷婷夜色潮精品综合在线| 国产伦精品一区二区三区在线观看| 91欧美一区二区| 欧美本精品男人aⅴ天堂| 国产精品国产三级国产普通话99 | jiyouzz国产精品久久| 欧美日韩一区高清| 国产日本亚洲高清| 日韩高清在线观看| jizzjizzjizz欧美| 日韩无一区二区| 中文一区二区在线观看| 日韩高清不卡一区二区| 成人免费福利片| 日韩欧美区一区二| 亚洲制服丝袜av| 懂色av一区二区三区免费观看| 欧美私人免费视频| 国产精品短视频| 国产一区二区三区在线观看精品| 欧美色男人天堂| 亚洲婷婷国产精品电影人久久| 蜜臂av日日欢夜夜爽一区| 色8久久人人97超碰香蕉987| 26uuu国产一区二区三区| 亚洲在线视频网站| 成人一二三区视频| 欧美电视剧免费观看| 亚洲线精品一区二区三区八戒| 国产suv精品一区二区三区 | 亚洲美女电影在线| 国产成人一区在线| 日韩欧美国产综合在线一区二区三区| 一区二区在线观看免费| 成人免费视频视频在线观看免费 | 韩国精品免费视频| 91精品国产综合久久精品性色| 亚洲女女做受ⅹxx高潮| www.欧美亚洲| 欧美国产一区视频在线观看| 国产综合色精品一区二区三区| 在线播放视频一区| 亚洲成人手机在线| 欧洲一区在线电影| 一区二区三区电影在线播| 色哟哟日韩精品| 亚洲品质自拍视频网站| 91欧美激情一区二区三区成人| 欧美经典一区二区三区| 国产剧情一区在线| 久久综合久久综合亚洲| 九色|91porny| 日韩一区二区三区视频| 奇米影视7777精品一区二区| 欧美日韩国产综合草草| 亚洲成人精品一区| 欧美日韩一本到| 免费在线观看视频一区| 日韩免费观看高清完整版在线观看| 日一区二区三区| 欧美一二三区在线观看| 美日韩黄色大片| 久久理论电影网| 成人激情免费视频| 亚洲色欲色欲www| 色八戒一区二区三区| 亚洲国产精品久久不卡毛片| 欧美二区三区的天堂| 日本欧美加勒比视频| 精品区一区二区| 国产夫妻精品视频| 亚洲欧洲精品一区二区精品久久久| 99国产精品国产精品久久| 一区二区三区在线视频免费| 欧美日韩久久久一区| 久久成人综合网| 国产精品欧美一区喷水| 欧洲亚洲国产日韩| 日本不卡视频一二三区| 精品国产凹凸成av人网站| 国产精品69毛片高清亚洲| 亚洲欧洲国产日本综合| 欧美日韩国产精选| 蜜桃视频一区二区三区在线观看 | 亚洲欧美另类久久久精品2019| 欧美亚洲一区二区在线观看| 日本免费新一区视频| 国产亚洲一区二区三区四区| 一本色道久久综合精品竹菊| 亚洲va韩国va欧美va| 精品欧美久久久| 91啪在线观看| 精品在线免费观看| 欧美国产日韩a欧美在线观看| 色狠狠av一区二区三区| 久久国产日韩欧美精品| 日韩毛片视频在线看| 91精品国产一区二区三区蜜臀| 国产精品自产自拍| 亚洲一本大道在线| 久久久精品黄色| 欧美亚洲综合一区| 国产成人av电影| 日韩电影在线免费观看| 国产天堂亚洲国产碰碰| 欧美日韩在线直播| 国产91在线看| 青青草原综合久久大伊人精品优势| 国产精品麻豆视频| 3d成人动漫网站| 91丨九色丨蝌蚪丨老版| 国产美女精品一区二区三区| 一区二区激情视频| 中文字幕 久热精品 视频在线| 91精品蜜臀在线一区尤物| 99综合影院在线| 狠狠久久亚洲欧美| 亚洲成人福利片| 亚洲同性同志一二三专区| 日韩欧美aaaaaa| 精品视频色一区|