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

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

?? singlesnake.c

?? a efi snake game
?? C
字號:
#include "efi.h"
#include "efilib.h"
#include"she.h"
#include "Bmp\Bmp.h"
#include "Hii\Hii.h"
#include"ConsoleControl\ConsoleControl.h"
#define Out  ST->ConOut
#define In   ST->ConIn
#define SCAN_CODE_UP    0x01
#define SCAN_CODE_DOWN  0x02
#define SCAN_CODE_RIGHT 0x03
#define SCAN_CODE_LEFT  0x04
#define SCAN_CODE_ESC   0x17
#define N 200

//EFI_GUID  gEfiHiiProtocolGuid = EFI_HII_PROTOCOL_GUID;
EFI_GUID  gEfiUgaDrawProtocolGuid = EFI_UGA_DRAW_PROTOCOL_GUID;
EFI_GUID gEfiConsoleControlProtocolGuid = EFI_CONSOLE_CONTROL_PROTOCOL_GUID;
EFI_UGA_DRAW_PROTOCOL                 *UgaDraw;
EFI_CONSOLE_CONTROL_PROTOCOL          *ConsoleControl;
EFI_HII_PROTOCOL                      *mHii; 
static EFI_UGA_PIXEL        EfiColors[16] = {

  0x00, 0x00, 0x00, 0x00,  // BLACK
  0x98, 0x00, 0x00, 0x00,  // BLUE
  0x00, 0x98, 0x00, 0x00,  // GREEN
  0x98, 0x98, 0x00, 0x00,  // CYAN
  0x00, 0x00, 0x98, 0x00,  // RED
  0x98, 0x00, 0x98, 0x00,  // MAGENTA
  0x00, 0x98, 0x98, 0x00,  // BROWN
  0x98, 0x98, 0x98, 0x00,  // LIGHTGRAY
  0x30, 0x30, 0x30, 0x00,  // DARKGRAY - BRIGHT BLACK
  0xff, 0x00, 0x00, 0x00,  // LIGHTBLUE - ?
  0x00, 0xff, 0x00, 0x00,  // LIGHTGREEN - ?
  0xff, 0xff, 0x00, 0x00,  // LIGHTCYAN
  0x00, 0x00, 0xff, 0x00,  // LIGHTRED
  0xff, 0x00, 0xff, 0x00,  // LIGHTMAGENTA
  0x00, 0xff, 0xff, 0x00,  // LIGHTBROWN
  0xff, 0xff, 0xff, 0x00,  // WHITE
};


UINTN Node;
EFI_INPUT_KEY Key;
UINTN Score=0;
UINT8 Barrier=1;
UINTN Gamespeed=100000;
struct Food
{
INTN x;
 INTN  y;
 UINTN  yes;
}food;

struct Snake
{
 INTN x[N];
 INTN y[N];
 UINTN node;
 UINTN direction;
 UINTN life;
}snake;

  
VOID 
DrawData(
IN UINT8               *ImageBuffer,
IN      UINTN                 Col,
IN   UINTN                    Row
);

EFI_STATUS
DrawWord(
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable,
IN CHAR16 *Value,
IN UINT16 X,
IN UINT16 Y,
IN UINT16   Background,
IN UINT16 WordCount
);

UINT8
Rand(
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
);
EFI_STATUS
Init(
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
   );
EFI_STATUS
DrawK(
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
);
VOID
PrintScore(
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable)
{   
	CHAR16 Str1[50];
	UINT8  Count1;
	ValueToString(Str1,0,Score);
	Count1=(UINT8)StrLen(Str1);
	DrawWord(ImageHandle,SystemTable,Str1,160,65,3,Count1);
	return;
}
VOID
GameOver(VOID);

EFI_STATUS
GamePlay(
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
);

