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

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

?? mainform1.~cpp

?? 《C++Builder程序設(shè)計(jì)范例--中國(guó)象棋》配書盤自述文件
?? ~CPP
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop


#include "MainForm1.h"
#include "EditForm2.h"
#include "InfoForm3.h"
#include "ChessErr.h"
#include "InputPlyDepth.h"
#include "InputSecPerMove.h"
#include "InputMinPerGame.h"
#include "EndGameDlog.h"
#include "AboutDlog.h"
#include "ColorDlog.h"
#include "PieceValueDlog.h"
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

#include "CDefines.h"
#include "Global.h"


#undef MAXPATH
#define MAXPATH  160

/*
 *  全局變量
 */

BYTE ColorSquareColors[3] = { 0, 128, 0 };   /* 綠色 */

bool ShowBestPath = true;
HBRUSH hColorBrush;
HBITMAP PieceBmpArray[7][2];
HBITMAP MaskArray[7];
COLORTYPE ComputerColor;
short LINESIZE;
short CHARSIZE;
bool Editing;
int BORDERSIZE;
bool SoundOn;

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

/*
在 #pragma資源聲明里,加入包含定制光標(biāo)的資源文件MyRc.res。
*/

#pragma resource "Chess.res"
#pragma resource "MyRc.res"

TMainForm *MainForm;
//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
        : TForm(Owner)
{

}
//---------------------------------------------------------------------------
/*
主Form必須負(fù)責(zé)創(chuàng)建子Form,前面兩行分別創(chuàng)建了兩個(gè)子Form,接下來的兩行
將這些子Form放到一個(gè)數(shù)組中。然后,通過一個(gè)循環(huán)依次顯示這些子Form。
使用這項(xiàng)技術(shù)時(shí),不要讓系統(tǒng)自動(dòng)創(chuàng)建這些子Form。為此,需要打開
“Project Options”對(duì)話框,翻到“Form”頁(yè),然后將這些子Form
從列表框移到“Available Forms”列表框中。
*/
void __fastcall TMainForm::FormCreate(TObject *Sender)
{
  InfoForm = new TInfoForm(this);
  EditForm = new TEditForm(this);
  ChildForms[1] = EditForm;
  ChildForms[2] = InfoForm;
  for (int i=1;i<3;i++)
    ChildForms[i]->Show();

   SoundOn = true;
   FileName = new char[MAXPATH];
   WhoseTurn = player;
   CurPlayer = red;
   ComputerColor = black;
   Editing = EditingChessBoard = GotStartSquare = false;
   blNewChessGame = true;
}
CheckLevelMenu(LEVELTYPE);
//---------------------------------------------------------------------------
/*
這是主窗體顯示時(shí)事件處理函數(shù)
從資源文件載入光標(biāo)及位圖
由于光標(biāo)及位圖保存在資源文件(.res)內(nèi)有兩個(gè)好處。第一,它可以包含不同類型
的多種資源。第二,C++ Builder可以方便地把一個(gè)資源文件連接入最后的可執(zhí)行
文件。
 "::"在變量前表明該變量是全局(外部)變量,
 在函數(shù)前表明該函數(shù)是全局(外部)函數(shù)。
*/
void __fastcall TMainForm::FormShow(TObject *Sender)
{
   HDC hDC;
   hDC = GetDC(MainForm->Handle);
   TEXTMETRIC tm;
   GetTextMetrics(hDC, &tm);
   CHARSIZE = short(tm.tmAveCharWidth);
   LINESIZE = short(tm.tmHeight + tm.tmExternalLeading);
   ReleaseDC(MainForm->Handle, hDC);
   BORDERSIZE = LINESIZE + MYFRAMESIZE;

 if ((GetSystemMetrics(SM_CXSCREEN)<800) || (GetSystemMetrics(SM_CYSCREEN)<600))
   MessageBox(NULL,"屏幕分辯率低于800X600!","警告",
      		 MB_ICONINFORMATION | MB_OK);

   Screen->Cursors[crWaitCursor]=LoadCursor(HInstance, "IDC_WCUR");
   //把自定義光標(biāo)裝入Screen對(duì)象
    ::PieceBmpArray[pawn-1][red]=LoadBitmap(HInstance, "RPawnBmp");
    ::PieceBmpArray[pawn-1][black] = LoadBitmap(HInstance, "BPawnBmp");
    ::PieceBmpArray[rook-1][red] = LoadBitmap(HInstance, "RRookBmp");
    ::PieceBmpArray[rook-1][black] = LoadBitmap(HInstance, "BRookBmp");
    ::PieceBmpArray[knight-1][black] = LoadBitmap(HInstance, "BKnightBmp");
    ::PieceBmpArray[bishop-1][black] = LoadBitmap(HInstance, "BBishopBmp");
    ::PieceBmpArray[assist-1][black] =  LoadBitmap(HInstance, "BAssistBmp");
    ::PieceBmpArray[gunner-1][black] =  LoadBitmap(HInstance, "BGunnerBmp");

    ::PieceBmpArray[knight-1][red] = LoadBitmap(HInstance, "RKnightBmp");
    ::PieceBmpArray[bishop-1][red] = LoadBitmap(HInstance, "RBishopBmp");
    ::PieceBmpArray[assist-1][red] = LoadBitmap(HInstance, "RAssistBmp");
    ::PieceBmpArray[gunner-1][red] = LoadBitmap(HInstance, "RGunnerBmp");
    ::PieceBmpArray[king-1][red] = LoadBitmap(HInstance, "RKingBmp");
    ::PieceBmpArray[king-1][black] = LoadBitmap(HInstance, "BKingBmp");
    ::MaskArray[pawn-1] = LoadBitmap(HInstance, "PMaskBmp");
    ::MaskArray[rook-1] = LoadBitmap(HInstance, "RMaskBmp");
    ::MaskArray[knight-1] =  LoadBitmap(HInstance, "KTMaskBmp");
    ::MaskArray[bishop-1] = LoadBitmap(HInstance, "BMaskBmp");
    ::MaskArray[assist-1] =  LoadBitmap(HInstance, "AMaskBmp");
    ::MaskArray[gunner-1] =   LoadBitmap(HInstance, "GMaskBmp");
    ::MaskArray[king-1] =  LoadBitmap(HInstance, "KMaskBmp");

    MainWndRect= MainForm->GetClientRect();
    MainForm->Menu=TChessMenu;    //設(shè)置主窗體主菜單
    Talk();
    MainForm->CheckLevelMenu(Level);
    hColorBrush = CreateSolidBrush(
      RGB(ColorSquareColors[0], ColorSquareColors[1], ColorSquareColors[2]));
    Dragging = true;
    Screen->Cursor = TCursor(crArrow); //分配箭頭光標(biāo)給應(yīng)用程序
    ChildForms[2]->BringToFront();
}

