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

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

?? ship.c

?? 《c語言高級實例解析》光盤所附源代碼
?? C
字號:

# include <dos.h>
# include "13h.h"
# include <time.h>
# include <stdio.h>
# include "timer.h"
# include <alloc.h>
# include <stdlib.h>

struct stBOMB
{
  int  x;			
  int  y;
  BOOL Used;		
};
struct stEXPL
{
  int  x;			
  int  y;
  BYTE Num;
  BOOL Used;		
};
struct stSHIP
{
  int  x;			
  int  y;
  BOOL Used;		
  BYTE Dir;
  BYTE Type;
};
struct stTORP
{
  int  x;			
  int  y;
  BOOL Used;		
};

struct stBOMB bbBomb[21];
struct stSHIP spShip[21];
struct stTORP tpTorp[21];
struct stEXPL elExpl[21];

int BombUsed=0;
int ShipUsed=0;
int TorpUsed=0;
int ExplUsed=0;

int MAXBOMB=5;		
int MAXSHIP=3;		
int MAXTORP=5;		
int MAXEXPL=5;		

int ID_Timer[MAXTIMER+1];	
int ID_Bomb[21];
int ID_Ship[21];
int ID_Torp[21];
int ID_Expl[21];

BOOL DISP=TRUE;
BOOL CLS=FALSE;
BOOL bPaint=FALSE;
BOOL ALIVE=TRUE;
BOOL SOUND=TRUE;
BOOL Flash=FALSE;
BOOL DONE=FALSE;
BYTE SHIP[2][32][64];
BYTE BOMB[32][32];
BYTE TORP[16][16];
BYTE PAL[256][3];
BYTE STR[80];
BYTE far * PIC_EXPL;
BYTE far * PIC_SHIP;
void far * Back1;
void far * Back2;

int  MyX=0;
int  MyY=0;
int  Life=3;
int  Score=25;
int  LevelScore=25;
int  Level=0;
int  Step=0;
/*  */
char *Info="\
\\Welcome to play this game!\
\n\
\n\
\n\
	  In this game,you will drive a warship to fight with\n\
	the submarines.\n\n\
	     KEYS:\n\
	     'Left' and 'Right' keys to move your warship.\n\
	     'Space bar' or 'Ctrl' key to send bombs.\n\
	     'S' key is a sound switch.\n\
	     'D' key is a state switch.\n\n\
							      \n\
					 \n\n\
			       GOOD LUCK!\0";

/*  */
void StepIn()
{
  int i;
  for (i=0;i<256;i++) 
	  /*  */
	  setpal(i,PAL[i][0]*Step/64,PAL[i][1]*Step/64,PAL[i][2]*Step/64);
  Step++;
  if (Step>64) 
	  /*  */
	  KillAllTimer();
}

/*  */
void StepOut()
{
  int i;
  for (i=0;i<256;i++) 
	  /*  */
	  setpal(i,PAL[i][0]*Step/64,PAL[i][1]*Step/64,PAL[i][2]*Step/64);
  Step--;
  /*  */
  if (Step<1) 
	  KillAllTimer();
}
void OutInfo()
{
 if (*Info++)
 {
    sound(1000);
    printf("%c",*(Info-1));
    nosound();
 }
 else
   KillAllTimer();
}

void Logo()
{
  FILE *bmp;
  int  i,r,g,b,x,y;

  setmode();
  bmp=fopen("logo.bmp","rb");
  fseek(bmp,54,SEEK_SET);
  for (i=0;i<256;i++)
  {
      PAL[i][2]=fgetc(bmp)>>2;
      PAL[i][1]=fgetc(bmp)>>2;
      PAL[i][0]=fgetc(bmp)>>2;
      fgetc(bmp);
      setpal(i,0,0,0);
  }

  for (y=0;y<200;y++)
      for (x=0;x<320;x++) 
		  pokeb(0xa000,y*320+x,fgetc(bmp));

  fclose(bmp);
  CreateTimer(1,StepIn);		
  while (ScanKey()!=57&&TimerUsed) 
	  TimerEvent();
  Step=64;
  StepIn();
  wait();
  CreateTimer(1,StepOut);
  while (ScanKey()!=57&&TimerUsed) TimerEvent();
  Step=0;
  StepOut();
  closemode();
  CreateTimer(2,OutInfo);
  locate(6,26);
  while (ScanKey()!=57&&TimerUsed) 
	  TimerEvent();
  while (*Info++) 
	  printf("%c",*(Info-1));
  wait();
}

