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

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

?? gameview.cpp

?? 這是一個連連看的游戲源程序
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// GameView.cpp : implementation of the CGameView class
//

#include "stdafx.h"
#include "Game.h"

#include "GameDoc.h"
#include "GameView.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CGameView

IMPLEMENT_DYNCREATE(CGameView, CView)

BEGIN_MESSAGE_MAP(CGameView, CView)
	//{{AFX_MSG_MAP(CGameView)
	ON_COMMAND(ID_EASY, OnEasy)
	ON_COMMAND(ID_NORMAL, OnNormal)
	ON_COMMAND(ID_HARD, OnHard)
	ON_WM_LBUTTONDOWN()
	ON_COMMAND(ID_PROMPT, OnPrompt)
	ON_WM_RBUTTONDOWN()
	ON_COMMAND(ID_TEST, OnTest)
	ON_COMMAND(ID_GAME, OnGame)
	ON_COMMAND(ID_MODE, OnMode)
	ON_COMMAND(ID_NO, OnNo)
	ON_COMMAND(ID_UPDOWN, OnUpdown)
	ON_COMMAND(ID_UPDOWN1, OnUpdown1)
	ON_COMMAND(ID_UPDOWN2, OnUpdown2)
	ON_COMMAND(ID_LEFT, OnLeft)
	ON_COMMAND(ID_LEFTRIGHT, OnLeftright)
	ON_COMMAND(ID_LEFTRIGHT1, OnLeftright1)
	ON_COMMAND(ID_LEFTRIGHT2, OnLeftright2)
	ON_COMMAND(ID_DOWN, OnDown)
	ON_COMMAND(ID_PREV_LAYER, OnPrevLayer)
	ON_COMMAND(ID_NEXT_LAYER, OnNextLayer)
	ON_COMMAND(ID_RESTART, OnRestart)
	ON_COMMAND(ID_PAUSE, OnPause)
	ON_COMMAND(ID_QUIT, OnQuit)
	ON_UPDATE_COMMAND_UI(ID_QUIT, OnUpdateQuit)
	ON_UPDATE_COMMAND_UI(ID_PROMPT, OnUpdatePrompt)
	ON_UPDATE_COMMAND_UI(ID_RESTART, OnUpdateRestart)
	ON_UPDATE_COMMAND_UI(ID_PAUSE, OnUpdatePause)
	ON_WM_CREATE()
	ON_WM_DESTROY()
	ON_WM_TIMER()
	ON_UPDATE_COMMAND_UI(ID_NO, OnUpdateNo)
	ON_UPDATE_COMMAND_UI(ID_LEFTRIGHT, OnUpdateLeftright)
	ON_UPDATE_COMMAND_UI(ID_LEFTRIGHT1, OnUpdateLeftright1)
	ON_UPDATE_COMMAND_UI(ID_LEFTRIGHT2, OnUpdateLeftright2)
	ON_UPDATE_COMMAND_UI(ID_MODE, OnUpdateMode)
	ON_UPDATE_COMMAND_UI(ID_NEXT_LAYER, OnUpdateNextLayer)
	ON_UPDATE_COMMAND_UI(ID_PREV_LAYER, OnUpdatePrevLayer)
	ON_UPDATE_COMMAND_UI(ID_TEST, OnUpdateTest)
	ON_UPDATE_COMMAND_UI(ID_UPDOWN, OnUpdateUpdown)
	ON_UPDATE_COMMAND_UI(ID_UPDOWN1, OnUpdateUpdown1)
	ON_UPDATE_COMMAND_UI(ID_UPDOWN2, OnUpdateUpdown2)
	ON_UPDATE_COMMAND_UI(ID_LEFT, OnUpdateLeft)
	ON_UPDATE_COMMAND_UI(ID_GAME, OnUpdateGame)
	ON_UPDATE_COMMAND_UI(ID_DOWN, OnUpdateDown)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CGameView construction/destruction