//---------------------------------------------------------------------------
/*
 設(shè)置主窗體背景
通過文件方式載入位圖。
對(duì)于位圖沒有保存在資源文件(.res)內(nèi),C++ Builder不能把從文件裝入的位圖
連接入最后的可執(zhí)行文件。因此,必須確保在c:\BcbChess下有必需的位圖文件。
 很明顯,使用VCL函數(shù)比原始的API函數(shù)要方便得多。使用后,
 應(yīng)將Canvas->Brush->Bitmap這個(gè)特性設(shè)為NULL,以釋放位圖。
 如果不刪除位圖,將導(dǎo)致程序內(nèi)存不足。
*/
 void TMainForm::SetMainWindowBk()
   {
      Graphics::TBitmap *BLKBrushBmp = new Graphics::TBitmap();

      BLKBrushBmp->LoadFromFile("e:\\BKBrush.bmp");
      //BLKBrushBmp->LoadFromFile("c:\\BcbChess\\BKBrush.bmp");
      MainForm->Canvas->Brush->Bitmap=BLKBrushBmp;
      MainForm->Canvas->FillRect(MainForm->GetClientRect());
      MainForm->Canvas->Brush->Bitmap=NULL;
       delete BLKBrushBmp;
   }
//---------------------------------------------------------------------------
/*
主窗體重畫事件處理函數(shù)
ReleaseDC函數(shù)釋放設(shè)備描述句柄,不然,會(huì)導(dǎo)致系統(tǒng)資源不足
*/
void __fastcall TMainForm::FormPaint(TObject *Sender)
{
  SetMainWindowBk();
  HDC PaintDC = GetDC(MainForm->Handle);
  DrawFrame(PaintDC, MainWndRect);
  ReleaseDC(MainForm->Handle, PaintDC);
  PaintDC = GetDC(InfoForm->Handle);
  DrawFrame(PaintDC, InfoAreaRect);
  ReleaseDC(InfoForm->Handle, PaintDC);
  PrintChessBoard();
}
//---------------------------------------------------------------------------
/*
鼠標(biāo)按下時(shí)事件處理函數(shù)
對(duì)弈狀態(tài)時(shí),按下左鼠標(biāo),可以抓住棋子進(jìn)行移動(dòng),第二次按下時(shí),釋放棋子。
編輯狀態(tài)時(shí),按下左鼠標(biāo),可以使編輯窗體中的棋子透明顯示,第二次在主窗體按下時(shí),
可以添加棋子,再按擊時(shí),擦除棋子。
*/
void __fastcall TMainForm::FormMouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
   POINT point;
   if (Button != mbLeft)
    return;
    MouseX=X;
    MouseY=Y;
   if (EditingChessBoard)
      {
      DoEdit();
      return;
      }

   if (WhoseTurn == computer && NoComputerMove == false)
      return;
  
  point=Point(MouseX,MouseY);
  MainForm->ScreenToClient( point);

   if (!GotStartSquare)
      {
      MoveStartSquare = GetValidSquare(point, CurPlayer, true);
      if (MoveStartSquare == -1)
         return;
      GotStartSquare = true;
      if (!Dragging)
         DrawInvertedBitmap(MoveStartSquare);
      else
         DragStart(MoveStartSquare, point);
      }
   else
      {
      MoveEndSquare = GetValidSquare(point, CurPlayer, false);
      GotStartSquare = false;
      if (MoveEndSquare == -1)
         {
         if (Dragging)
              DragEnd(false);
	 Warning("錯(cuò)誤的移動(dòng)!");
         DrawNormalBitmap(MoveStartSquare);
         return;
         }
      if (!MoveCheck(MoveStartSquare, MoveEndSquare))
         {
         if (Dragging)
            DragEnd(false);
         DrawNormalBitmap(MoveStartSquare);
         return;
         }
      GotValidMove = true;
      UndoMove->Enabled = true;
      if (GameOver)
         EndGame();
      else if (NoComputerMove == false)
         ComputersTurn();
      else if (MultiMove)
         {
         CurPlayer = (CurPlayer == red) ? black : red;
         }
      }
}
//---------------------------------------------------------------------------
/*
輪到計(jì)算機(jī)計(jì)算時(shí)的回調(diào)函數(shù)。
程序處于機(jī)器控制狀態(tài)。主菜單發(fā)生改變。光標(biāo)發(fā)生改變。
*/
void TMainForm::ComputersTurn()
{
   WhoseTurn = computer;
   Screen->Cursor =TCursor(crWaitCursor); //分配等待光標(biāo)給應(yīng)用程序
   MainForm->Menu=TChessThinkMenu; //設(shè)置主窗體主菜單
   ProgramMove();
   MainForm->Menu=TChessMenu;  //動(dòng)態(tài)設(shè)置主窗體主菜單
   WhoseTurn = player;
   Screen->Cursor = TCursor(crArrow); //分配箭頭光標(biāo)給應(yīng)用程序
   if (GameOver)
      EndGame();
}
//---------------------------------------------------------------------------
/*
主菜單項(xiàng)“新建”事件處理函數(shù)
主窗體進(jìn)入初始對(duì)弈狀態(tài)。同時(shí)清除信息窗體中的提示信息。
*/

