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

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

?? hgameview.cpp

?? 貪吃蛇
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
// HGAMEView.cpp : CHGAMEView 類的實現
//

#include "stdafx.h"
#include "HGAME.h"

#include "HGAMEDoc.h"
#include "HGAMEView.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CHGAMEView

IMPLEMENT_DYNCREATE(CHGAMEView, CView)

BEGIN_MESSAGE_MAP(CHGAMEView, CView)
	//{{AFX_MSG_MAP(CSkyblue_RectView)
	ON_COMMAND(ID_GAME_EXIT, OnGameExit)
	ON_COMMAND(ID_HELP_ABOUT, OnHelpAbout)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_WM_KEYDOWN()
	ON_WM_TIMER()
	ON_COMMAND(ID_GAME_START, OnGameStart)
	ON_COMMAND(ID_GAME_END, OnGameEnd)
	ON_UPDATE_COMMAND_UI(ID_GAME_START, OnUpdateGameStart)
	ON_UPDATE_COMMAND_UI(ID_GAME_OPTION, OnUpdateGameOption)
	ON_UPDATE_COMMAND_UI(ID_GAME_END, OnUpdateGameEnd)
	ON_UPDATE_COMMAND_UI(ID_GAME_EXIT, OnUpdateGameExit)
	ON_UPDATE_COMMAND_UI(ID_HELP_ABOUT, OnUpdateHelpAbout)
	ON_UPDATE_COMMAND_UI(ID_HELP_HELP, OnUpdateHelpHelp)
	ON_WM_CREATE()
	ON_UPDATE_COMMAND_UI(ID_OPTION_LEVEL1, OnUpdateOptionLevel1)
	ON_UPDATE_COMMAND_UI(ID_OPTION_LEVEL2, OnUpdateOptionLevel2)
	ON_UPDATE_COMMAND_UI(ID_OPTION_LEVEL3, OnUpdateOptionLevel3)
	ON_UPDATE_COMMAND_UI(ID_OPTION_LEVEL4, OnUpdateOptionLevel4)
	ON_UPDATE_COMMAND_UI(ID_OPTION_LEVEL5, OnUpdateOptionLevel5)
	ON_UPDATE_COMMAND_UI(ID_OPTION_LEVEL6, OnUpdateOptionLevel6)
	ON_COMMAND(ID_OPTION_LEVEL1, OnOptionLevel1)
	ON_COMMAND(ID_OPTION_LEVEL2, OnOptionLevel2)
	ON_COMMAND(ID_OPTION_LEVEL3, OnOptionLevel3)
	ON_COMMAND(ID_OPTION_LEVEL4, OnOptionLevel4)
	ON_COMMAND(ID_OPTION_LEVEL5, OnOptionLevel5)
	ON_COMMAND(ID_OPTION_LEVEL6, OnOptionLevel6)
	ON_UPDATE_COMMAND_UI(ID_GAME_PAUSH, OnUpdateGamePaush)
	ON_COMMAND(ID_GAME_PAUSH, OnGamePaush)
END_MESSAGE_MAP()

// CHGAMEView 構造/析構