CGameView::CGameView()
{
	// TODO: add construction code here
	MyGame = new CMyGame;
	GameMode = DRAW ;
	TestGame = GAME ;
	GameColor[DRAW] = RGB(255,255,255) ;
	GameColor[EDIT] = RGB(255,0,0) ;
	GameColor[BACK] = RGB(0,0,0) ;
	GameColor[LINE] = RGB(0,255,0) ;
	for(int i = 0 ; i < 36 ; i++)
	{
		GameBmp[i].LoadBitmap(IDB_BITMAP1+i) ;
	}
}

CGameView::~CGameView()
{
}

BOOL CGameView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CGameView drawing

void CGameView::OnDraw(CDC* pDC)
{
	CGameDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	if ( MyGame->m_Class != EMPTY )
	{	InitScreen(pDC) ;
		DispPrompt() ;
		DrawGameBlock(pDC, MyGame); }
	else
		DrawBackground(pDC, IDB_BACKGROUND) ;
}

/////////////////////////////////////////////////////////////////////////////
// CGameView printing

BOOL CGameView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CGameView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CGameView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CGameView diagnostics

#ifdef _DEBUG
void CGameView::AssertValid() const
{
	CView::AssertValid();
}

void CGameView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CGameDoc* CGameView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CGameDoc)));
	return (CGameDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CGameView message handlers

void CGameView::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default

	if ((!MyGame->m_Pause)&&(MyGame->m_Class!=EMPTY))
	{
	if (MyGame->GetPoint(point.x, point.y))
	{
		if (GameMode == AUTO )
		{
			DrawFrame(DRAW, MyGame->m_xw[0], MyGame->m_yw[0]) ;
			DrawFrame(DRAW, MyGame->m_xw[1], MyGame->m_yw[1]) ;
			GameMode = DRAW ;
		}
		DrawFrame(EDIT, MyGame->m_xw[MyGame->m_num], MyGame->m_yw[MyGame->m_num]) ;
		if (MyGame->m_num==1)
		{
			if ((MyGame->m_xw[0]!=MyGame->m_xw[1])||(MyGame->m_yw[0]!=MyGame->m_yw[1]))
										//判斷是否與前一點是一樣的
			{
				if (!MyGame->CheckLine(false, 0,1))
				{
					GameMode = DRAW ;
					DrawFrame(GameMode, MyGame->m_xw[0], MyGame->m_yw[0]) ;
					DrawFrame(GameMode, MyGame->m_xw[1], MyGame->m_yw[1]) ;}
				else//成功消去
				{	GameLine(GameColor[LINE]) ;
				    _sleep(100) ;
					GameLine(GameColor[BACK]) ;
				    GameMode = BACK ;
					MyGame->m_Score += (MyGame->m_Layer+1)*10 ;
					MyGame->m_Count-- ;
					MyGame->m_Time+=2 ;
					GameMode = AUTO ;
					MyGame->MoveGraph() ;
					DrawGraph() ;
					if (MyGame->m_Count!=0)//判斷是否已過關
						if (!MyGame->TestAll())
						{	
							if ( MyGame->m_Look != 0 ) 
							{	MyGame->m_Look-- ;
								MyGame->ReInitData() ;
							}
							else
							{
								AfxMessageBox("無牌可消!游戲結束!") ;
								MyGame->m_GameOver = true ;
								MyGame->m_Class = EMPTY ;
							}
							Invalidate() ;
						}
					DispPrompt() ;
				}
			}
			else
				DrawFrame(DRAW, MyGame->m_xw[0], MyGame->m_yw[0]) ;
			MyGame->m_num = -1 ;
			if (MyGame->m_Count==0)//判斷是否過關
			{	
				MyGame->ProcessNext() ;
				Invalidate() ; }
		}
	}
 	}	
	CView::OnLButtonDown(nFlags, point);
}