void __fastcall TMainForm::NewChessGame1Click(TObject *Sender)
{
   Timer1->Enabled=false;
   InfoForm->Timer->Caption="時(shí)間:";
   UndoMove->Enabled = false;
   RedoUndo->Enabled = false;

   blNewChessGame = true;
   NewChessGame();
   PrintChessBoard();
   CurPlayer = Player;
   ComputerColor = Opponent;
}
//---------------------------------------------------------------------------
/*
自定義IDM_FILENEW消息回調(diào)函數(shù)
按擊動(dòng)態(tài)對(duì)話框“Yes”按鈕發(fā)送一個(gè)消息,相當(dāng)于按擊主菜單項(xiàng)“新建”
*/
void TMainForm::FileNew(TMessage &Msg)
{
 MainForm->NewChessGame1Click(NewChessGame1);
}
//---------------------------------------------------------------------------
/*
主菜單項(xiàng)“恢復(fù)”事件處理函數(shù)
調(diào)用公用對(duì)話框打開控件函數(shù),讀入二進(jìn)制棋盤文件。
*/
void __fastcall TMainForm::RestoreGame1Click(TObject *Sender)
{
     if(OpenDialog1->Execute())
      {
      blNewChessGame = false;
      RestoreGame(MainForm->OpenDialog1->FileName.c_str());
      CurPlayer = Player;
      ComputerColor = Opponent;
      RedoUndo->Enabled = false;   //重下菜單變灰
      UndoMove->Enabled = false;   //悔棋菜單變灰
      }
}
//---------------------------------------------------------------------------
/*
自定義函數(shù)
調(diào)用公用對(duì)話框保存控件函數(shù),寫入二進(jìn)制棋盤文件。
*/
void  TMainForm::SaveGameAs()
{
    if(SaveDialog1->Execute())
 {
 blNewChessGame=false;
 SaveGame(MainForm->SaveDialog1->FileName.c_str());
 }
}