void KillSelf()
{
  if (SOUND)
  {
     sound(1000);
     delay(1000);
     nosound();
  }
  Life--;
  if (Life<0) ALIVE=FALSE;
}

void SetAllPal()
{
  FILE *act;
  int  i,r,g,b;

  act=fopen("comm.act","rb");
  for (i=0;i<256;i++)
  {
      r=fgetc(act)>>2;
      g=fgetc(act)>>2;
      b=fgetc(act)>>2;
      setpal(i,r,g,b);
  }
  fclose(act);
}


void readboat()
{
  FILE *bmp;
  int  x,y;

  bmp=fopen("boat.bmp","rb");
  fseek(bmp,1078,SEEK_SET);
  for (y=0;y<32;y++)
  {
      for (x=0;x<64;x++) SHIP[0][31-y][x]=fgetc(bmp);
      for (x=0;x<64;x++) SHIP[1][31-y][x]=fgetc(bmp);
  }
  fclose(bmp);
}
void readbomb()
{
  FILE *bmp;
  int  x,y;

  bmp=fopen("bomb.bmp","rb");
  fseek(bmp,516,SEEK_SET);
  for (y=0;y<32;y++)
      for (x=0;x<32;x++) BOMB[31-y][x]=fgetc(bmp);
  fclose(bmp);
}

void readtorp()
{
  FILE *bmp;
  int  x,y;

  bmp=fopen("torp.bmp","rb");
  fseek(bmp,516,SEEK_SET);
  for (y=0;y<16;y++)
      for (x=0;x<16;x++) TORP[15-y][x]=fgetc(bmp);
  fclose(bmp);
}
void readship()
{
  FILE *bmp;
  long i;

  PIC_SHIP=Back2;
  bmp=fopen("ship.bmp","rb");
  fseek(bmp,1078,SEEK_SET);
  for (i=0;i<10080;i++)
          *PIC_SHIP++=fgetc(bmp);
  fclose(bmp);
}

void readexpl()
{
  FILE *bmp;
  long i;

  PIC_EXPL=Back1;
  bmp=fopen("expl.bmp","rb");
  fseek(bmp,1078,SEEK_SET);
  for (i=0;i<59520;i++)
	  *PIC_EXPL++=fgetc(bmp);
  fclose(bmp);
}
void bomb(int xx,int yy)
{
  int y,x;
  for (y=0;y<32;y++)
      for (x=0;x<32;x++)
          if (BOMB[y][x]) 
			  Pset(x+xx,y+yy,BOMB[y][x]);
}
void boat(int xx,int yy,int num)
{
  int y,x;
  for (y=0;y<32;y++)
      for (x=0;x<64;x++)
	  if (SHIP[num][y][x]) 
		  Pset(x+xx,y+yy,SHIP[num][y][x]);
}
void torp(int xx,int yy)
{
  int y,x;
  for (y=0;y<16;y++)
      for (x=0;x<16;x++)
          if (TORP[y][x]) 
			  Pset(x+xx,y+yy,TORP[y][x]);
}
void ship(int xx,int yy,BYTE Type,BYTE Dir)
{
  int x,y;

  bPaint=TRUE;
  PIC_SHIP=Back2;
  PIC_SHIP+=(long)(Type*2+Dir)*63l;
  for (y=0;y<20;y++)
  {
      for (x=0;x<63;x++)
	  if (*PIC_SHIP++) 
		  Pset(x+xx,19-y+yy,*(PIC_SHIP-1));
      PIC_SHIP+=441l;
  }
}