Main(
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
)
{  
	UINT8     Count,Countsize;

	UINTN      i,j,k;
	CHAR16   *Str=L"Start Load";
	CHAR16   *Str2=L"JJDD";
	Count=11;
	if(Barrier==1)
	{
	Init(ImageHandle,SystemTable);
	ConsoleControl->SetMode (ConsoleControl, EfiConsoleControlScreenGraphics);
	UgaDraw->Blt(UgaDraw,  &EfiColors[0], EfiUgaVideoFill,0,0,0,0,800,600,0);
    DrawData(sheData,350,250); 
	DrawWord(ImageHandle,SystemTable,Str,340,520,0,Count);
	k=0;
	for(j=0;j<14;j++)
	{
	for(i=0;i<6;i++)
		{
    UgaDraw->Blt(UgaDraw,&EfiColors[15], EfiUgaVideoFill,0,0,k,565,8,16,0);
	k=k+9;
		}
	BS->Stall(500000);
	}
	}
	DrawK(ImageHandle,SystemTable);	
	if(Barrier==1)
	Str2=L"The First Barrier" ;
	else if(Barrier==2)
		Str2=L"The Second Barrier" ;
	else if(Barrier==3)
		Str2=L"The Third Barrier" ;
    Countsize=(UINT8)StrLen(Str2);

	DrawWord(ImageHandle,SystemTable,Str2,300,45,3,Countsize);
	GamePlay(ImageHandle,SystemTable);
	ConsoleControl->SetMode(ConsoleControl, EfiConsoleControlScreenText);
	return EFI_SUCCESS;
}

EFI_STATUS
Init(
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
)
{  
       EFI_HANDLE  Handle;
       UINTN       Size;
       EFI_STATUS  Status;
     
      UINTN                       UgaDrawProtocolCount;
      EFI_HANDLE                  *UgaDrawHandles;
      ConsoleControl = NULL;
	  InitializeLib(ImageHandle,SystemTable);
	  Size = sizeof (EFI_HANDLE);
      Status = BS->LocateHandle (
                  ByProtocol,
                  &gEfiHiiProtocolGuid,
                  NULL,
                  &Size,
                  &Handle
                  );

  if (EFI_ERROR (Status)) {
    return Status;
  }

  Status = BS->HandleProtocol (
                  Handle,
                  &gEfiHiiProtocolGuid,
                  &mHii
);	
 Status = BS->LocateProtocol (
               &gEfiConsoleControlProtocolGuid,
               NULL,
                 (VOID **)&ConsoleControl
                 );
if(EFI_ERROR(Status))
	{
	Print(L"error");
	}
	Status=LibLocateHandle (
            ByProtocol,
            &gEfiUgaDrawProtocolGuid, 
            NULL, 
            &UgaDrawProtocolCount,
            &UgaDrawHandles
            );
	if(EFI_ERROR(Status))
	{
	Print(L"error");
	}
   BS->HandleProtocol (
                UgaDrawHandles[0],
                &gEfiUgaDrawProtocolGuid,
                &UgaDraw
                );
   return EFI_SUCCESS;
}

EFI_STATUS
DrawK(
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
)
{    
	  CHAR16 *Value=L"SCORE:";
	  UINT16                    Count,i=100,j;
      UINT16                    GlyphWidth=19;
      UINT32                    GlyphStatus=0;
      UINT8                     *Glyph;      
      EFI_UGA_PIXEL              *Buffer;
	  EFI_STATUS                  Status;
	InitializeLib(ImageHandle,SystemTable);
	  ConsoleControl->SetMode (ConsoleControl, EfiConsoleControlScreenGraphics);
      UgaDraw->Blt(UgaDraw,  &EfiColors[0], EfiUgaVideoFill,0,0,0,0,800,600,0);
	  UgaDraw->Blt(UgaDraw,  &EfiColors[3], EfiUgaVideoFill,0,0,0,0,800,100,0);
	  UgaDraw->Blt(UgaDraw,  &EfiColors[3], EfiUgaVideoFill,0,0,0,500,800,100,0);
	  UgaDraw->Blt(UgaDraw,  &EfiColors[3], EfiUgaVideoFill,0,0,0,0,100,600,0);
      UgaDraw->Blt(UgaDraw,  &EfiColors[3], EfiUgaVideoFill,0,0,700,0,100,600,0);
 for(j=0;j<7;j++)
	{
	 Count=0;
     Status= mHii->GetGlyph(mHii,&Value[j],&Count,&Glyph, &GlyphWidth,&GlyphStatus);
     Buffer = AllocateZeroPool (8*19* sizeof (EFI_UGA_PIXEL));
	  Status=mHii->GlyphToBlt( mHii, Glyph, EfiColors[15],EfiColors[5],1,8,19, Buffer);
              
    Status=UgaDraw->Blt(
		    UgaDraw, Buffer,
            EfiUgaBltBufferToVideo,
            0, 0,
            i,65,
            8,19, 0
            );  
	i=i+8;
	}
   return EFI_SUCCESS;           
}