CHGAMEView::CHGAMEView()
{
	// TODO: 在此處添加構造代碼
	//第一次開始游戲
	m_bFistPlay = TRUE;

	//缺省為不是游戲暫停狀態
	m_bGamePaush = FALSE;

	
	//缺省為畫網格線
	m_bDrawGrid = TRUE;

	//總分值清零
	m_iPerformance = 0;

	//測試值:為12行,10列
	m_iRow = 12;
	m_iCol = 10;

	//左上角X,Y坐標
	m_iStartX = 10;
	m_iStartY = 10;

	//缺省級別為3級
	m_iLevel = 2;
	//第一種樣式
	m_iBlockSytle = 0;

	//缺省方塊大小為m_iLarge個象素
	m_iLarge = 30;

	//缺省游戲是結束的
	m_bGameEnd = TRUE;

	int i,j;

	//賦初值
	for (i=0;i<100;i++)
		for (j=0;j<100;j++)
			GameStatus[i][j]=0;

	//各種形狀方塊的接觸面數據 
	//如果某種形狀的方塊沒有4個接觸面,則后面的數據填-1
	for (i=0;i<74;i++)
		for (j=0;j<4;j++)
			InterFace[i][j] = -1;

/*
1  ----
*/
	InterFace[1][0] = 3;
	
	InterFace[11][0] = 0;	InterFace[11][1] = 1;	InterFace[11][2] = 2;	InterFace[11][3] = 3;
/*
2	--
	--
*/  
	InterFace[2][0] = 1;	InterFace[2][1] = 3;
/*
3   -
   ---

*/	
	InterFace[3][0] = 0;	InterFace[3][1] = 2;	InterFace[3][2] = 3;
	
	InterFace[31][0] = 2;	InterFace[31][1] = 3;
	
	InterFace[32][0] = 0;	InterFace[32][1] = 2;	InterFace[32][2] = 3;
	
	InterFace[33][0] = 0;	InterFace[33][1] = 3;
/*
4  --
  --
*/	
	InterFace[4][0] = 1;	InterFace[4][1] = 3;
	
	InterFace[41][0] = 0;	InterFace[41][1] = 2;	InterFace[41][2] = 3;
/*
5  --
    --
*/	
	InterFace[5][0] = 1;	InterFace[5][1] = 3;

	InterFace[51][0] = 0;	InterFace[51][1] = 2;	InterFace[51][2] = 3;
/*
6  --
    -
	-
*/	
	InterFace[6][0] = 0;	InterFace[6][1] = 3;
	
	InterFace[61][0] = 1;	InterFace[61][1] = 2;	InterFace[61][2] = 3;

	InterFace[62][0] = 2;	InterFace[62][1] = 3;

	InterFace[63][0] = 0;	InterFace[63][1] = 1;	InterFace[63][2] = 3;
/*
7  --
   -
   -
*/
	InterFace[7][0] = 2;	InterFace[7][1] = 3;	
	InterFace[71][0] = 1;	InterFace[71][1] = 2;	InterFace[71][2] = 3;

	InterFace[72][0] = 0;	InterFace[72][1] = 3;

	InterFace[73][0] = 0;	InterFace[73][1] = 1;	InterFace[73][2] = 3;

}

CHGAMEView::~CHGAMEView()
{
}

BOOL CHGAMEView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: 在此處通過修改
	//  CREATESTRUCT cs 來修改窗口類或樣式

	return CView::PreCreateWindow(cs);
}

int CHGAMEView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CView::OnCreate(lpCreateStruct) == -1)
		return -1;
	


	//決定第一次掉下來的方塊的樣式
	m_inextStatus = Random(7);
	
	return 0;
}

// CHGAMEView 繪制

void CHGAMEView::OnDraw(CDC* pDC)
{
	CHGAMEDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if (!pDoc)
		return;

	// TODO: 在此處為本機數據添加繪制代碼
	DcEnvInitial();
	DrawGame(&m_memDC);  //在內存位圖的游戲區域繪制

	pDC->BitBlt(0,0,m_nWidth,m_nHeight,&m_memDC,0,0,SRCCOPY);
}
void CHGAMEView::DcEnvInitial(void)
{
	if(m_bFistPlay)
	{
		m_bFistPlay = FALSE;
		//用默認的參數,獲取當前屏幕設備環境
		CDC *pWindowDC = GetDC();

		//1.用于映射屏幕的內存設備環境
		//獲取游戲窗口的大小用于下面設置內存位圖的尺寸
		CRect windowRect;
		GetClientRect(&windowRect);
		m_nWidth = windowRect.Width();
		m_nHeight = windowRect.Height();

		//內存設備環境與屏幕設備環境關聯(兼容)
		m_memDC.CreateCompatibleDC(pWindowDC);
		//內存位圖與與屏幕關聯(兼容),大小為游戲窗口的尺寸
		m_memBmp.CreateCompatibleBitmap(pWindowDC,m_nWidth,m_nHeight);
		//內存設備環境與內存位圖關聯,以便通過m_memDC在內存位圖上作畫
		m_memDC.SelectObject(&m_memBmp);

		//2.存儲方塊位圖的內存資源
		//內存設備環境與屏幕設備環境關聯(兼容)
		m_memRectDC.CreateCompatibleDC(pWindowDC);
		//相當于將外部位圖rect.bmp動態載入m_hMemRectBmp中
		m_hMemRectBmp=(HBITMAP)LoadImage(NULL,L"rect.bmp",IMAGE_BITMAP,30,30,LR_LOADFROMFILE);
		//內存設備環境與內存位圖關聯,以便通過m_memDC在內存位圖上作畫
		SelectObject(m_memRectDC.m_hDC, m_hMemRectBmp);	


	
	//黑色的黑筆
	m_pBlackPen  = new CPen(PS_SOLID,1,BLACK);

	//畫刷
	m_pGrayBrush  = new CBrush(RGB(66,66,66));
	m_pBlackBrush  = new CBrush(BLACK);
	}
}