int CreateTorp(int x,int y)
{
  int i=0;

  if (TorpUsed==MAXTORP) return NULL;

  while (tpTorp[++i].Used);

  tpTorp[i].x=x;
  tpTorp[i].y=y;
  tpTorp[i].Used=TRUE;
  TorpUsed++;
  return i;
}
void KillTorp(int *TorpID)
{
  if (tpTorp[*TorpID].Used)
  {
     TorpUsed--;
     tpTorp[*TorpID].Used=FALSE;
  }
  *TorpID=NULL;
}
void DrawTorp()
{
  int i=0;
  int ID;

  while (!tpTorp[++i].Used);

  if (i==MAXTORP+1) return;
  bPaint=TRUE;
  if (!CLS)
  {
     ClearScreen(2);
     CLS=TRUE;
  }
  for (i=1;i<=MAXTORP;i++)
  {
      if (tpTorp[i].Used)
      {
	 if (tpTorp[i].y<34)
	 {
	    KillTorp(&ID_Torp[i]);
            if (tpTorp[i].x-MyX>10&&tpTorp[i].x-MyX<50)
	    {
	       ID=CreateExpl(tpTorp[i].x-23,tpTorp[i].y-26);
	       if (ID) ID_Expl[ID]=ID;
	       KillSelf();
	    }
	 }
	 torp(tpTorp[i].x,tpTorp[i].y);
	 tpTorp[i].y--;
      }
  }

}
int CreateShip(int y,BYTE Type)
{
  int i=0;

  if (ShipUsed==MAXSHIP) return NULL;

  while (spShip[++i].Used);

  spShip[i].y=y;
  spShip[i].Used=TRUE;
  spShip[i].Dir=random(2);
  spShip[i].Type=Type;
  spShip[i].x=-64;
  if (!spShip[i].Dir) spShip[i].x=320;
  ShipUsed++;
  return i;
}
void KillShip(int *ShipID)
{
  if (spShip[*ShipID].Used)
  {
     ShipUsed--;
     spShip[*ShipID].Used=FALSE;
  }
  *ShipID=NULL;
}
void DrawShip()
{
  int i=0;
  int ID;

  while (!spShip[++i].Used);

  if (i==MAXSHIP+1) return;
  bPaint=TRUE;
  if (!CLS)
  {
     ClearScreen(2);
     CLS=TRUE;
  }
  for (i=1;i<=MAXSHIP;i++)
  {
      if (spShip[i].Used)
      {
	 if (random(10)==3)
	 {
	    ID=CreateTorp(spShip[i].x+32,spShip[i].y);
	    if (ID) ID_Torp[ID]=ID;
	 }
         ship(spShip[i].x,spShip[i].y,spShip[i].Type,spShip[i].Dir);
	 if (spShip[i].Dir)
         {
            spShip[i].x+=2;
            if (spShip[i].x>320) 
				KillShip(&ID_Ship[i]);
         }
         else
         {
            spShip[i].x-=2;
            if (spShip[i].x<-64) 
				KillShip(&ID_Ship[i]);
         }
      }
  }

}
int CreateExpl(int x,int y)
{
  int i=0;

  if (ExplUsed==MAXEXPL) return NULL;

  while (elExpl[++i].Used);

  elExpl[i].x=x;
  elExpl[i].y=y;
  elExpl[i].Used=TRUE;
  elExpl[i].Num=0;
  ExplUsed++;
  return i;
}
void KillExpl(int *ExplID)
{
  if (elExpl[*ExplID].Used)
  {
     ExplUsed--;
     elExpl[*ExplID].Used=FALSE;
     elExpl[*ExplID].Num=0;
  }
  *ExplID=NULL;
}

void DrawExpl()
{
  int  x,y,i=0;

  while (!elExpl[++i].Used);

  if (i==MAXEXPL+1) return;
  bPaint=TRUE;
  if (!CLS)
  {
     ClearScreen(2);
     CLS=TRUE;
  }
  for (i=1;i<=MAXEXPL;i++)
  {
      if (elExpl[i].Num==15) 
		  KillExpl(&ID_Expl[i]);
      if (elExpl[i].Used)
      {
         bPaint=TRUE;
         PIC_EXPL=Back1;
         PIC_EXPL+=(long)elExpl[i].Num*62l;
         elExpl[i].Num++;
         for (y=0;y<64;y++)
         {
	     if (SOUND) sound(random(2000)+500);
	     for (x=0;x<62;x++)
		 if (*PIC_EXPL++) 
			 Pset(x+elExpl[i].x,(63-y)+elExpl[i].y,*(PIC_EXPL-1));
	     PIC_EXPL+=870l;
	 }
	 nosound();
      }
  }
}