void CGameView::OnRButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	if ((!MyGame->m_Pause)&&(MyGame->m_Class!=EMPTY))
	{
	while(MyGame->m_num>-1)
	{
		DrawFrame(DRAW, MyGame->m_xw[MyGame->m_num], MyGame->m_yw[MyGame->m_num]) ;
		MyGame->m_num-- ;
	}
	}
	CView::OnRButtonDown(nFlags, point);
}

/***************圖像輸出設計***************/

void CGameView::DrawGameBlock(CDC *pDC, CMyGame *MyGame)
{
	int x,y ;

	for(x=0;x<MyGame->m_Xsize;x++)
		for(y=0;y<MyGame->m_Ysize;y++)
			if ( TestGame )
				DrawFrame(DRAW, x, y) ;
			else
				DrawBmp(pDC, x, y) ;
}

void CGameView::InitScreen(CDC *pDC)
{
	char *Class[3]={"Easy","Normal","Hard"} ;
	if (MyGame->m_Class==EMPTY) return ;
	CBrush BackBrush(RGB(0,0,0)), *OldBrush ;
	OldBrush = pDC->SelectObject(&BackBrush) ;
	CRect WinRect(0,0,MyGame->m_ScreenWidth,MyGame->m_ScreenHeight) ;
	pDC->Rectangle(&WinRect) ;
	pDC->SelectObject(OldBrush) ;
	DispProgress(pDC) ;

	pDC->SetBkColor(RGB(0,0,0)) ;
	pDC->SetTextColor(RGB(255,255,0)) ;
	pDC->TextOut(18,30,"洗") ;
	pDC->TextOut(18,45,"牌") ;
	pDC->TextOut(160,5,"關卡") ;
	pDC->TextOut(160,35,"提示") ;
	CFont GameFont, *OldFont ;
	LOGFONT Font={30,10,0,0,FW_HEAVY,0,0,0,ANSI_CHARSET,
		OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,"黑體"} ;
	GameFont.CreateFontIndirect(&Font);
	OldFont = pDC->SelectObject(&GameFont) ;
	pDC->SetTextColor(RGB(200,200,255)) ;
	pDC->TextOut(0,0,"Class") ;
	pDC->SelectObject(&OldFont) ;
	LOGFONT Font1={30,10,0,0,FW_HEAVY,0,0,0,ANSI_CHARSET,
		OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,"Blackadder ITC"} ;
	CFont GameFont1 ;
	GameFont1.CreateFontIndirect(&Font1);
	OldFont = pDC->SelectObject(&GameFont1) ;
	pDC->TextOut(60,0,Class[MyGame->m_Class-1]) ;
	pDC->SelectObject(&OldFont) ;
}

void CGameView::DispPrompt()
{
	CClientDC dc(this) ;
	char *Title[13]={"不變化 ","向下  ","向左  ","上下分離","左右分離","上下集中",
		"左右集中","上左下右","左下右上","向外擴散","向內集中","向上  ","向右  "} ;
	CString str ;

	if (MyGame->m_Class==EMPTY) return ;
	CFont GameFont, *OldFont ;
	LOGFONT Font={30,10,0,0,FW_HEAVY,0,0,0,ANSI_CHARSET,
		OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,"黑體"} ;
	GameFont.CreateFontIndirect(&Font);
	OldFont = dc.SelectObject(&GameFont) ;

	dc.SetBkColor(RGB(0,0,0)) ;
	dc.SetTextColor(RGB(200,200,255)) ;
	str.Format("%#2d",MyGame->m_Look) ;
	dc.TextOut(38,30,str) ;
	str.Format("%#2d",MyGame->m_Layer) ;
	dc.TextOut(210,0,str) ;
	Font.lfWidth = 20 ;
	dc.SelectObject(&GameFont) ;
	dc.TextOut(260,0,Title[MyGame->m_Layer]) ;
	str.Format("%#2d",MyGame->m_Prompt) ;
	dc.TextOut(210,30,str) ;
	str.Format("%#5d",MyGame->m_Score) ;
	dc.TextOut(680,25,str) ;
	dc.SelectObject(&OldFont) ;
}