void CHGAMEView::DCEnvClear(void)
{
	//設備環境
	m_memDC.DeleteDC();
	m_memRectDC.DeleteDC();
	//位圖資源
	DeleteObject(m_memBmp);
	DeleteObject(m_hMemRectBmp);


	delete(m_pBlackPen);
	delete(m_pGrayBrush);
	delete(m_pBlackBrush);

}


void CHGAMEView::DrawGame(CDC *pDC)
{
		int i,j;
	//選用黑色畫刷,繪制整個游戲所在窗口的背景
	pDC -> SelectObject(m_pBlackBrush);
	CRect rect;
	GetClientRect(&rect);
	pDC -> Rectangle(rect);

	//選用灰色畫刷,繪制游戲區域的背景
	pDC -> SelectObject(m_pGrayBrush);
	pDC -> Rectangle(m_iStartY ,m_iStartX, m_iStartY + 301, m_iStartX + 360);	

	pDC->SelectObject(m_pBlackPen);	
	//畫網格線
	if (m_bDrawGrid)
	{
		//畫橫線
		for (i=0;i<m_iRow;i++)
		{
			pDC->MoveTo(m_iStartY, m_iStartX + i*m_iLarge);
			pDC->LineTo(m_iStartY+300, m_iStartX +i*m_iLarge);
		}	
		
		//畫豎線
		for (i=0;i<m_iCol;i++)
		{
			pDC->MoveTo(m_iStartY+i*m_iLarge, m_iStartX);
			pDC->LineTo(m_iStartY+i*m_iLarge, m_iStartX+360);
		}
	}

	int x,y,nW,nH;

	//小方塊的繪制
	for (i=0;i<m_iRow;i++)
		for (j=0;j<m_iCol;j++)
		{
			if (GameStatus[i][j]==MAP_STATE_NOT_EMPTY)
			{
				//在游戲區域中狀態為被占用狀態的區域繪制小方塊
				x = m_iStartY+j*m_iLarge +2;
				y = m_iStartX+i*m_iLarge +2;
				nW = m_iLarge-4;
				nH = m_iLarge-4;
			pDC->BitBlt(x,y,nW,nH,&m_memRectDC,m_iBlockSytle*30,0,SRCCOPY);
			}
		}

	//顯示游戲區域及游戲級別的漢字描述
	if (!m_bGameEnd)
	{
		pDC -> SetBkColor(BLACK);
		pDC -> SetTextColor(WHITE);

		pDC -> TextOut(m_iStartY+320, m_iStartX+280, L"游戲級別:");
		pDC -> TextOut(m_iStartY+320, m_iStartX+300,m_strLevel);
	}
				
	//顯示總分
	if (!m_bGameEnd)
	{
		CString lsStr;	
		lsStr.Format(L"總分為:%d 分",m_iPerformance);
		pDC -> SetBkColor(BLACK);
		pDC -> SetTextColor(WHITE);
		pDC -> TextOut(m_iStartY+320, m_iStartX+180,lsStr);
	}

	//畫下一次將要出現的方塊,用于提示用戶
	if (!m_bGameEnd)
	{
		pDC -> SetBkColor(BLACK);
		pDC -> SetTextColor(WHITE);
		pDC -> TextOut(m_iStartY+320, m_iStartX,L"下一個方塊:");

		int x,y,nW,nH;		
		for (UINT k=0;k<4;k++)
		{
			i = NextStatus[k][0];
		    j = NextStatus[k][1];

				x = m_iStartY+j*30 +2+320;
				y = m_iStartX+i*30 +2+30;
				nW = m_iLarge-4;
				nH = m_iLarge-4;
		pDC->BitBlt(x,y,nW,nH,&m_memRectDC,m_iBlockSytle*30,0,SRCCOPY);
		}
	}
}