UINT8
Rand(
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
)
{   
    UINT8          ValueTime;
	EFI_TIME       Time;
	EFI_STATUS     Status;

  // EFI_SHELL_APP_INIT (ImageHandle, SystemTable);
	Status=RT->GetTime(&Time,NULL);
	if(EFI_ERROR(Status))
	{
		Print(L"error");
		return EFI_SUCCESS;
	}
 ValueTime=Time.Second;
 return ValueTime;
}


EFI_STATUS
GamePlay(
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
)
{
	
	EFI_STATUS Status;
	UINT8    flag;
	food.yes=1;//需要出現(xiàn)食物
	snake.life=0;//活著
	snake.direction=1;//方向向右
	snake.x[0]=110;//蛇頭
	snake.y[0]=110;//
	snake.x[1]=120;//
	snake.y[1]=110;//
	snake.node=2;//蛇的節(jié)點(diǎn)數(shù)
	PrintScore(ImageHandle,SystemTable);
	flag=0;
	
	while(1)
	{  
        Status= In->ReadKeyStroke(In,&Key);
		while(Status==EFI_NOT_READY)//在沒有按鍵的情況下蛇自己移動
		{ 
			Status= In->ReadKeyStroke(In,&Key);
			if(food.yes==1)//需要出現(xiàn)新食物
			{
				food.x=Rand(ImageHandle,SystemTable)*10+100;
				food.y=Rand(ImageHandle,SystemTable)*6+110;
				while(food.x%10!=0)
					food.x++;
				while(food.y%10!=0)
					food.y++;
				food.yes=0;
			}
			if(food.yes==0);//畫面上有食物就要顯示
			{
			
			UgaDraw->Blt(UgaDraw,&EfiColors[4], EfiUgaVideoFill,0,0,food.x,food.y,10,10,0);
			}

			for(Node=snake.node-1;Node>0;Node--)
			{
				snake.x[Node]=snake.x[Node-1];
				snake.y[Node]=snake.y[Node-1];
			}
			switch(snake.direction)
			{
				case 1:snake.x[0]+=10;break;//右
				case 2:snake.x[0]-=10;break;//左
				case 3:snake.y[0]-=10;break;//上
				case 4:snake.y[0]+=10;break;//下
			}
			
			for(Node=3;Node<snake.node;Node++)//從蛇的第四節(jié)開始判斷是否撞到了自己,蛇頭為二節(jié),第三節(jié)不可能拐過來
			{
				if(snake.x[Node]==snake.x[0]&&snake.y[Node]==snake.y[0])
				{
					GameOver();
					snake.life=1;
					break;
				}
			}

			if(snake.x[0]<100||snake.x[0]>690||snake.y[0]<100||snake.y[0]>490)
			{
				GameOver();
				snake.life=1;
			}
			if(snake.life==1)
				break;
			if(snake.x[0]==food.x&&snake.y[0]==food.y)//吃到食物
			{
			  
				UgaDraw->Blt(UgaDraw,&EfiColors[0], EfiUgaVideoFill,0,0,food.x,food.y,10,10,0);//把食物去掉
				
				snake.x[snake.node]=-20;//jacke
				snake.y[snake.node]=-20;//jacke
				food.yes=1;
				snake.node++;
				Score+=10;
				if(Score==100)
			       {
					Barrier=2;
					Main(ImageHandle,SystemTable);
					return EFI_SUCCESS;
				   }

				else if(Score==200)
					   {
					Barrier=3;
					Main(ImageHandle,SystemTable);
					return EFI_SUCCESS;
					   }
					 else if(Score==400)
				{
						  ConsoleControl->SetMode (ConsoleControl, EfiConsoleControlScreenText); 
						  Print(L"You Win");
						  return EFI_SUCCESS;
				}
			PrintScore(ImageHandle,SystemTable);	
			}
			 for(Node=0;Node<snake.node;Node++)//花出蛇
	         UgaDraw->Blt(UgaDraw,&EfiColors[2], EfiUgaVideoFill,0,0,snake.x[Node],snake.y[Node],10,10,0);
		     BS->Stall(Gamespeed);
			//用黑色去除蛇的最后一節(jié)
			UgaDraw->Blt(UgaDraw,&EfiColors[0], EfiUgaVideoFill,0,0,snake.x[Node-1],snake.y[Node-1],10,10,0);
		}//結(jié)束(In->ReadKeyStroke(In,&Key)
		  
			if(snake.life==1)
				break;
		 // flag=1;
		//	WaitForSingleEvent(In->WaitForKey,0);
		//	Status=In->ReadKeyStroke(In, &Key);//接受按鍵
			if(Key.ScanCode==SCAN_CODE_ESC)
				goto Done;
	   	else if(Key.ScanCode==SCAN_CODE_UP&&snake.direction!=4)
			snake.direction=3;
		else if(Key.ScanCode==SCAN_CODE_RIGHT&&snake.direction!=2)
			snake.direction=1;
		else if(Key.ScanCode==SCAN_CODE_LEFT&&snake.direction!=1)
		{
			snake.direction=2;

            
		}
		else if(Key.ScanCode==SCAN_CODE_DOWN&&snake.direction!=3)
		{
			// Str1=L"JAKD";
			snake.direction=4;
		}
       
              }//結(jié)束while(1);
	 Done:  
		 GameOver();
		 return EFI_SUCCESS;
		
		}

		    VOID 
			GameOver(VOID)
			
		   {
		   ConsoleControl->SetMode(ConsoleControl,EfiConsoleControlScreenText);
		   Out->ClearScreen(Out);
		   PrintAt(1,0,L"Game Over");
		   return;
		};