void CGameView::DrawFrame(int Mode, int xw, int yw)
{
	CClientDC dc(this) ;
	if ( TestGame )
	{
		switch( Mode )
		{
		case DRAW :
			if ( MyGame->m_Data[xw][yw] != 0 )
			{
				DrawBack(&dc, DRAW, xw, yw) ;
				DrawBlock(&dc, BACK, xw, yw) ;
				DrawData(&dc, xw, yw) ;
			}
			else
				DrawBack(&dc, BACK, xw, yw) ;
			break ;
		case EDIT :
			DrawBlock(&dc, EDIT, xw, yw) ;
			break ;
		case BACK :
			DrawBack(&dc, BACK, xw, yw) ;
			break ;
		}
	}
	else
	{
		switch( Mode )
		{
		case DRAW :
			DrawBmp(&dc, xw, yw) ;
			break ;
		case EDIT :
			DrawBlock(&dc, EDIT, xw, yw) ;
			break ;
		case BACK :
			DrawBack(&dc, BACK, xw, yw) ;
			break ;
		}
	}
}

void CGameView::GameLine(COLORREF color)
{
	CClientDC dc(this) ;
	int x, y, x0, y0 ;
	CPen LinePen(0,2,color), *OldPen ;

	MyGame->TranToXYCenter(&x0, &y0, 0) ;
	OldPen = dc.SelectObject(&LinePen) ;
	dc.MoveTo(x0, y0) ;
	for(int i=2; i<=MyGame->m_num; i++)
	{
		MyGame->TranToXYCenter(&x, &y, i) ;
		dc.LineTo(x,y) ;
	}
	MyGame->TranToXYCenter(&x, &y, 1) ;
	dc.LineTo(x,y) ;
	dc.SelectObject(&OldPen) ;
}

void CGameView::DispProgress(CDC *pDC)
{
	CRect Rect(258,30,560,50);
	CBrush MyBrush(RGB(255,0,0)), *OldBrush ; ;
	pDC->Rectangle(&Rect) ;
	OldBrush = pDC->SelectObject(&MyBrush) ;
	pDC->Rectangle(Rect.left+2,Rect.top+2,Rect.left+MyGame->m_Time,Rect.bottom-2) ;
	pDC->SelectObject(&OldBrush) ;
}

void CGameView::DrawBmp(CDC *pDC, int xw, int yw)
{
	if ( MyGame->m_Data[xw][yw]==0 ) 
	{
		DrawBack(pDC, BACK, xw, yw) ;
		return ;
	}
	CDC dcMemory;
	dcMemory.CreateCompatibleDC(pDC);
		
	CBitmap* pOldBitmap = dcMemory.SelectObject(&GameBmp[MyGame->m_Data[xw][yw]-1]);
	int x, y ;

	MyGame->TranToXY(&x, &y, xw, yw) ;
	pDC->BitBlt(x, y, MyGame->m_dx, MyGame->m_dy, &dcMemory, 
			0, 0, SRCCOPY);	
	dcMemory.SelectObject(pOldBitmap);
}

void CGameView::DrawBack(CDC *pDC, int Mode, int xw, int yw)
{
	int x, y ;
	MyGame->TranToXY(&x, &y, xw, yw) ;
	DrawBack0(pDC, Mode, x, y, x+MyGame->m_dx, y+MyGame->m_dy) ;
}

void CGameView::DrawBack0(CDC *pDC, int Mode, int x, int y, int x1, int y1)
{
	CPen MyPen(0,1,GameColor[Mode]), *OldPen ;
	CBrush MyBrush(GameColor[Mode]), *OldBrush ;
	OldPen = pDC->SelectObject(&MyPen) ;
	OldBrush = pDC->SelectObject(&MyBrush) ;
	pDC->Rectangle(x,y,x1, y1) ;
	pDC->SelectObject(&OldBrush) ;
	pDC->SelectObject(&OldPen) ; 
}