//---------------------------------------------------------------------------
/*
主菜單項(xiàng)“保存”事件處理函數(shù)
調(diào)用公用對(duì)話框保存控件函數(shù),寫入二進(jìn)制棋盤文件。
*/
void __fastcall TMainForm::SaveGame1Click(TObject *Sender)
{
  if (blNewChessGame == true)
     SaveGameAs();
   else
     SaveGame(MainForm->SaveDialog1->FileName.c_str());

}
//---------------------------------------------------------------------------
/*
主菜單項(xiàng)“另存為...”事件處理函數(shù)
調(diào)用公用對(duì)話框保存控件函數(shù),寫入二進(jìn)制棋盤文件。
*/
 void __fastcall TMainForm::SaveGameAsClick(TObject *Sender)
{
      SaveGameAs();
}
//---------------------------------------------------------------------------
/*
 自定義消息IDM_ERROR的回調(diào)函數(shù)
  動(dòng)態(tài)構(gòu)造、顯示和刪除ChessErrorDlg。
  雖然沒有寫TChessErrorDlg的析構(gòu)函數(shù),但當(dāng)刪除它們的Owner時(shí)VCL自動(dòng)刪除
  了控件。如果包含非可視化對(duì)象的指針,則需要增加ChessErrorDlg的析構(gòu)函數(shù)。
*/
void TMainForm::EMError(TMessage &Msg)
{
  TChessErrorDlg *ChessErrorDlg= new TChessErrorDlg(Application,(AnsiString)buffer);
  ChessErrorDlg->ShowModal();
  delete  ChessErrorDlg;
}
/*
主菜單項(xiàng)“關(guān)于”事件處理函數(shù)
調(diào)用自定義靜態(tài)對(duì)話框函數(shù),無模態(tài)顯示版權(quán)信息。
*/
void __fastcall TMainForm::AboutClick(TObject *Sender)
{
 AboutDlg->Show();
}
//---------------------------------------------------------------------------
/*
自定義編輯函數(shù)
讀取光標(biāo)位置,把選擇的棋子在主窗體上的合法位置上顯示出來。
*/
void TMainForm::DoEdit()
{
   POINT point;
   SQUARETYPE Square;
   int SelectedItem;
   Modified = true;
   point=Point(MouseX,MouseY);
   MainForm->ScreenToClient(point);
   Square = GetValidSquare(point, black, false);

   if (ChessBoard[Square].piece != empty)
      {
      ChessBoard[Square].piece = empty;
      UpdateChessBoard();
      return;
      }
    SelectedItem = EditForm->GetSelectedItem();

    ChessBoard[Square].piece = (PIECETYPE)(SelectedItem % 7 + 1);
    ChessBoard[Square].color = (SelectedItem < 7) ? red : black;
    UpdateChessBoard();
}