VOID 
DrawData(
//IN EFI_UGA_DRAW_PROTOCOL *UgaDraw,
IN UINT8               *ImageBuffer,
IN      UINTN                 Col,
IN   UINTN                    Row
)
{
  
  BMP_IMAGE_HEADER        *BmpHeader;
  UINTN                   Height, Width;
  EFI_UGA_PIXEL           *BltBuffer, *Blt;
  UINT8                   *Image;
  UINT32                 SizeOfX, SizeOfY,ImageIndex;         
  UINT32                  ColorDepth;
  UINT32                  RefreshRate;       
  UINT32                  BltBufferSize;
  BmpHeader = (BMP_IMAGE_HEADER *)ImageBuffer;
  Image = ImageBuffer + BmpHeader->ImageOffset;
  BltBufferSize = BmpHeader->PixelWidth * BmpHeader->PixelHeight;
  BltBuffer = AllocateZeroPool (BltBufferSize * sizeof (EFI_UGA_PIXEL));
  if (BltBuffer == NULL) 
	  {
    Print (L"UgaDraw: Out of memory for Blt Buffer\n");
    goto Done;
  }

UgaDraw->GetMode (UgaDraw, &SizeOfX, &SizeOfY, &ColorDepth, &RefreshRate);
  for (Height = 0; Height < BmpHeader->PixelHeight; Height++) {
    Blt = &BltBuffer[(BmpHeader->PixelHeight - Height - 1) * BmpHeader->PixelWidth];
    for (Width = 0; Width < BmpHeader->PixelWidth; Width++, Image++, Blt++) {
        Blt->Blue = *Image++;
        Blt->Green = *Image++;
        Blt->Red = *Image;
	}

    ImageIndex = (UINTN)(Image - BmpHeader->ImageOffset);
    if ((ImageIndex % 4) != 0) 
		{
      Image = Image + (4 - (ImageIndex % 4));
    }
  
  }
     UgaDraw->Blt (
                  UgaDraw, 
                  BltBuffer,              EfiUgaBltBufferToVideo, 
                  0,                      0, 
				  Col,Row,
                  BmpHeader->PixelWidth,  BmpHeader->PixelHeight,
                  BmpHeader->PixelWidth * sizeof (EFI_UGA_PIXEL)
                  );

Done:
	if (BltBuffer != NULL) {
    BS->FreePool (BltBuffer);
}
}
EFI_STATUS
DrawWord(
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable,
IN CHAR16 *Value,
IN UINT16 X,
IN UINT16 Y,
IN UINT16 Background,
IN UINT16 WordCount

)
{
	  UINT16                    Count,j;
      UINT16                    GlyphWidth=19;
      UINT32                    GlyphStatus=0;
      UINT8                     *Glyph;      
      EFI_UGA_PIXEL             *Buffer;
	  EFI_STATUS                 Status;
	//  LibInitializeShellApplication (ImageHandle, SystemTable);
	InitializeLib(ImageHandle,SystemTable);
	  ConsoleControl->SetMode (ConsoleControl, EfiConsoleControlScreenGraphics); 
 for(j=0;j<WordCount;j++)
	{
	 Count=0;
     Status= mHii->GetGlyph(mHii,&Value[j],&Count,&Glyph, &GlyphWidth,&GlyphStatus);
     Buffer = AllocateZeroPool (8*19* sizeof (EFI_UGA_PIXEL));
	 Status=mHii->GlyphToBlt( mHii, Glyph, EfiColors[15],EfiColors[Background],1,8,19, Buffer);
              
    Status=UgaDraw->Blt(
		    UgaDraw, Buffer,
            EfiUgaBltBufferToVideo,
            0, 0,
            X,Y,
            8,19, 0
            );  
	X=X+8;
	}
   return EFI_SUCCESS;           
}