void CGameView::DrawBlock(CDC *pDC, int Mode, int xw, int yw)
{
	int x, y ;
	
	CPen MyPen(0,2,GameColor[Mode]), *OldPen ;
	OldPen = pDC->SelectObject(&MyPen) ;
	MyGame->TranToXY(&x, &y, xw, yw) ;
	pDC->MoveTo(x+1,y+1) ;
	pDC->LineTo(x+1, y+MyGame->m_dy-1) ;
	pDC->LineTo(x+MyGame->m_dx-1, y+MyGame->m_dy-1) ;
	pDC->LineTo(x+MyGame->m_dx-1, y) ;
	pDC->LineTo(x+1,y+1) ;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩亚洲综合| 欧美韩日一区二区三区四区| 91麻豆.com| av一区二区不卡| 国产精品国产三级国产a| 美女被吸乳得到大胸91| 久久免费偷拍视频| 亚洲精品一卡二卡| 国产成人三级在线观看| 欧美大片一区二区三区| 亚洲一区二区三区视频在线| 成人久久久精品乱码一区二区三区 | 一本一道综合狠狠老| 精品国产人成亚洲区| 亚洲r级在线视频| 91美女精品福利| 国产精品久99| 91在线视频播放| 日本一区二区三区免费乱视频| 国产喂奶挤奶一区二区三区| 日韩三级视频在线看| 亚洲国产成人av网| 色噜噜夜夜夜综合网| 亚洲视频在线一区观看| 国产精品白丝jk黑袜喷水| 26uuu精品一区二区三区四区在线| 亚洲成av人片在www色猫咪| 91视频.com| 一区二区三区四区在线免费观看| 91在线视频播放| 亚洲女同ⅹxx女同tv| 91久久香蕉国产日韩欧美9色| 国产精品传媒视频| 91美女福利视频| 亚洲免费观看高清完整版在线观看熊 | 国产性天天综合网| 国产精品自在欧美一区| 久久久久国产精品麻豆ai换脸| 久草在线在线精品观看| 精品国产3级a| 国产成人午夜片在线观看高清观看| 久久影视一区二区| 白白色 亚洲乱淫| 亚洲欧美一区二区三区极速播放 | 91精品国产综合久久久久久久 | 欧美日韩一区高清| 亚洲成人免费在线观看| 日韩一区二区免费电影| 紧缚奴在线一区二区三区| 久久久精品欧美丰满| 成人黄色av电影| 一区二区日韩av| 欧美一区永久视频免费观看| 国产一区二区三区在线观看免费视频| 久久综合色一综合色88| 99re热这里只有精品免费视频| 一区二区三区四区蜜桃| 91麻豆精品国产自产在线 | 午夜国产精品影院在线观看| 欧美一级专区免费大片| 国产suv一区二区三区88区| 亚洲视频一二三| 欧美一区二区三区在线观看 | 国产亚洲综合性久久久影院| 成人va在线观看| 亚洲va在线va天堂| 久久精品一区蜜桃臀影院| 一本一道波多野结衣一区二区 | 亚洲综合激情另类小说区| 欧美一区二区精品在线| 丰满少妇久久久久久久| 午夜av一区二区三区| 国产欧美日韩亚州综合 | 一本一本大道香蕉久在线精品| 日韩电影在线观看电影| 国产免费观看久久| 91精品国产一区二区人妖| 粉嫩av一区二区三区| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲欧美日韩一区二区| 日韩欧美国产高清| 色综合久久久久网| 国产美女在线精品| 日本不卡一二三| 亚洲人成影院在线观看| 国产亚洲福利社区一区| 538在线一区二区精品国产| 日韩欧美久久一区| 91丨porny丨蝌蚪视频| 中文字幕一区三区| 色先锋资源久久综合| 日本vs亚洲vs韩国一区三区二区 | 正在播放亚洲一区| 99久久精品国产毛片| 国产尤物一区二区在线| 无码av免费一区二区三区试看| 国产精品成人一区二区艾草 | 亚洲人成网站在线| 国产欧美日韩亚州综合| 精品国产青草久久久久福利| 欧美精品丝袜久久久中文字幕| 欧美三级资源在线| 久久蜜桃香蕉精品一区二区三区| 日本不卡在线视频| 国产清纯美女被跳蛋高潮一区二区久久w| 欧美午夜不卡视频| 色88888久久久久久影院按摩| 成人黄色免费短视频| 国产一区二区三区不卡在线观看| 欧美aaaaaa午夜精品| 亚洲国产日韩精品| 亚洲一区二区影院| 亚洲国产成人av网| 亚洲福中文字幕伊人影院| 一区二区不卡在线视频 午夜欧美不卡在| 国产精品毛片高清在线完整版| 国产三级欧美三级日产三级99 | 日韩黄色免费网站| 亚洲一区二区在线观看视频| 亚洲黄色录像片| 亚洲国产毛片aaaaa无费看 | 欧美国产精品久久| 国产区在线观看成人精品| 国产亚洲精品免费| 欧美激情在线一区二区三区| 中文字幕精品一区二区精品绿巨人 | 欧美日韩视频在线第一区| 欧洲亚洲国产日韩| 7777女厕盗摄久久久| 69堂精品视频| 精品国产免费久久| 中文字幕精品三区| 夜夜嗨av一区二区三区四季av| 亚洲理论在线观看| 婷婷综合在线观看| 久久99国产精品成人| 波多野结衣中文字幕一区| 91在线观看下载| 欧美男生操女生| 精品国产露脸精彩对白| 中文字幕一区在线观看| 午夜电影一区二区| 国产一区在线视频| 91日韩精品一区| 7777精品久久久大香线蕉| 精品国产91洋老外米糕| 亚洲欧美日韩中文字幕一区二区三区| 亚洲国产中文字幕| 国产在线观看一区二区| 91在线观看高清| 日韩无一区二区| 1000部国产精品成人观看| 日韩国产欧美三级| 不卡欧美aaaaa| 91麻豆精品国产自产在线观看一区| 久久日一线二线三线suv| 亚洲少妇中出一区| 久久 天天综合| 91国偷自产一区二区三区观看| 日韩一区二区免费在线观看| 国产精品免费视频网站| 日韩二区三区四区| 99久久99久久免费精品蜜臀| 欧美一区二区大片| 亚洲精品国产精品乱码不99| 蜜桃传媒麻豆第一区在线观看| 成年人国产精品| 日韩三级中文字幕| 亚洲综合视频在线观看| 懂色av一区二区三区免费看| 欧美福利视频一区| 一区二区三区高清在线| 成人亚洲一区二区一| 欧美一区二区国产| 日韩影院在线观看| 成人一道本在线| 欧美大片一区二区| 亚洲国产精品久久久久秋霞影院| 国产99久久精品| 国产成a人无v码亚洲福利| 国产mv日韩mv欧美| 精品国产精品一区二区夜夜嗨| 夜夜夜精品看看| 成人av在线一区二区三区| 日韩三级av在线播放| 午夜国产精品一区| 在线观看成人免费视频| 最新日韩av在线| 国产另类ts人妖一区二区| 在线不卡中文字幕| 亚洲午夜av在线| 欧美综合一区二区三区| 亚洲日本在线a| 成人app网站| 国产精品久久久久久久第一福利| 精品一区二区av| 26uuu亚洲综合色欧美| 久久国产精品露脸对白| 欧美一级久久久久久久大片| 香蕉久久夜色精品国产使用方法|