void CHGAMEView::OnTimer(UINT nIDEvent) 
{
	//如果原來的方塊已到底或游戲剛開始,則掉下一個新的方塊
	int i,j,k;
	if (m_isBottom)
	{
		//1.產生下一個隨機下墜物
		m_icurrentStatus = m_inextStatus;
		m_inextStatus = Random(7);  //得到下一次的方塊樣式
	//	if (m_inextStatus==0) m_inextStatus++;

		//2.修改新的“下一下墜物”
		RectStatusToNextStatus( m_inextStatus );
	//	CRect rect(m_iStartY+320, m_iStartX, m_iStartY+440, m_iStartX+160);
	//	InvalidateRect(&rect);
	//	Invalidate(FALSE);
		
		//3.將舊的“下一下墜物”用作當前使用
		m_currentRect = m_icurrentStatus;   
		//根據當前下墜物的形狀去初始化激活狀態下的下墜物坐標
		RectStatusToActiveStatus( m_icurrentStatus );
		//將當前動態數組中的數據反映到大數組中
		ActiveStatusToGameStatus();
		m_isBottom = FALSE;

		//4.判斷當前方塊是否已到底
		IsBottom();

    	//5.判斷游戲是否已結束: 碰了底,且第1行有小方塊
		if (m_isBottom)
			for (i=0;i<m_iCol;i++)
				if (GameStatus[0][i])
				{
					KillTimer(1);
					AfxMessageBox(L"游戲已結束!");
					for (j=0;j<m_iRow;j++)
						for (k=0;k<m_iCol;k++)
							GameStatus[j][k]=0;
					Invalidate(FALSE);
					m_bGameEnd = TRUE;
					break;
				}

	}
	else  //當前方塊下降
	{
		RectDown();
	}
	
	CView::OnTimer(nIDEvent);
}
int CHGAMEView::Random(int MaxNumber)
{
	//部下隨機種子
	srand( (unsigned)time( NULL ) );
	//產生隨機數
	int random = rand() % MaxNumber;
	//保證非0
	if(random == 0 ) random++;

	return random;
}

void CHGAMEView::ActiveStatusToGameStatus()
{
	int x1,x2,x3,x4,y1,y2,y3,y4;
	x1 = ActiveStatus[0][0];
	x2 = ActiveStatus[1][0];
	x3 = ActiveStatus[2][0];
	x4 = ActiveStatus[3][0];
	y1 = ActiveStatus[0][1];
	y2 = ActiveStatus[1][1];
	y3 = ActiveStatus[2][1];
	y4 = ActiveStatus[3][1];
	GameStatus[x1][y1]=MAP_STATE_NOT_EMPTY;
	GameStatus[x2][y2]=MAP_STATE_NOT_EMPTY;
	GameStatus[x3][y3]=MAP_STATE_NOT_EMPTY;
	GameStatus[x4][y4]=MAP_STATE_NOT_EMPTY;
}

void CHGAMEView::RectStatusToActiveStatus(int m_which)
{

	switch(m_which)
	{
	case 1:   
		ActiveStatus[0][0] = 0;	ActiveStatus[0][1] = 5;	ActiveStatus[1][0] = 1;	ActiveStatus[1][1] = 5;
		ActiveStatus[2][0] = 2;	ActiveStatus[2][1] = 5;	ActiveStatus[3][0] = 3;	ActiveStatus[3][1] = 5;
		break;
	case 2:    
		ActiveStatus[0][0] = 0;	ActiveStatus[0][1] = 5;	ActiveStatus[1][0] = 1;	ActiveStatus[1][1] = 5;
		ActiveStatus[2][0] = 0;	ActiveStatus[2][1] = 6;	ActiveStatus[3][0] = 1;	ActiveStatus[3][1] = 6;
		break;
	case 3:
		ActiveStatus[0][0] = 1;	ActiveStatus[0][1] = 4;	ActiveStatus[1][0] = 0;	ActiveStatus[1][1] = 5;
		ActiveStatus[2][0] = 1;	ActiveStatus[2][1] = 5;	ActiveStatus[3][0] = 1;	ActiveStatus[3][1] = 6;
		break;
	case 4:
		ActiveStatus[0][0] = 0;	ActiveStatus[0][1] = 5;	ActiveStatus[1][0] = 1;	ActiveStatus[1][1] = 5;
		ActiveStatus[2][0] = 1;	ActiveStatus[2][1] = 6;	ActiveStatus[3][0] = 2;	ActiveStatus[3][1] = 6;
		break;
	case 5:
		ActiveStatus[0][0] = 1;	ActiveStatus[0][1] = 5;	ActiveStatus[1][0] = 2;	ActiveStatus[1][1] = 5;
		ActiveStatus[2][0] = 0;	ActiveStatus[2][1] = 6;	ActiveStatus[3][0] = 1;	ActiveStatus[3][1] = 6;
		break;
	case 6:
		ActiveStatus[0][0] = 0;	ActiveStatus[0][1] = 5;	ActiveStatus[1][0] = 0;	ActiveStatus[1][1] = 6;
		ActiveStatus[2][0] = 1;	ActiveStatus[2][1] = 6;	ActiveStatus[3][0] = 2;	ActiveStatus[3][1] = 6;
		break;
	case 7:
		ActiveStatus[0][0] = 0;	ActiveStatus[0][1] = 5;	ActiveStatus[1][0] = 1;	ActiveStatus[1][1] = 5;
		ActiveStatus[2][0] = 2;	ActiveStatus[2][1] = 5;	ActiveStatus[3][0] = 0;	ActiveStatus[3][1] = 6;
		break;
	}
}