//---------------------------------------------------------------------------
/*
菜單項(xiàng)“擺子”的回調(diào)函數(shù)。
  EditForm->BringToFront()將編輯子窗體EditForm推到前端。
  CheckMenuItem第一個(gè)參數(shù)為菜單句柄,從菜單TChessEditMenu句柄屬性Handle獲取。
      第二個(gè)參數(shù)告訴菜單項(xiàng)是用命令I(lǐng)D指明的。
      第三個(gè)參數(shù)它告訴菜單項(xiàng)是應(yīng)該執(zhí)行哪一些操作。在這種情況下,
      MF_CHECKED告訴CheckMenuItem菜單項(xiàng)被打勾。
      MF_UNCHECKED告訴CheckMenuItem菜單項(xiàng)勾被取消。
*/
void __fastcall TMainForm::MovePieceClick(TObject *Sender)
{
    SaveChessBoard = new BOARDTYPE[0x99];
   if (SaveChessBoard == NULL)
      {
      Error("沒有足夠的內(nèi)存");
      return;
      }
    memcpy(SaveChessBoard, ChessBoard, sizeof(BOARDTYPE) * 0x99);
   Editing = EditingChessBoard = true;
   MainForm->Menu=TChessEditMenu; //動(dòng)態(tài)設(shè)置主窗體主菜單
   Modified = false;
   if (CurPlayer == red)
      {
       CheckMenuItem(TChessEditMenu->Handle, BlackTurn->Command, MF_UNCHECKED);
       CheckMenuItem(TChessEditMenu->Handle, RedTurn->Command, MF_CHECKED);
      }
   else
      {
      CheckMenuItem(TChessEditMenu->Handle, BlackTurn->Command, MF_CHECKED);
      CheckMenuItem(TChessEditMenu->Handle, RedTurn->Command, MF_UNCHECKED);
      }
   EditForm->BringToFront();
}
//---------------------------------------------------------------------------
/*
主菜單項(xiàng)“清除”事件處理函數(shù)
把主窗體中棋盤上棋子全部擦除。
*/