int CreateBomb(int x,int y)
{
  int i=0;

  if (BombUsed==MAXBOMB) return NULL;

  while (bbBomb[++i].Used);

  bbBomb[i].x=x;
  bbBomb[i].y=y;
  bbBomb[i].Used=TRUE;
  BombUsed++;
  return i;
}
void KillBomb(int *BombID)
{
  if (bbBomb[*BombID].Used)
  {
     BombUsed--;
     bbBomb[*BombID].Used=FALSE;
  }
  *BombID=NULL;
}
void DrawBomb()
{
  int i=0,j;
  int ID;

  while (!bbBomb[++i].Used);

  if (i==MAXBOMB+1) return;
  bPaint=TRUE;
  if (!CLS)
  {
     ClearScreen(2);
     CLS=TRUE;
  }
  for (i=1;i<=MAXBOMB;i++)
  {
      if (bbBomb[i].Used)
      {
         for (j=1;j<=MAXSHIP;j++)
         {
	     if (spShip[j].Used&&abs(spShip[j].y-bbBomb[i].y)<16&&abs(spShip[j].x-bbBomb[i].x+16)<32)
             {
		switch (spShip[j].Type)
                {
                  case 0:
                       Score+=10;
                       LevelScore+=10;
                       break;
                  case 1:
                       Score+=20;
                       LevelScore+=20;
                       break;
                  case 2:
                       Score+=40;
                       LevelScore+=40;
                       break;
                  case 3:
                       Life++;
                       break;
                }
		KillShip(&ID_Ship[j]);
		KillBomb(&ID_Bomb[i]);
		ID=CreateExpl(bbBomb[i].x-20,bbBomb[i].y);
		if (ID) ID_Expl[ID]=ID;
	     }
         }
         bomb(bbBomb[i].x,bbBomb[i].y);
	 bbBomb[i].y+=2;
	 if (bbBomb[i].y>170) KillBomb(&ID_Bomb[i]);
      }
  }
}

void DrawObject()
{
  CLS=FALSE;
  DrawBomb();
  DrawShip();
  DrawTorp();
  if (!bPaint) return;
  if (!CLS) ClearScreen(2);
  boat(MyX,2,Flash);
  DrawExpl();
  if (DISP)
  {
     OutString(0,0,"LIFE:",96);
     itoa(Life+1,STR,10);
     OutString(5,0,STR,96);
     if (SOUND) OutString(7,0,"Sound",2);
     itoa(MAXBOMB-BombUsed,STR,10);
     OutString(13,0,"BOMB:",89);
     OutString(18,0,STR,89);
     itoa(Level+1,STR,10);
     OutString(21,0,"LEVEL:",13);
     OutString(27,0,STR,13);
     OutString(30,0,"SCORE:",52);
     itoa(Score,STR,10);
     OutString(36,0,STR,52);
  }
  ReFresh();
}

void InitGame()
{
  int i;

  BombUsed=0;
  ShipUsed=0;
  TorpUsed=0;
  ExplUsed=0;

  for (i=1;i<=MAXSHIP;i++) KillShip(&ID_Ship[i]);
  for (i=1;i<=MAXBOMB;i++) KillBomb(&ID_Bomb[i]);
  for (i=1;i<=MAXTORP;i++) KillTorp(&ID_Torp[i]);
  for (i=1;i<=MAXEXPL;i++) KillExpl(&ID_Expl[i]);

  Flash=FALSE;
  ALIVE=TRUE;
  DONE=FALSE;
  MyX=0;
  MyY=0;
  Life=3;
  Score=25;
  LevelScore=25;
  Level=0;
}

void GameMain()
{
  BYTE   bKey;
  int    ShipType;
  int    i,ID;

  bKey=ScanKey();
  while (bKey!=1&&ALIVE)
  {
    TimerEvent();
    if (Life==0)
       Flash=!Flash;
    else
       Flash=FALSE;
    if (random(10)==4)
    {
       i=random(100);
       if (i<50)
          ShipType=0;
       else if (i>=50&&i<75)
          ShipType=1;
       else if (i>=75&&i<95)
          ShipType=2;
       else if (i>95)
          ShipType=3;
       ID=CreateShip(random(6)*20+70,ShipType);
       if (ID) ID_Ship[ID]=ID;
    }
    switch (bKey)
    {
      case 115:
      case 75:
	   bPaint=TRUE;
           MyX-=4;
           if (MyX<0) MyX=0;
	   break;
      case 2:
	   Life++;
	   break;
      case 3:
	    MAXBOMB++;
	    if (MAXBOMB>20) MAXBOMB=20;
      case 77:
      case 116:
	   bPaint=TRUE;
           MyX+=4;
	   if (MyX>256) MyX=256;
           break;
      case 31:
	   SOUND=!SOUND;
	   break;
      case 32:
	   DISP=!DISP;
	   break;
      case 57:
	   if (LevelScore==0) break;
           ID=CreateBomb(MyX+20,32);
	   if (ID)
	   {
	      Score-=5;
	      LevelScore-=5;
	      ID_Bomb[ID]=ID;
	   }
    }
    bKey=ScanKey();
    if (LevelScore>=500)
    {
       Level++;
       LevelScore=0;
       if (Level<15)
	  OutString(15,10,"Next Level!",13);
       else
       {
	  OutString(14,10,"Very Good!!",13);
	  DONE=TRUE;
	  bKey=1;
       }
       ReFresh();
       wait();
    }
    MAXSHIP=Level+3;
    MAXTORP=Level+5;
    MAXEXPL=Level+5;
  }

}