void CHGAMEView::RectStatusToNextStatus(int m_which)
{
	switch(m_which)
	{
	case 1:
		NextStatus[0][0] = 0;	NextStatus[0][1] = 1;	NextStatus[1][0] = 1;	NextStatus[1][1] = 1;
		NextStatus[2][0] = 2;	NextStatus[2][1] = 1;	NextStatus[3][0] = 3;	NextStatus[3][1] = 1;
		break;
	case 2:
		NextStatus[0][0] = 0;	NextStatus[0][1] = 1;	NextStatus[1][0] = 1;	NextStatus[1][1] = 1;
		NextStatus[2][0] = 0;	NextStatus[2][1] = 2;	NextStatus[3][0] = 1;	NextStatus[3][1] = 2;
		break;
	case 3:
		NextStatus[0][0] = 1;	NextStatus[0][1] = 0;	NextStatus[1][0] = 0;	NextStatus[1][1] = 1;
		NextStatus[2][0] = 1;	NextStatus[2][1] = 1;	NextStatus[3][0] = 1;	NextStatus[3][1] = 2;
		break;
	case 4:
		NextStatus[0][0] = 0;	NextStatus[0][1] = 1;	NextStatus[1][0] = 1;	NextStatus[1][1] = 1;
		NextStatus[2][0] = 1;	NextStatus[2][1] = 2;	NextStatus[3][0] = 2;	NextStatus[3][1] = 2;
		break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜久久福利影院| 亚洲激情五月婷婷| 99在线热播精品免费| 亚洲电影一区二区| 1024国产精品| 精品成a人在线观看| 精品视频免费在线| 99国产欧美另类久久久精品| 精品亚洲成a人在线观看| 亚洲综合999| 一级日本不卡的影视| 成人精品小蝌蚪| 青青青伊人色综合久久| 亚洲乱码国产乱码精品精可以看| 欧美成人午夜电影| 欧美一区二区三区在线视频| 一本到不卡免费一区二区| 91福利资源站| 日本不卡视频一二三区| 亚洲激情成人在线| 国产精品美日韩| 精品国产免费人成电影在线观看四季| 欧美日韩国产天堂| 欧美无砖砖区免费| 在线观看视频一区| 91麻豆国产自产在线观看| jizz一区二区| 丁香婷婷综合激情五月色| 久久国内精品自在自线400部| 视频在线观看一区| 天堂影院一区二区| 视频一区视频二区中文字幕| 国产精品国产三级国产aⅴ中文 | 51精品久久久久久久蜜臀| 91亚洲资源网| 国产风韵犹存在线视精品| 精品夜夜嗨av一区二区三区| 另类小说色综合网站| 免费成人av在线| 久久99国产乱子伦精品免费| 精品午夜久久福利影院| 国产老妇另类xxxxx| 国内成人精品2018免费看| 国产麻豆视频一区二区| 国产精品888| 99久精品国产| 欧美日韩午夜精品| 制服丝袜国产精品| 日韩欧美的一区| 久久久亚洲精品一区二区三区 | 中文字幕在线不卡国产视频| 亚洲欧美激情插 | 国产精品美日韩| 日韩激情视频在线观看| 日韩精品午夜视频| 蜜臀av一区二区三区| 玖玖九九国产精品| 国产精品小仙女| 91亚洲永久精品| 欧美日本在线看| 日韩欧美一区中文| 国产欧美va欧美不卡在线| 日韩一区欧美一区| 天天做天天摸天天爽国产一区| 久久99精品国产麻豆婷婷| 国产69精品一区二区亚洲孕妇| 不卡区在线中文字幕| 欧美亚洲一区二区三区四区| 日韩一区二区高清| 国产精品进线69影院| 亚洲国产精品人人做人人爽| 蜜臀av一区二区在线观看| 顶级嫩模精品视频在线看| 在线看国产一区二区| 日韩欧美国产综合| 国产精品免费久久| 偷偷要91色婷婷| 国产·精品毛片| 在线播放欧美女士性生活| 国产欧美日本一区视频| 一区二区在线观看视频在线观看| 麻豆国产精品官网| 92精品国产成人观看免费| 欧美一激情一区二区三区| 国产精品私人自拍| 日本欧美韩国一区三区| 99国产麻豆精品| 精品捆绑美女sm三区| 一区二区三区四区五区视频在线观看| 美脚の诱脚舐め脚责91| 97se亚洲国产综合自在线观| 日韩一区二区视频在线观看| 最新久久zyz资源站| 蜜臀精品一区二区三区在线观看 | 视频一区二区三区在线| 国产成人高清在线| 欧美一区二区国产| 亚洲精品国产高清久久伦理二区| 欧美日韩精品一区二区三区四区| 91蜜桃网址入口| 久久综合色天天久久综合图片| 亚洲精品久久久蜜桃| 国产精品1区2区| 欧美一区三区四区| 亚洲另类色综合网站| 国产一区二区h| 9191国产精品| 亚洲一区二区三区影院| 成人听书哪个软件好| 精品欧美一区二区久久| 午夜不卡av在线| 在线观看日产精品| 综合久久久久久| 粉嫩嫩av羞羞动漫久久久 | 成人avav影音| 久久久久高清精品| 狠狠色丁香久久婷婷综合_中| 欧美在线|欧美| 国产精品久久久久久福利一牛影视 | 日本精品免费观看高清观看| 国产片一区二区| 精品在线播放午夜| 欧美一区二区精美| 青青草精品视频| 欧美日本一区二区在线观看| 亚洲美女区一区| 91亚洲精品久久久蜜桃| 中文字幕一区三区| 99国产精品久| 国产欧美一区二区精品仙草咪| 久久精品国产第一区二区三区| 日韩一二三区不卡| 麻豆精品视频在线观看视频| 精品区一区二区| 激情小说欧美图片| 精品国产1区二区| 精品在线视频一区| 国产情人综合久久777777| 国产成人精品一区二区三区四区 | 久草在线在线精品观看| 日韩西西人体444www| 日韩精品1区2区3区| 欧美一级久久久| 麻豆成人91精品二区三区| 日韩久久久精品| 极品尤物av久久免费看| 国产亚洲一区字幕| 99re8在线精品视频免费播放| 亚洲欧洲制服丝袜| 精品视频一区二区不卡| 午夜精品福利视频网站| 欧美成人性战久久| 国产盗摄精品一区二区三区在线| 狠狠色狠狠色综合| 欧美日韩久久久| 麻豆一区二区在线| 久久这里只有精品首页| 成人一区二区视频| 一区二区三区在线视频免费| 这里只有精品99re| 国产精品综合一区二区三区| 中文一区二区在线观看| 色成年激情久久综合| 蜜臀精品一区二区三区在线观看| 26uuu久久天堂性欧美| 99久久伊人久久99| 亚洲福利视频一区二区| 精品福利在线导航| 91丨九色porny丨蝌蚪| 三级在线观看一区二区| 国产日产精品1区| 欧美视频中文一区二区三区在线观看 | 欧美日韩在线免费视频| 久久国产福利国产秒拍| 一区精品在线播放| 91麻豆精品久久久久蜜臀| 丰满亚洲少妇av| 日韩成人精品视频| 国产精品国产三级国产普通话99 | 亚洲成a人在线观看| 精品日韩一区二区三区免费视频| 成人高清在线视频| 视频一区视频二区中文| 国产精品私人影院| 日韩区在线观看| 91免费版在线看| 国产精品1区2区3区| 婷婷久久综合九色综合绿巨人| 国产亚洲精品福利| 欧美区在线观看| av激情亚洲男人天堂| 麻豆精品久久久| 亚洲一区在线播放| 国产精品国产三级国产| 日韩欧美综合一区| 欧美午夜精品理论片a级按摩| 丁香婷婷综合色啪| 美女在线视频一区| 亚洲第四色夜色| 一区在线播放视频|