void __fastcall TMainForm::ClearClick(TObject *Sender)
{
  SQUARETYPE sq;

   Modified = true;
    for (sq = 0; sq <= 0x98; sq++)
      ChessBoard[sq].piece = empty;
    UpdateChessBoard();

}
//---------------------------------------------------------------------------

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美一区二区三区在线老狼| 精品美女在线观看| 狠狠色综合日日| 亚洲精品自拍动漫在线| 欧美一区二区在线视频| 99久久国产综合精品麻豆| 老司机精品视频在线| 亚洲精品一二三四区| 久久久精品黄色| 欧美一区二区不卡视频| 色天使久久综合网天天| 国产精品一区二区三区99| 天天影视网天天综合色在线播放| 中文在线免费一区三区高中清不卡| 欧美福利电影网| 色婷婷久久综合| 成人av动漫网站| 国产精品一线二线三线精华| 日本在线播放一区二区三区| 一区二区三区在线看| 中文字幕第一区综合| 2023国产精品| 欧美一区二区女人| 欧美日韩国产电影| 欧美性色欧美a在线播放| 97精品视频在线观看自产线路二| 国产一二精品视频| 精品夜夜嗨av一区二区三区| 日韩精品乱码免费| 亚洲18色成人| 亚洲一区中文日韩| 一区二区在线观看免费视频播放| 中文字幕一区二区视频| 欧美高清在线一区二区| 国产日韩精品一区二区三区| 久久尤物电影视频在线观看| 精品va天堂亚洲国产| 日韩女优av电影| 欧美成人精品1314www| 51精品久久久久久久蜜臀| 欧美日韩精品系列| 欧美日韩中字一区| 欧美精品丝袜久久久中文字幕| 欧美亚洲日本国产| 欧美巨大另类极品videosbest | 蜜臀av性久久久久av蜜臀妖精| 亚洲已满18点击进入久久| 亚洲影院理伦片| 亚洲国产视频网站| 肉丝袜脚交视频一区二区| 日日嗨av一区二区三区四区| 免费观看在线色综合| 激情综合色综合久久| 国产大陆亚洲精品国产| 成人综合在线网站| 91色综合久久久久婷婷| 欧美伊人精品成人久久综合97 | 国产精品一二三区| 国产精品18久久久久久vr| 顶级嫩模精品视频在线看| 99国产精品久久| 欧美日韩在线三级| 日韩欧美在线影院| 中文字幕成人在线观看| 亚洲激情图片qvod| 青青国产91久久久久久| 国产精品一区二区在线观看网站 | 国产精一品亚洲二区在线视频| 国产大陆精品国产| 在线观看日韩国产| 欧美久久一二区| 久久亚洲私人国产精品va媚药| 欧美激情在线观看视频免费| 亚洲人成在线观看一区二区| 亚洲图片欧美一区| 国产做a爰片久久毛片| 91免费在线看| 日韩三级av在线播放| 国产精品入口麻豆原神| 亚洲成a人v欧美综合天堂下载| 久久er99精品| 色丁香久综合在线久综合在线观看| 制服丝袜亚洲播放| 国产精品久久久久久久久图文区| 亚洲国产综合91精品麻豆| 国产美女精品在线| 亚洲精品久久7777| 日韩国产精品大片| 成人性视频网站| 色哟哟一区二区在线观看| 欧美日韩电影在线| 欧美国产一区二区| 亚洲成人免费影院| 成人免费视频国产在线观看| 中文字幕乱码一区二区免费| 欧美在线播放高清精品| 欧美国产综合色视频| 91偷拍与自偷拍精品| 91精品国产综合久久久久| 裸体健美xxxx欧美裸体表演| 国产精品免费视频观看| 欧美精品丝袜中出| 日韩成人精品在线| 国产东北露脸精品视频| 欧美二区乱c少妇| 亚洲国产成人午夜在线一区 | 中文文精品字幕一区二区| 国产欧美一区二区三区沐欲 | 欧美三日本三级三级在线播放| 欧美三级中文字幕在线观看| 欧美电影在线免费观看| 日韩欧美一级在线播放| 国产日韩av一区| 亚洲男人天堂一区| 美女在线一区二区| 东方欧美亚洲色图在线| 欧美性xxxxxxxx| 欧美videos中文字幕| 国产精品日日摸夜夜摸av| 五月激情综合网| 国产91丝袜在线播放九色| 欧美日韩一区二区欧美激情| 久久久99精品免费观看不卡| 亚洲男帅同性gay1069| 久久不见久久见免费视频7| 99久久精品国产麻豆演员表| 日韩一级二级三级精品视频| 亚洲日本在线天堂| 激情综合色播激情啊| 色狠狠综合天天综合综合| 久久蜜臀精品av| 午夜久久久久久久久| av在线不卡免费看| 精品日韩成人av| 亚洲电影视频在线| 波多野结衣91| 26uuu国产电影一区二区| 亚洲综合成人网| www.在线成人| 久久午夜羞羞影院免费观看| 日韩精品91亚洲二区在线观看| aaa欧美日韩| 久久综合色鬼综合色| 日韩激情视频网站| 欧美亚洲愉拍一区二区| 中文字幕亚洲欧美在线不卡| 国产在线不卡视频| 日韩一级完整毛片| av在线一区二区| 久久久久久久综合色一本| 免费在线观看日韩欧美| 欧美日韩免费视频| 亚洲综合色丁香婷婷六月图片| 成人动漫一区二区| 久久精品夜夜夜夜久久| 久久精品99国产精品| 欧美一级黄色片| 日韩制服丝袜av| 欧美日韩国产中文| 亚洲一区二区精品久久av| 色国产综合视频| 一区二区三区四区激情| 91麻豆精品视频| 亚洲女同女同女同女同女同69| www.激情成人| 国产精品国产a| av成人动漫在线观看| 亚洲欧美日韩久久| 日本精品一级二级| 亚洲综合男人的天堂| 欧美曰成人黄网| 亚洲一区影音先锋| 欧美电影一区二区| 免播放器亚洲一区| 26uuu欧美| 成人爱爱电影网址| 亚洲毛片av在线| 欧美日韩午夜精品| 天天做天天摸天天爽国产一区| 91精品国产综合久久久蜜臀图片 | 美女爽到高潮91| 欧美一区二区久久久| 麻豆精品视频在线| 久久久久久一二三区| 成人动漫一区二区在线| 亚洲美女视频在线| 欧美精品色一区二区三区| 久久精品国产久精国产| 久久久777精品电影网影网| av亚洲产国偷v产偷v自拍| 亚洲美女一区二区三区| 5月丁香婷婷综合| 国产在线视频精品一区| 国产精品家庭影院| 欧美性三三影院| 精品中文字幕一区二区小辣椒| 国产清纯白嫩初高生在线观看91 | 婷婷国产v国产偷v亚洲高清| 欧美一区二区三区婷婷月色| 国产又粗又猛又爽又黄91精品|