void main()
{
  BOOL QUIT=FALSE;
  int  nKey;

  Video=farmalloc(64000);
  if (Video==NULL)
  {
     printf("Not enough Memory\n");
     exit(0);
  }
  Back1=farmalloc(59520);
  if (Back1==NULL)
  {
     printf("Not enough Memory\n");
     farfree(Video);
     exit(0);
  }
  Back2=farmalloc(10080);
  if (Back2==NULL)
  {
     printf("Not enough Memory\n");
     farfree(Back2);
     farfree(Video);
     exit(0);
  }

  randomize();
  Logo();
  setmode();
  SetAllPal();
  readboat();
  readship();
  readexpl();
  readbomb();
  readtorp();
  ClearScreen(2);
  boat(0,2,0);
  KillAllTimer();
  CreateTimer(1,DrawObject);
  ReFresh();

  while (!QUIT)
  {
     GameMain();
     bPaint=TRUE;
     if (!ALIVE)
	OutString(15,10,"GAME OVER",96);
     OutString(14,12,"QUIT? (Y/N)",89);
     ReFresh();
     nKey=getch();
     while (!(nKey=='Y'||nKey=='y'||nKey=='N'||nKey=='n'))
     {
	nKey=getch();
     }
     if (nKey=='Y'||nKey=='y') QUIT=TRUE;
     if (!ALIVE||DONE) 
		 InitGame();
  }
  closemode();
  KillAllTimer();
  farfree(Video);
  farfree(Back1);
  farfree(Back2);
  printf("***NOBLE STUDIO***Written By FanobleMeng--2001.12");
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久免费精品视频在线观看| 欧美一区二区播放| 欧美剧情片在线观看| 精品日本一线二线三线不卡| 国产精品久久夜| 蜜乳av一区二区| 色婷婷综合久久久久中文一区二区 | 国产三级一区二区| 日韩电影网1区2区| 色婷婷一区二区三区四区| 欧美成人国产一区二区| 亚洲在线视频网站| 成人免费的视频| 国产欧美一区二区精品性色超碰| 五月天视频一区| 91视频精品在这里| 国产精品久久综合| 国产成人综合亚洲网站| 日韩亚洲欧美在线观看| 午夜婷婷国产麻豆精品| 色婷婷久久一区二区三区麻豆| 久久先锋影音av| 久久se这里有精品| 91麻豆精品国产91久久久久| 亚洲国产成人91porn| 色婷婷精品久久二区二区蜜臀av| 国产日本亚洲高清| 国产乱妇无码大片在线观看| 日韩视频永久免费| 天天av天天翘天天综合网| 在线观看亚洲成人| 一区二区三区**美女毛片| 色综合视频一区二区三区高清| 一区二区中文视频| av一区二区三区黑人| 欧美激情一区二区三区在线| 另类综合日韩欧美亚洲| 欧美α欧美αv大片| 激情图片小说一区| 久久亚洲一区二区三区明星换脸| 久久99九九99精品| wwwwxxxxx欧美| 国内精品第一页| 国产日产欧美精品一区二区三区| 成人永久看片免费视频天堂| 国产精品久久毛片| 91色porny蝌蚪| 亚洲国产精品尤物yw在线观看| 欧美日韩亚洲另类| 麻豆免费看一区二区三区| 日韩欧美国产一区二区在线播放 | 国产盗摄女厕一区二区三区| 久久久国产精品麻豆| 丁香一区二区三区| 一区二区欧美视频| 欧美久久久久久蜜桃| 国模无码大尺度一区二区三区 | 欧美巨大另类极品videosbest| 日本中文字幕一区二区有限公司| 日韩欧美亚洲另类制服综合在线| 国内不卡的二区三区中文字幕| 中文字幕一区av| 欧美性淫爽ww久久久久无| 免费成人美女在线观看| 国产欧美日韩另类一区| 在线观看免费一区| 国产一区二区三区久久久| 亚洲人成网站在线| 日韩视频免费观看高清完整版在线观看 | 日韩一区二区三区四区 | 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 欧美一级日韩不卡播放免费| 国产一区二区在线观看视频| 亚洲精品免费一二三区| 日韩美女视频一区二区在线观看| 成人黄色av网站在线| 午夜精品久久久久久久蜜桃app| 精品福利一区二区三区| 色网站国产精品| 国产精品18久久久久久久久 | 欧美三级在线看| 国产一区二区视频在线| 亚洲小说欧美激情另类| 欧美高清在线一区二区| 88在线观看91蜜桃国自产| www.av亚洲| 久久99精品一区二区三区| 亚洲美腿欧美偷拍| 国产拍揄自揄精品视频麻豆| 欧美少妇bbb| 色一情一伦一子一伦一区| 国产成人欧美日韩在线电影| 秋霞国产午夜精品免费视频| 夜夜亚洲天天久久| 亚洲天堂av老司机| 久久久91精品国产一区二区精品| 欧美久久一二三四区| 一本一道波多野结衣一区二区| 国产成人aaa| 麻豆中文一区二区| 日韩电影免费在线| 亚洲精品成人悠悠色影视| 精品免费日韩av| 日韩一级欧美一级| 欧美伦理电影网| 日本乱人伦aⅴ精品| 成人成人成人在线视频| 国产剧情一区在线| 国模少妇一区二区三区| 蜜臀精品一区二区三区在线观看 | 久久精工是国产品牌吗| 午夜视频在线观看一区二区 | 欧美日韩一级二级| 在线观看区一区二| 欧美色视频一区| 88在线观看91蜜桃国自产| 色婷婷综合视频在线观看| 99国产一区二区三精品乱码| 成人在线视频一区| 成人av免费观看| 在线亚洲一区观看| 欧美一区二区三区免费观看视频| 中文字幕在线不卡| 国产精品婷婷午夜在线观看| 欧美激情中文字幕| 国产精品二三区| 亚洲乱码中文字幕综合| 亚洲综合清纯丝袜自拍| 调教+趴+乳夹+国产+精品| 日本伊人色综合网| 蜜桃传媒麻豆第一区在线观看| 精品亚洲成a人在线观看| 紧缚捆绑精品一区二区| 福利电影一区二区| 成人激情免费网站| 色综合色综合色综合色综合色综合| 一本色道久久综合亚洲91 | 久久99热99| 国产资源精品在线观看| 成年人国产精品| 91高清视频在线| 日韩免费观看高清完整版| 久久精品夜色噜噜亚洲aⅴ| 成人欧美一区二区三区白人| 亚洲精品国产无天堂网2021 | 亚洲激情五月婷婷| 视频一区在线播放| 国产精品一区二区三区99| 97久久人人超碰| 欧美精选在线播放| 国产三级精品三级| 亚洲自拍与偷拍| 狠狠色狠狠色综合日日91app| 成人精品鲁一区一区二区| 色狠狠色狠狠综合| 91精品啪在线观看国产60岁| 欧美国产一区二区| 午夜精品影院在线观看| 国产成人av电影在线| 欧美日韩国产bt| 国产精品毛片高清在线完整版| 伊人开心综合网| 国内不卡的二区三区中文字幕| 色av综合在线| 久久综合av免费| 亚洲一区二区视频在线观看| 国产精选一区二区三区| 日本电影欧美片| 国产午夜精品在线观看| 日韩国产一区二| 99久久精品国产导航| 精品国产成人在线影院| 亚洲最大色网站| 成人免费毛片嘿嘿连载视频| 欧美欧美欧美欧美首页| 中文字幕中文字幕中文字幕亚洲无线| 天天综合网天天综合色| 91天堂素人约啪| 国产欧美综合色| 日本sm残虐另类| 欧美性视频一区二区三区| 国产网站一区二区| 久久99精品视频| 制服丝袜激情欧洲亚洲| 亚洲激情在线播放| 色综合久久久久网| 国产欧美1区2区3区| 久久99这里只有精品| 91精品欧美久久久久久动漫| 天天综合色天天综合| eeuss影院一区二区三区| 久久综合九色综合97婷婷 | 天天爽夜夜爽夜夜爽精品视频| 91小视频在线免费看| 中文字幕在线不卡| www.在线成人| 亚洲情趣在线观看| 91在线视频观看| 亚洲柠檬福利资源导航| 色婷婷国产精品|