?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
1000部国产精品成人观看| 青草国产精品久久久久久| 欧美日韩精品一区二区三区| 国产xxx精品视频大全| 日韩电影在线一区| 午夜影院在线观看欧美| 国产精品久久久一区麻豆最新章节| 色婷婷综合久色| 97久久精品人人做人人爽| 精品中文av资源站在线观看| www激情久久| 欧美videossexotv100| 精品毛片乱码1区2区3区| 日韩网站在线看片你懂的| 欧美精品久久99久久在免费线| 欧美亚洲综合另类| 欧美日韩国产小视频| 在线免费观看日本一区| 懂色av一区二区三区免费观看| 狠狠色狠狠色综合| 国产尤物一区二区在线| 国产999精品久久久久久| 成人动漫中文字幕| 中文在线一区二区| 国产精品美女久久久久久2018| 国产成人日日夜夜| 国产成人综合网| 成人app在线观看| 91免费看视频| 欧美日韩成人综合天天影院| 日韩视频免费直播| 日本一区二区三区四区| 一区二区三区在线观看国产| 天天色图综合网| 国产主播一区二区| 91在线精品一区二区三区| 欧美日韩亚洲国产综合| 欧美大白屁股肥臀xxxxxx| 国产欧美1区2区3区| 亚洲自拍偷拍综合| 国内精品在线播放| 色悠悠亚洲一区二区| 欧美一卡二卡在线| 中文字幕日韩一区| 最新久久zyz资源站| 亚洲国产日韩av| 国产99精品在线观看| 欧美老女人在线| 国产精品视频一区二区三区不卡| 亚洲福利视频一区| 高清不卡一区二区| 91精品国产乱码久久蜜臀| 中文字幕久久午夜不卡| 日韩成人免费看| 色94色欧美sute亚洲线路二| 欧美www视频| 亚洲一区二区在线免费看| 成人福利电影精品一区二区在线观看| 91精品国产手机| 亚洲一区二区三区爽爽爽爽爽| 国产一区二区在线视频| 欧美日韩高清一区二区不卡| 亚洲免费观看在线视频| 国产电影一区二区三区| 制服视频三区第一页精品| av电影天堂一区二区在线观看| 91精品国产高清一区二区三区| 一区二区三区日韩欧美精品| 丰满放荡岳乱妇91ww| 精品88久久久久88久久久| 日本不卡免费在线视频| 欧美视频一区在线| 亚洲精品乱码久久久久久久久| 国产999精品久久| 国产拍揄自揄精品视频麻豆| 精东粉嫩av免费一区二区三区| 一区二区三区免费看视频| 99精品热视频| 国产精品国产自产拍在线| 成人午夜av影视| 国产日韩欧美亚洲| 国产精品一区2区| 国产亚洲欧美一区在线观看| 国产精品一级二级三级| 在线一区二区三区四区| 夜夜嗨av一区二区三区四季av| 波多野洁衣一区| 中文字幕亚洲综合久久菠萝蜜| 97精品电影院| 亚洲精品水蜜桃| 7878成人国产在线观看| 久国产精品韩国三级视频| 久久久蜜臀国产一区二区| 激情五月激情综合网| 国产三级一区二区| 99精品欧美一区二区三区小说 | 欧美影院精品一区| 一区二区三区在线不卡| 欧美挠脚心视频网站| 首页国产欧美日韩丝袜| 精品久久国产字幕高潮| 国产成人福利片| 亚洲欧美日韩系列| 欧美日韩国产精品成人| 老汉av免费一区二区三区 | 国产成人av影院| 国产精品少妇自拍| 91福利视频久久久久| 日本不卡一二三区黄网| 国产精品色噜噜| 91麻豆精品国产综合久久久久久 | 2022国产精品视频| 成人午夜碰碰视频| 亚洲电影第三页| 2014亚洲片线观看视频免费| 91视频在线看| 国产一区二区三区在线看麻豆| 99久久久久久99| 亚洲一区二区av电影| 久久一区二区三区国产精品| 91小视频在线免费看| 蜜臀久久久99精品久久久久久| 欧美激情综合在线| 91精品免费在线| 99麻豆久久久国产精品免费优播| 视频在线观看一区二区三区| 国产午夜亚洲精品理论片色戒| 欧美日韩亚洲综合一区二区三区 | 欧美国产日本视频| 欧美三级一区二区| 成人av电影在线观看| 午夜精品一区二区三区免费视频| 久久久久久久久久久电影| 欧美日韩免费在线视频| 成人av在线电影| 国产一区二区三区四区五区入口| 国产精品不卡在线| 久久久国际精品| 欧美精品一级二级| 99精品欧美一区二区三区小说| 日本成人在线不卡视频| 久久久久久久久久久电影| 国产盗摄视频一区二区三区| 日韩三级免费观看| 精品动漫一区二区三区在线观看| 国产91精品免费| 亚洲国产精品尤物yw在线观看| 欧美极品美女视频| 久久亚洲影视婷婷| 精品处破学生在线二十三| 欧美欧美午夜aⅴ在线观看| 国产精品国产三级国产普通话三级| 精品日韩欧美一区二区| 日本久久电影网| 欧美专区在线观看一区| 亚洲国产电影在线观看| 91色在线porny| 国产91精品免费| 成人精品高清在线| 狠狠色狠狠色综合日日91app| 美女网站在线免费欧美精品| 免费在线观看日韩欧美| 青椒成人免费视频| 日韩精品电影在线观看| 亚洲三级在线免费观看| 国产精品亲子伦对白| 中文字幕免费在线观看视频一区| 久久午夜色播影院免费高清| 精品成人一区二区| 国产精品视频第一区| 亚洲欧美另类图片小说| 中文字幕一区二区三区在线观看| 亚洲视频香蕉人妖| 日av在线不卡| 精品一区二区免费| 亚洲欧美日韩综合aⅴ视频| 欧洲人成人精品| 高潮精品一区videoshd| 尤物视频一区二区| 成人免费在线观看入口| 欧美精品色综合| 精品一区二区三区免费播放| 国产成人精品免费看| 色老综合老女人久久久| 午夜欧美一区二区三区在线播放| 欧美日韩精品福利| 欧美一区二区久久| 欧美亚洲动漫制服丝袜| 在线观看日韩一区| 久久久久久久免费视频了| 成人看片黄a免费看在线| 91首页免费视频| 欧美α欧美αv大片| 日韩欧美一区二区在线视频| 国产精品一区二区三区乱码 | 国产欧美日韩麻豆91| 日韩片之四级片| 亚洲欧美日韩电影| www成人在线观看| 成人免费视频网站在线观看|