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

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

?? classes.h

?? After decades of war one company, who had gained powerful supplying both sides with weaponary, steps
?? H
字號:
/*Copyright (C) 2003 Parallel RealitiesThis program is free software; you can redistribute it and/ormodify it under the terms of the GNU General Public Licenseas published by the Free Software Foundation; either version 2of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the GNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.*/extern void showErrorAndExit(int errorId, char *name);class Collision {	private:			Collision(){}	public:	static signed char collision(float x0, float y0, int w0, int h0, float x2, float y2, int w1, int h1)	{		float x1 = x0 + w0;		float y1 = y0 + h0;		float x3 = x2 + w1;		float y3 = y2 + h1;		return !(x1<x2 || x3<x0 || y1<y2 || y3<y0);	}	static signed char collision(object *object1, object *object2)	{		float x0 = object1->x;		float y0 = object1->y;		float w0 = object1->image[0]->w;		float h0 = object1->image[0]->h;		float x2 = object2->x;		float y2 = object2->y;		float w1 = object2->image[0]->w;		float h1 = object2->image[0]->h;		float x1 = x0 + w0;		float y1 = y0 + h0;		float x3 = x2 + w1;		float y3 = y2 + h1;		return !(x1<x2 || x3<x0 || y1<y2 || y3<y0);	}	static signed char collision(collectables *object1, object *object2)	{		float x0 = object1->x;		float y0 = object1->y;		float w0 = object1->image->w;		float h0 = object1->image->h;		float x2 = object2->x;		float y2 = object2->y;		float w1 = object2->image[0]->w;		float h1 = object2->image[0]->h;		float x1 = x0 + w0;		float y1 = y0 + h0;		float x3 = x2 + w1;		float y3 = y2 + h1;		return !(x1<x2 || x3<x0 || y1<y2 || y3<y0);	}};class Math {	private:			Math(){}	public:	static void limitChar(signed char *in, int low, int high)	{		if (*in < low)			*in = low;		if (*in > high)			*in = high;	}	static void limitChar(unsigned char *in, int low, int high)	{		if (*in < low)			*in = low;		if (*in > high)			*in = high;	}	static void limitInt(int *in, int low, int high)	{		if (*in < low)			*in = low;		if (*in > high)			*in = high;	}	static void limitFloat(float *in, float low, float high)	{		if (*in < low)			*in = low;		if (*in > high)			*in = high;	}	static void wrapChar(signed char *in, signed char low, signed char high)	{		if (*in < low)			*in = high;		if (*in > high)			*in = low;	}	static void wrapInt(int *in, int low, int high)	{		if (*in < low)			*in = high;		if (*in > high)			*in = low;	}	static void wrapFloat(float *in, float low, float high)	{		if (*in < low)			*in = high;		if (*in > high)			*in = low;	}	static int rrand(int min, int max)	{		int r = min;		max++;		if ((max - min) == 0)			return min;		r += rand() % (max - min);		return r;	}};class Graphics {	public:		Uint32 red;		Uint32 darkRed;		Uint32 yellow;		Uint32 darkYellow;		Uint32 green;		Uint32 darkGreen;		Uint32 blue;		Uint32 darkBlue;		Uint32 darkerBlue;		Uint32 black;		Uint32 white;		Uint32 lightGrey;		Uint32 darkGrey;		SDL_Surface *screen, *background;		SDL_Surface *shape[MAX_SHAPES];		SDL_Surface *shipShape[MAX_SHIPSHAPES];		SDL_Surface *fontShape[MAX_FONTSHAPES];		SDL_Surface *shopSurface[MAX_SHOPSHAPES];		bRect *bufferHead;		bRect *bufferTail;		textObject textShape[MAX_TEXTSHAPES];		SDL_Rect blitRect;		SDL_Surface *messageBox;	Graphics()	{		bufferHead = new bRect;		bufferHead->next = NULL;		bufferTail = bufferHead;		for (int i = 0 ; i < MAX_SHAPES ; i++)			shape[i] = NULL;		for (int i = 0 ; i < MAX_SHIPSHAPES ; i++)			shipShape[i] = NULL;		for (int i = 0 ; i < MAX_TEXTSHAPES ; i++)			textShape[i].image = NULL;		for (int i = 0 ; i < MAX_SHOPSHAPES ; i++)			shopSurface[i] = NULL;		background = NULL;		messageBox = NULL;	}	SDL_Surface *setTransparent(SDL_Surface *sprite)	{		SDL_SetColorKey(sprite, (SDL_SRCCOLORKEY|SDL_RLEACCEL), SDL_MapRGB(sprite->format, 0, 0, 0));		return sprite;	}	void addBuffer(int x, int y, int w, int h)	{		bRect *rect = new bRect;		rect->next = NULL;		rect->x = x;		rect->y = y;		rect->w = w;		rect->h = h;		bufferTail->next = rect;		bufferTail = rect;	}	void blit(SDL_Surface *image, int x, int y, SDL_Surface *dest)	{		// Set up a rectangle to draw to		blitRect.x = x;		blitRect.y = y;		blitRect.w = image->w;		blitRect.h = image->h;		/* Blit onto the screen surface */		if(SDL_BlitSurface(image, NULL, dest, &blitRect) < 0)		{			printf("BlitSurface error: %s\n", SDL_GetError());			showErrorAndExit(2, "");		}		addBuffer(blitRect.x, blitRect.y, blitRect.w, blitRect.h);	}	void blit(SDL_Surface *image, int x, int y)	{		blit(image, x, y, screen);	}	void blitText(int i)	{		blit(textShape[i].image, (int)textShape[i].x, (int)textShape[i].y, screen);	}	void flushBuffer()	{		bRect *prevRect = bufferHead;		bRect *rect = bufferHead;		bufferTail = bufferHead;		while (rect->next != NULL)		{			rect = rect->next;			prevRect->next = rect->next;			delete rect;			rect = prevRect;		}		bufferHead->next = NULL;	}	void unBuffer()	{		bRect *prevRect = bufferHead;		bRect *rect = bufferHead;		bufferTail = bufferHead;		while (rect->next != NULL)		{			rect = rect->next;			blitRect.x = rect->x;			blitRect.y = rect->y;			blitRect.w = rect->w;			blitRect.h = rect->h;			if (SDL_BlitSurface(background, &blitRect, screen, &blitRect) < 0)			{				printf("BlitSurface error: %s\n", SDL_GetError());				showErrorAndExit(2, "");			}			prevRect->next = rect->next;			delete rect;			rect = prevRect;		}		bufferHead->next = NULL;	}	/*	In 16 bit mode this is slow. VERY slow. Don't write directly to a surface	that constantly needs updating (eg - the main game screen)	*/	int renderString(char *in, int x, int y, int fontColor, signed char wrap, SDL_Surface *dest)	{		SDL_Rect area;		area.x = x;		area.y = y;		area.w = 8;		area.h = 14;		SDL_Rect letter;		letter.y = 0;		letter.w = 8;		letter.h = 14;		while (*in != '\0')		{			if (*in != 32)			{				letter.x = (*in - 33);				letter.x *= 8;				letter.x--; // Temp fix				/* Blit onto the screen surface */				 if(SDL_BlitSurface(fontShape[fontColor], &letter, dest, &area) < 0)				 {				 	printf("BlitSurface error: %s\n", SDL_GetError());				 	showErrorAndExit(2, "");				 }			}			area.x += 9;			if (wrap)			{				if ((area.x > (dest->w - 70)) && (*in == 32))				{					area.y += 16;					area.x = x;				}			}			*in++;		}		return area.y;	}	int drawString(char *in, int x, int y, int fontColor, signed char wrap, SDL_Surface *dest)	{		renderString(in, x, y - 1, FONT_OUTLINE, wrap, dest);		renderString(in, x, y + 1, FONT_OUTLINE, wrap, dest);		renderString(in, x, y + 2, FONT_OUTLINE, wrap, dest);		renderString(in, x - 1, y, FONT_OUTLINE, wrap, dest);		renderString(in, x - 2, y, FONT_OUTLINE, wrap, dest);		renderString(in, x + 1, y, FONT_OUTLINE, wrap, dest);		return renderString(in, x, y, fontColor, wrap, dest);	}	int drawString(char *in, int x, int y, int fontColor, SDL_Surface *dest)	{		if (x == -1)			x = (dest->w - (strlen(in) * 9)) / 2;		return drawString(in, x, y, fontColor, 0, dest);	}	int drawString(char *in, int x, int y, int fontColor)	{		if (x == -1)			x = (800 - (strlen(in) * 9)) / 2;		return drawString(in, x, y, fontColor, 0, screen);	}	/*	Finds the location of the requested color within the palette and returns	it's number. This colors are used for drawing rectangles, circle, etc in	the correct colors.	*/	void setColorIndexes()	{		red = SDL_MapRGB(screen->format, 0xff, 0x00, 0x00);		darkRed = SDL_MapRGB(screen->format, 0x66, 0x00, 0x00);		yellow = SDL_MapRGB(screen->format, 0xff, 0xff, 0x00);		darkYellow = SDL_MapRGB(screen->format, 0x66, 0x66, 0x00);		green = SDL_MapRGB(screen->format, 0x00, 0xff, 0x00);		darkGreen = SDL_MapRGB(screen->format, 0x00, 0x66, 0x00);		blue = SDL_MapRGB(screen->format, 0x00, 0x00, 0xff);		darkBlue = SDL_MapRGB(screen->format, 0x00, 0x00, 0x99);		darkerBlue = SDL_MapRGB(screen->format, 0x00, 0x00, 0x44);		black = SDL_MapRGB(screen->format, 0x00, 0x00, 0x00);		white = SDL_MapRGB(screen->format, 0xff, 0xff, 0xff);		lightGrey = SDL_MapRGB(screen->format, 0xcc, 0xcc, 0xcc);		darkGrey = SDL_MapRGB(screen->format, 0x99, 0x99, 0x99);	}	/*	Draws the background surface that has been loaded	*/	void drawBackGround()	{		blit(background, 0, 0, screen);	}	void clearScreen(Uint32 color)	{		SDL_FillRect(screen, NULL, color);	}	void updateScreen()	{		SDL_Flip(screen);		// Give the audio (and possibly the X server) time to work...		SDL_Delay(1);	}	/*	 * Set the pixel at (x, y) to the given value	 * NOTE: The surface must be locked before calling this!	 */	void putpixel(SDL_Surface *surface, int x, int y, Uint32 pixel)	{		 int bpp = surface->format->BytesPerPixel;		 /* Here p is the address to the pixel we want to set */		 Uint8 *p = (Uint8 *)surface->pixels + y * surface->pitch + x * bpp;		 switch(bpp) {		 case 1:			  *p = pixel;			  break;		 case 2:			  *(Uint16 *)p = pixel;			  break;		 case 3:			  if(SDL_BYTEORDER == SDL_BIG_ENDIAN) {					p[0] = (pixel >> 16) & 0xff;					p[1] = (pixel >> 8) & 0xff;					p[2] = pixel & 0xff;			  } else {					p[0] = pixel & 0xff;					p[1] = (pixel >> 8) & 0xff;					p[2] = (pixel >> 16) & 0xff;			  }			  break;		 case 4:			  *(Uint32 *)p = pixel;			  break;		 }	}	void drawLine(SDL_Surface *dest, int x1, int y1, int x2, int y2, int col)	{		int counter = 0;		if ( SDL_MUSTLOCK(dest) ) {			if ( SDL_LockSurface(dest) < 0 ) {				printf("Can't lock screen: %s\n", SDL_GetError());				showErrorAndExit(2, "");			}		}		while(1)		{			putpixel(dest, x1, y1, col);			if (x1 > x2) x1--;			if (x1 < x2) x1++;			if (y1 > y2) y1--;			if (y1 < y2) y1++;			if ((x1 == x2) && (y1 == y2))				{break;}			if (counter == 1000)				{printf("Loop Error!\n"); break;}			counter++;		}		if ( SDL_MUSTLOCK(dest) ) {			SDL_UnlockSurface(dest);		}	}	void drawLine(int x1, int y1, int x2, int y2, int col)	{		drawLine(screen, x1, y1, x2, y2, col);	}	/*	A quick(?) circle draw function. This code was posted to the SDL	mailing list... I didn't write it myself.	*/	void circle(int xc, int yc, int R, SDL_Surface *PIX, int col)	{		int x = 0, xx = 0;		int y = R, yy = R+R;		int p = 1-R;		putpixel(PIX, xc, yc - y, col);		putpixel(PIX, xc, yc + y, col);		putpixel(PIX, xc - y, yc, col);		putpixel(PIX, xc + y, yc, col);		while(x < y)		{			xx += 2;			++x;			if (p >= 0)			{				yy -= 2;				--y;				p -= yy;			}			p += xx + 1;			putpixel(PIX, xc - x, yc - y, col);			putpixel(PIX, xc + x, yc - y, col);			putpixel(PIX, xc - x, yc + y, col);			putpixel(PIX, xc + x, yc + y, col);			putpixel(PIX, xc - y, yc - x, col);			putpixel(PIX, xc + y, yc - x, col);			putpixel(PIX, xc - y, yc + x, col);			putpixel(PIX, xc + y, yc + x, col);		}		if ((x = y))		{			putpixel(PIX, xc - x, yc - y, col);			putpixel(PIX, xc + x, yc - y, col);			putpixel(PIX, xc - x, yc + y, col);			putpixel(PIX, xc + x, yc + y, col);		}	}	void blevelRect(SDL_Surface *dest, int x, int y, int w, int h, Uint8 red, Uint8 green, Uint8 blue)	{		SDL_Rect r = {x, y, w, h};		SDL_FillRect(dest, &r, SDL_MapRGB(screen->format, red, green, blue));		drawLine(dest, x, y, x + w, y, SDL_MapRGB(screen->format, 255, 255, 255));		drawLine(dest, x, y, x, y + h, SDL_MapRGB(screen->format, 255, 255, 255));		drawLine(dest, x, y + h, x + w, y + h, SDL_MapRGB(screen->format, 128, 128, 128));		drawLine(dest, x + w, y + 1, x + w, y + h, SDL_MapRGB(screen->format, 128, 128, 128));	}	void blevelRect(int x, int y, int w, int h, Uint8 red, Uint8 green, Uint8 blue)	{		blevelRect(screen, x, y, w, h, red, green, blue);	}	SDL_Surface *createSurface(int width, int height)	{		SDL_Surface *surface, *newImage;		Uint32 rmask, gmask, bmask, amask;		/* SDL interprets each pixel as a 32-bit number, so our masks must depend		on the endianness (byte order) of the machine */		#if (SDL_BYTEORDER == SDL_BIG_ENDIAN)			rmask = 0xff000000;			gmask = 0x00ff0000;			bmask = 0x0000ff00;			amask = 0x000000ff;		#else			rmask = 0x000000ff;			gmask = 0x0000ff00;			bmask = 0x00ff0000;			amask = 0xff000000;		#endif		surface = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 32, rmask, gmask, bmask, amask);		if (surface == NULL) {			printf("CreateRGBSurface failed: %s\n", SDL_GetError());			showErrorAndExit(2, "");		}		newImage = SDL_DisplayFormat(surface);		SDL_FreeSurface(surface);		return newImage;	}	SDL_Surface *textSurface(char *inString, int color)	{		SDL_Surface *surface = createSurface(strlen(inString) * 9, 16);		drawString(inString, 1, 1, color, surface);		return setTransparent(surface);	}	void textSurface(int index, char *inString, int x, int y, int fontColor)	{		strcpy(textShape[index].text, inString);		textShape[index].x = x;		textShape[index].y = y;		textShape[index].fontColor = fontColor;		if (textShape[index].image != NULL)		{			SDL_FreeSurface(textShape[index].image);		}		textShape[index].image = textSurface(inString, fontColor);		if (x == -1)			textShape[index].x = (800 - textShape[index].image->w) / 2;	}	SDL_Surface *alphaRect(int width, int height, Uint8 red, Uint8 green, Uint8 blue)	{		SDL_Surface *surface = createSurface(width, height);		SDL_FillRect(surface, NULL, SDL_MapRGB(surface->format, red, green, blue));		SDL_SetAlpha(surface, SDL_SRCALPHA|SDL_RLEACCEL, 128);		return surface;	}	void createMessageBox(SDL_Surface *face, char *message, signed char transparent)	{		if (messageBox != NULL)		{			SDL_FreeSurface(messageBox);			messageBox = NULL;		}		if (transparent)			messageBox = alphaRect(550, 60, 0x00, 0x00, 0x00);		else			messageBox = createSurface(550, 60);		signed char x = 60;		if (face != NULL)		{			blevelRect(messageBox, 0, 0, messageBox->w - 1, messageBox->h - 1, 0x00, 0x00, 0xaa);			blit(face, 5, 5, messageBox);		}		else		{			blevelRect(messageBox, 0, 0, messageBox->w - 1, messageBox->h - 1, 0x00, 0x00, 0x00);			x = 10;		}		drawString(message, x, 5, FONT_WHITE, 1, messageBox);	}	void freeGraphics()	{		for (int i = 0 ; i < MAX_SHAPES ; i++)		{			if (shape[i] != NULL)			{				SDL_FreeSurface(shape[i]);				shape[i] = NULL;			}		}		for (int i = 0 ; i < MAX_SHIPSHAPES ; i++)		{			if (shipShape[i] != NULL)			{				SDL_FreeSurface(shipShape[i]);				shipShape[i] = NULL;			}		}		for (int i = 0 ; i < MAX_TEXTSHAPES ; i++)		{			if (textShape[i].image != NULL)			{				SDL_FreeSurface(textShape[i].image);				textShape[i].image = NULL;			}		}		for (int i = 0 ; i < MAX_SHOPSHAPES ; i++)		{			if (shopSurface[i] != NULL)			{				SDL_FreeSurface(shopSurface[i]);				shopSurface[i] = NULL;			}		}		if (messageBox != NULL)		{			SDL_FreeSurface(messageBox);			messageBox = NULL;		}	}};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区二区三区四区| 中文字幕亚洲综合久久菠萝蜜| 亚洲人亚洲人成电影网站色| 大陆成人av片| 中文字幕精品一区| 99久久久国产精品| 亚洲国产一二三| 91精品国产入口在线| 久久99久久久欧美国产| 国产视频一区二区三区在线观看| 国产传媒久久文化传媒| 国产精品美女久久久久久| 99久久国产综合精品色伊| 亚洲国产一二三| 欧美xxxxxxxx| 99久久精品国产导航| 洋洋av久久久久久久一区| 欧美一区二区国产| 大胆欧美人体老妇| 亚洲一级电影视频| 久久婷婷久久一区二区三区| 成人一区二区在线观看| 亚洲免费大片在线观看| 日韩欧美成人一区二区| av在线这里只有精品| 亚洲高清视频的网址| 久久综合国产精品| 日本韩国欧美一区| 国产中文字幕精品| 一区二区三区不卡视频在线观看| 欧美一区二区三区在线| 成人av电影在线播放| 亚洲国产精品久久人人爱| wwwwww.欧美系列| 色综合久久88色综合天天| 久久精品72免费观看| 亚洲女爱视频在线| 精品久久久久久久人人人人传媒| 99re免费视频精品全部| 久久99国产精品免费网站| 亚洲日本韩国一区| 久久精品网站免费观看| 欧美日韩精品电影| 成人网在线播放| 美女视频黄频大全不卡视频在线播放 | 成人美女视频在线看| 午夜精品在线看| 中文在线一区二区| 欧美xxxx在线观看| 欧美色涩在线第一页| 99综合电影在线视频| 久久电影国产免费久久电影| 亚洲一级片在线观看| 成人免费一区二区三区在线观看| 欧美第一区第二区| 制服.丝袜.亚洲.中文.综合 | 成人av先锋影音| 极品瑜伽女神91| 日本美女一区二区三区| 亚洲网友自拍偷拍| 亚洲欧美成人一区二区三区| 国产视频不卡一区| 久久蜜臀精品av| 欧美成人伊人久久综合网| 欧美丰满高潮xxxx喷水动漫| 色欧美乱欧美15图片| 99国产精品视频免费观看| 成人永久免费视频| 国产成人精品免费网站| 国产精品一区二区在线观看不卡| 日韩国产欧美三级| 日本特黄久久久高潮| 丝袜亚洲精品中文字幕一区| 亚洲一区二区三区中文字幕在线| 中文字幕在线一区免费| 日本一区二区高清| 中文久久乱码一区二区| 中文字幕免费不卡| 欧美国产精品中文字幕| 国产精品久久久久婷婷| 国产精品欧美一区喷水| 国产精品女同互慰在线看| 国产三区在线成人av| 欧美国产一区视频在线观看| 国产精品妹子av| 亚洲欧美一区二区不卡| 一区二区三区在线免费视频| 亚洲综合偷拍欧美一区色| 一级中文字幕一区二区| 亚洲无人区一区| 日韩国产精品91| 久久99精品国产| 国产91在线看| 97精品久久久久中文字幕| 欧洲亚洲国产日韩| 91麻豆精品国产91久久久| 日韩一区二区免费在线观看| 精品国产乱码久久久久久夜甘婷婷 | 欧美日韩国产电影| 日韩一区二区三区电影在线观看| 日韩欧美三级在线| 国产蜜臀av在线一区二区三区 | 亚洲欧美激情在线| 亚洲一卡二卡三卡四卡| 日韩精品亚洲专区| 国产成人精品一区二| 91免费观看在线| 91精品国产福利在线观看| 精品国产乱码久久久久久1区2区| 久久久av毛片精品| 一区二区三区在线视频观看| 日韩不卡免费视频| 成人avav在线| 欧美精品久久一区| 欧美国产精品一区| 日韩不卡手机在线v区| 东方欧美亚洲色图在线| 欧美色电影在线| 国产清纯在线一区二区www| 亚洲品质自拍视频| 国内精品久久久久影院薰衣草| 成人精品一区二区三区中文字幕| 欧美图片一区二区三区| 国产人久久人人人人爽| 亚洲va中文字幕| 风间由美性色一区二区三区| 欧美日韩精品三区| 国产精品国产自产拍高清av王其| 天堂va蜜桃一区二区三区 | 日韩小视频在线观看专区| 国产精品国产精品国产专区不蜜| 婷婷综合另类小说色区| 不卡的av电影在线观看| 日韩亚洲欧美一区二区三区| 亚洲精品一卡二卡| 国产成人aaa| 日韩欧美成人激情| 亚洲自拍另类综合| 99久久婷婷国产| 久久综合一区二区| 日韩1区2区日韩1区2区| 91视频你懂的| 国产精品网曝门| 韩国一区二区在线观看| 69成人精品免费视频| 亚洲黄色免费网站| 99久久国产综合精品麻豆| 欧美精品一区二| 九九国产精品视频| 7777精品伊人久久久大香线蕉经典版下载 | 欧美精品一区二区蜜臀亚洲| 亚洲国产精品一区二区久久| 97久久久精品综合88久久| 国产午夜精品久久久久久免费视| 麻豆精品一区二区综合av| 欧美电影一区二区| 五月综合激情婷婷六月色窝| 色悠悠久久综合| 中文字幕一区在线观看视频| 国产成人aaa| 国产精品你懂的| 成人av网站在线| 亚洲天堂精品在线观看| 99久久免费精品高清特色大片| 国产欧美日韩亚州综合 | 欧美一级片在线看| 日韩中文字幕1| 欧美一区二区三区四区久久| 肉丝袜脚交视频一区二区| 欧美日韩综合在线免费观看| 亚洲一区二区三区自拍| 欧美日韩一区高清| 亚洲第一久久影院| 欧美日韩极品在线观看一区| 视频一区视频二区中文字幕| 91精品国产一区二区三区香蕉| 亚洲成人免费在线观看| 在线不卡中文字幕播放| 日韩va欧美va亚洲va久久| 欧美一卡2卡3卡4卡| 激情综合色综合久久| 久久综合成人精品亚洲另类欧美| 国产一区二区视频在线| 国产日韩成人精品| eeuss影院一区二区三区| 亚洲免费av高清| 91麻豆精品国产91| 国产一区二区三区在线看麻豆 | 中文字幕在线不卡一区| 色综合久久中文综合久久牛| 一区二区三区视频在线看| 欧美挠脚心视频网站| 久久国产视频网| 国产精品久久久久影院亚瑟| 日本韩国精品在线| 麻豆精品久久久| 国产精品乱人伦| 欧美精品色综合| 国产精品一区二区久激情瑜伽| 国产精品久久三|