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

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

?? graphic.cpp

?? A*尋路算法, 源代碼中使用的SDL庫
?? CPP
字號:
#include "graphic.h"//this function draws a pixel of wanted color on a surface at (x,y) coordinatevoid draw_pixel(SDL_Surface *surface, int x, int y, SDL_Color s_color){	//SDL_MapRGB return a color map depending on bpp (definition)	Uint32 color = SDL_MapRGB(surface->format, s_color.r, s_color.g, s_color.b);	//byte per pixel	int bpp = surface->format->BytesPerPixel;	//the selected pixel 	Uint8 *pixel = (Uint8 *)surface->pixels + y * surface->pitch + x * bpp;	//here is checked the number of byte used by our surface	switch (bpp)	{		case 1: // 1 byte =>  8-bpp			*pixel = color;		        break;	        case 2: // 2 byte => 16-bpp      			*(Uint16 *)pixel = color;			break;    		case 3: // 3 byte => 24-bpp			if(SDL_BYTEORDER == SDL_BIG_ENDIAN) 			{				pixel[0] = (color >> 16) & 0xff;			        pixel[1] = (color >> 8) & 0xff;				pixel[2] = color & 0xff;			} 			else 			{			        pixel[0] = color & 0xff;				pixel[1] = (color >> 8) & 0xff;				pixel[2] = (color >> 16) & 0xff;			}	      		break;    		case 4: // 4 byte => 32-bpp			*(Uint32 *)pixel = color;      			break;  	}}//this function draws a line of wanted color on a surface from p0 point to p1 pointvoid draw_line(SDL_Surface *surface,point p0, point p1, SDL_Color color){	int i;	int comp;	int d_a,d_b;	int a,b;	int inc;	//the surface is locked	if ( SDL_MUSTLOCK(surface) )		SDL_LockSurface(surface);	//just one point	if(p0.x==p1.x && p0.y==p1.y)		  draw_pixel(surface,p0.x,p0.y,color);	//the line is drawn along horizontal direction	else if(abs(p1.x-p0.x)>=abs(p1.y-p0.y))	{		d_a=p1.x-p0.x;		d_b=p1.y-p0.y;		a=p0.x;		b=p1.x;				//from left to right 		if(p0.x<p1.x)			inc=1;		//from right to left		else			inc=-1;		//this draws also the last pixel		b+=inc;		for(i=a;i!=b;i=i+inc)		{			//y is calculated			comp=(d_b*(i-a))/(d_a)+p0.y;				//calculated pixel is drawn		  	draw_pixel(surface,i,comp,color);		}	}	//the line is drawn along vertical direction	else	{		d_a=p1.y-p0.y;		d_b=p1.x-p0.x;		a=p0.y;		b=p1.y;				//from down to up 		if(p0.y<p1.y)			inc=1;		//from up to down		else			inc=-1;		//this draws also the last pixel		b+=inc;				for(i=a;i!=b;i=i+inc)		{			//x is calculated			comp=(d_b*(i-a))/(d_a)+p0.x;				//calculated pixel is drawn		       	draw_pixel(surface,comp,i,color);		}	}	//the surface is unlocked	if ( SDL_MUSTLOCK(surface) )       		SDL_UnlockSurface(surface);}//this function draws a square of wanted color on a surface having side lenght, //p is the upper left vertex of the square void draw_square(SDL_Surface *surface, point p, int lenght, SDL_Color color){	point temp;	//up side 	if(p.x+lenght<DIM_H)		temp.x=p.x+lenght;	else		temp.x=DIM_H-1;	temp.y=p.y;	draw_line(surface,p,temp,color);		//left side	temp.x=p.x;	if(p.y+lenght<DIM_V)		temp.y=p.y+lenght;	else		temp.y=DIM_V-1;	draw_line(surface,p,temp,color);		//down side 	if(p.y+lenght<DIM_V)		p.y+=lenght;	else		p.y=DIM_V-1;	if(p.x+lenght<DIM_H)		temp.x=p.x+lenght;	else		temp.x=DIM_H-1;	temp.y=p.y;	draw_line(surface,p,temp,color);		//right side	if(p.x+lenght<DIM_H)		p.x+=lenght;	else		p.x=DIM_H-1;	temp.x=p.x;	temp.y=p.y-lenght;	draw_line(surface,p,temp,color);}//this function uses previous draw_square to draw a square of border_color color and then//fill it with fill_color using fill_square functionvoid draw_square(SDL_Surface *surface, SDL_Rect *rect , SDL_Color border_color, SDL_Color fill_color){	SDL_Rect fill_rect = {rect->x + 1,rect->y + 1,rect->w - 1,rect->h - 1};	point r = {rect->x,rect->y};	draw_square(surface,r,rect->w,border_color);	fill_square(surface, &fill_rect, fill_color);}//this function fills a rectangle area with fill_colorvoid fill_square(SDL_Surface *surface, SDL_Rect *rect, SDL_Color fill_color){	//SDL_MapRGB return a color map depending on bpp (definition)	Uint32 color = SDL_MapRGB(surface->format, fill_color.r, fill_color.g, fill_color.b);		SDL_FillRect(surface, rect, color);}//this function colours all cells of a path using different color for the first and the last onevoid colour_path(cell_ind path[], int num_cells, SDL_Surface *surface, SDL_Color border_color, SDL_Color fill_color){	int i; 	SDL_Rect cell;	SDL_Color start = {0xFF, 0xFF, 0x00,0};	SDL_Color end = {0xFF, 0x00, 0xFF,0};	//colour first cell of yellow	cell.y = (path[0].row * CELL_SIDE) + GRIND_Y;	cell.x = (path[0].col * CELL_SIDE) + GRIND_X;	cell.w = CELL_SIDE;	cell.h = CELL_SIDE;	draw_square(surface, &cell , border_color, start);	//colour all others cells but last	for(i = 1; i < num_cells-1; i++)	{		cell.y = (path[i].row * CELL_SIDE) + GRIND_Y;		cell.x = (path[i].col * CELL_SIDE) + GRIND_X;		cell.w = CELL_SIDE;		cell.h = CELL_SIDE;		draw_square(surface, &cell , border_color, fill_color);	}	//colour last cell of fuchsia	cell.y = (path[i].row * CELL_SIDE) + GRIND_Y;	cell.x = (path[i].col * CELL_SIDE) + GRIND_X;	cell.w = CELL_SIDE;	cell.h = CELL_SIDE;	draw_square(surface, &cell , border_color, end);}//this function is used to colour all cells of a path with the same colorvoid decolour_path(cell_ind path[], int num_cells, SDL_Surface *surface, SDL_Color border_color, SDL_Color fill_color){	int i; 	SDL_Rect cell;	for(i = 0; i < num_cells; i++)	{		cell.y = (path[i].row * CELL_SIDE) + GRIND_Y;		cell.x = (path[i].col * CELL_SIDE) + GRIND_X;		cell.w = CELL_SIDE;		cell.h = CELL_SIDE;		draw_square(surface, &cell , border_color, fill_color);	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国模大尺度一区二区三区| 亚洲精品国产视频| 久久激五月天综合精品| 在线成人av影院| 免费看欧美女人艹b| 久久亚区不卡日本| 高清av一区二区| 亚洲伦在线观看| 欧美日本一区二区三区| 麻豆91小视频| 欧美极品另类videosde| 91国偷自产一区二区三区成为亚洲经典| 综合久久给合久久狠狠狠97色| 色又黄又爽网站www久久| 亚洲chinese男男1069| 日韩限制级电影在线观看| 国产原创一区二区三区| 综合久久一区二区三区| 欧美精品tushy高清| 国产精品一二三在| 亚洲青青青在线视频| 欧美日韩国产一级| 日韩电影免费一区| 国产午夜一区二区三区| 在线观看日韩精品| 精品一区二区三区久久久| 国产精品视频第一区| 欧美精品乱人伦久久久久久| 国产一区二区在线视频| 亚洲裸体在线观看| 精品不卡在线视频| 色菇凉天天综合网| 老汉av免费一区二区三区| 中文字幕亚洲一区二区va在线| 欧美日韩一区不卡| 福利电影一区二区三区| 亚洲大片在线观看| 国产精品美日韩| 欧美精品成人一区二区三区四区| 东方aⅴ免费观看久久av| 亚洲午夜视频在线| 国产精品久线观看视频| 5858s免费视频成人| av电影在线观看完整版一区二区| 美腿丝袜亚洲一区| 亚洲妇熟xx妇色黄| 国产精品拍天天在线| 日韩一区二区电影网| 色婷婷激情综合| 国产精品资源网站| 日韩电影免费在线| 亚洲一区在线播放| 亚洲美女视频在线| 国产精品日日摸夜夜摸av| 91精品国产综合久久婷婷香蕉| 色天天综合色天天久久| 国产98色在线|日韩| 韩国v欧美v日本v亚洲v| 蜜桃久久精品一区二区| 亚州成人在线电影| 亚洲午夜一区二区三区| 亚洲老妇xxxxxx| 久久亚洲一区二区三区明星换脸| 91超碰这里只有精品国产| 色婷婷久久久久swag精品| 99精品视频在线免费观看| 国产成人在线色| 国产乱人伦偷精品视频不卡| 日韩黄色免费网站| 五月婷婷欧美视频| 天天av天天翘天天综合网 | 精品精品欲导航| 欧美日韩国产在线播放网站| 欧美在线视频全部完| 色先锋久久av资源部| av电影在线观看完整版一区二区| 成人精品小蝌蚪| 成人一区二区视频| 高潮精品一区videoshd| 成人精品视频一区二区三区| 国产成人99久久亚洲综合精品| 国产美女视频91| 国产精品2024| 成人午夜视频在线| www.爱久久.com| caoporm超碰国产精品| 成人午夜看片网址| 欧美一二三四在线| 欧美不卡视频一区| 国产日韩欧美制服另类| 国产精品国产成人国产三级| 亚洲同性gay激情无套| 一区二区三区在线播| 亚洲福利视频一区| 蜜臀久久99精品久久久久久9| 美日韩一区二区| 国v精品久久久网| 91蝌蚪porny九色| 欧美美女bb生活片| 精品国产三级电影在线观看| 2020国产成人综合网| 国产精品女同一区二区三区| 亚洲精品国产精华液| 婷婷中文字幕一区三区| 精品一区在线看| www.av精品| 欧美一级黄色片| 欧美激情一区三区| 亚洲综合小说图片| 精品无人码麻豆乱码1区2区 | 视频一区二区欧美| 久国产精品韩国三级视频| 成人激情黄色小说| 欧美视频一区二区三区| 日韩欧美自拍偷拍| 国产精品成人免费| 天天射综合影视| av一区二区三区在线| 欧美一区二区在线播放| 国产人伦精品一区二区| 亚洲午夜免费电影| 国产成人一级电影| 欧美精品丝袜中出| 国产精品伦一区二区三级视频| 无码av免费一区二区三区试看| 国产成人精品免费在线| 欧美日韩国产综合久久| 中文字幕不卡在线| 免费成人在线网站| 欧洲av在线精品| 中文在线免费一区三区高中清不卡| 亚洲影视在线观看| 成人午夜在线播放| 久久综合色8888| 三级欧美在线一区| 91美女在线观看| 久久综合九色欧美综合狠狠| 亚洲一区自拍偷拍| 成人午夜av电影| 26uuu国产电影一区二区| 性做久久久久久免费观看欧美| 91一区二区在线观看| 国产视频在线观看一区二区三区| 日韩精品视频网站| 91论坛在线播放| 国产视频911| 激情小说欧美图片| 91精品在线免费| 亚洲国产视频直播| 欧美亚洲日本国产| 亚洲免费在线视频| 成人av在线播放网址| 欧美精品一区二区三区视频| 美洲天堂一区二卡三卡四卡视频| 欧美日韩在线播放| 亚洲电影一级片| 91国产丝袜在线播放| 亚洲视频在线一区二区| 成人精品国产一区二区4080| 久久久不卡网国产精品一区| 麻豆久久久久久| 欧美大尺度电影在线| 日韩va欧美va亚洲va久久| 欧美日韩精品二区第二页| 亚洲一区二区三区视频在线播放| 一本久久精品一区二区| 亚洲欧美电影院| 日本精品视频一区二区三区| 亚洲精品一二三区| 欧美主播一区二区三区美女| 一区二区三区四区在线免费观看| 一本一道久久a久久精品| 亚洲精品成人悠悠色影视| 91国产精品成人| 亚洲www啪成人一区二区麻豆| 制服丝袜日韩国产| 久久99国产精品尤物| 欧美精品一区二区三区久久久| 国内外精品视频| 国产精品青草久久| 在线这里只有精品| 肉肉av福利一精品导航| 日韩欧美黄色影院| 国产成人av影院| 中文字幕一区二区三区乱码在线| 色呦呦国产精品| 五月婷婷久久综合| 精品国产一区久久| 成人午夜视频福利| 亚洲一区电影777| 欧美一区二区三区在线观看| 国产精品中文字幕欧美| 国产精品国产三级国产| 色老汉一区二区三区| 免费看精品久久片| 欧美激情一区不卡| 欧美亚洲动漫精品| 精品制服美女久久| 亚洲女同ⅹxx女同tv| 欧美精品1区2区3区|