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

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

?? hgameview.cpp

?? 貪吃蛇
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
	case 5:
		NextStatus[0][0] = 1;	NextStatus[0][1] = 1;	NextStatus[1][0] = 2;	NextStatus[1][1] = 1;
		NextStatus[2][0] = 0;	NextStatus[2][1] = 2;	NextStatus[3][0] = 1;	NextStatus[3][1] = 2;
		break;
	case 6:
		NextStatus[0][0] = 0;	NextStatus[0][1] = 1;	NextStatus[1][0] = 0;	NextStatus[1][1] = 2;
		NextStatus[2][0] = 1;	NextStatus[2][1] = 2;	NextStatus[3][0] = 2;	NextStatus[3][1] = 2;
		break;
	case 7:
		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] = 0;	NextStatus[3][1] = 2;
		break;
	}
}

void CHGAMEView::RectDown()
{
	IsBottom();
	if (!m_isBottom)
	{
		//清除以前的方塊
		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_EMPTY;
		GameStatus[x2][y2]=MAP_STATE_EMPTY;
		GameStatus[x3][y3]=MAP_STATE_EMPTY;
		GameStatus[x4][y4]=MAP_STATE_EMPTY;
		InvalidateCurrent();

		//方塊下落
		ActiveStatus[0][0] += 1;
		ActiveStatus[1][0] += 1;
		ActiveStatus[2][0] += 1;
		ActiveStatus[3][0] += 1;
		GameStatus[x1+1][y1]=MAP_STATE_NOT_EMPTY;
		GameStatus[x2+1][y2]=MAP_STATE_NOT_EMPTY;
		GameStatus[x3+1][y3]=MAP_STATE_NOT_EMPTY;
		GameStatus[x4+1][y4]=MAP_STATE_NOT_EMPTY;

		InvalidateCurrent();
	}
}

void CHGAMEView::RectArrow(int m_Type)
{
	//獲取當前下墜物4個小方塊的位置坐標
	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];

	//對不同的移動命令指示進行分類實現
	switch(m_Type)
	{
	case LEFT:
		//對每種不同的移動命令指示特性作相應的可移動分析
		if ( (ActiveStatus[0][1]>0) && IsLeftLimit() && !m_isBottom)
		{
			//清原來的方塊
			GameStatus[x1][y1]=MAP_STATE_EMPTY;
			GameStatus[x2][y2]=MAP_STATE_EMPTY;
			GameStatus[x3][y3]=MAP_STATE_EMPTY;
			GameStatus[x4][y4]=MAP_STATE_EMPTY;

		//	InvalidateCurrent();
			//添加新的移動后數據狀態
			ActiveStatus[0][1] -= 1;
			ActiveStatus[1][1] -= 1;
			ActiveStatus[2][1] -= 1;
			ActiveStatus[3][1] -= 1;
			GameStatus[x1][y1-1]=MAP_STATE_NOT_EMPTY;
			GameStatus[x2][y2-1]=MAP_STATE_NOT_EMPTY;
			GameStatus[x3][y3-1]=MAP_STATE_NOT_EMPTY;
			GameStatus[x4][y4-1]=MAP_STATE_NOT_EMPTY;

			InvalidateCurrent();
		}
		break;

	case RIGHT:
		if ( (ActiveStatus[3][1]< m_iCol-1) && IsRightLitmit() && !m_isBottom)
		{
			//清原來的方塊
			GameStatus[x1][y1]=MAP_STATE_EMPTY;
			GameStatus[x2][y2]=MAP_STATE_EMPTY;
			GameStatus[x3][y3]=MAP_STATE_EMPTY;
			GameStatus[x4][y4]=MAP_STATE_EMPTY;

		//	InvalidateCurrent();
			//添加新的移動后數據狀態
			ActiveStatus[0][1] += 1;
			ActiveStatus[1][1] += 1;
			ActiveStatus[2][1] += 1;
			ActiveStatus[3][1] += 1;
			GameStatus[x1][y1+1]=MAP_STATE_NOT_EMPTY;
			GameStatus[x2][y2+1]=MAP_STATE_NOT_EMPTY;
			GameStatus[x3][y3+1]=MAP_STATE_NOT_EMPTY;
			GameStatus[x4][y4+1]=MAP_STATE_NOT_EMPTY;
			
			InvalidateCurrent();
		}
		break;

	case DOWN:
		RectDown();
		break;
	}
}

void CHGAMEView::IsBottom()
{
	//到底有兩種概念:1是已到底部,2是下面碰到了另外的方塊
	int x1,x2,x3,x4;
	int x,xx,yy,i;

	x1 = ActiveStatus[0][0];
	x2 = ActiveStatus[1][0];
	x3 = ActiveStatus[2][0];
	x4 = ActiveStatus[3][0];


	//是否為底部的判斷
	//1。到達游戲區域的底部
	//2。與接觸面正下方的小方塊區域為被占用狀態
	if (x1>=m_iRow-1 || x2>=m_iRow-1 || x3>=m_iRow-1 || x4>=m_iRow-1)
		m_isBottom = TRUE;
	else
	{
		for (i=0;i<4;i++)
		{
			if (InterFace[m_currentRect][i] > -1)
			{//取當前下墜物有接觸面的方塊

				//獲取有接觸面的小方塊的編號
				x=InterFace[m_currentRect][i];
				//根據編號獲取ActiveStatus中該小方塊的整下方的坐標
				xx=ActiveStatus[x][0]+1;
				yy=ActiveStatus[x][1];
				//判斷該接觸面整下方的小方塊區域是否為被占用狀態
				if (GameStatus[xx][yy]==MAP_STATE_NOT_EMPTY)
					m_isBottom = TRUE;
			}
		}
	}

	BOOL m_bIsSucced;
	int k,j;
	int m_iMuch=0; //本次銷掉的行數

	//計分規則:一次銷掉一行,加100分,一次銷掉兩行,加400分,三行,900分
	//例如銷掉x行,則分數為:x*(x*100)

	if (m_isBottom)
	{
		//判斷是否已得分
		for (i=0;i<m_iRow;i++)
		{
			m_bIsSucced = TRUE;
			for (j=0;j<m_iCol;j++)
				if (GameStatus[i][j]==MAP_STATE_EMPTY)
					m_bIsSucced = FALSE;
			
			//如果得分,則銷掉此行
			if (m_bIsSucced)
			{
				for (k=i;k>0;k--)
					for (j=0;j<m_iCol;j++)
						GameStatus[k][j] = GameStatus[k-1][j];
				//第1行清零
				for (j=0;j<m_iCol;j++)
					GameStatus[0][j]=MAP_STATE_EMPTY;

				m_iMuch += 1;
			}
		}
		
		if (m_iMuch>0)
		{
			m_iPerformance += m_iMuch * m_iMuch * 100;
			//刷新游戲區域
			CRect rect1(m_iStartY, m_iStartX, m_iStartY+300, m_iStartX+360);
			//InvalidateRect(&rect1);
			
			//刷新分數區域
			CRect rect2(m_iStartY+320, m_iStartX+180, m_iStartY+440, m_iStartX+200);
			//InvalidateRect(&rect2);
			Invalidate(FALSE);
		}

	}

}
void CHGAMEView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
	switch(nChar)
	{
	case VK_LEFT:
		RectArrow(LEFT);
		break;
	case VK_RIGHT:
		RectArrow(RIGHT);
		break;
	case VK_UP:
		RectChange();
		break;
	case VK_DOWN:
		RectArrow(DOWN);
		break;
	}

	CView::OnKeyDown(nChar, nRepCnt, nFlags);
}


BOOL CHGAMEView::IsLeftLimit()
{

	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];

	//根據當前下墜物的具體形態,分析判斷其是否有向左移動的空間
	switch(m_currentRect)
	{
		/*
		|
		   |
	       |   "1"字形形態類型,判斷其四個方塊的正左邊都沒有任何物件(空間沒有被占據)
		   |

		 */
	case 1:
		if (GameStatus[x1][y1-1] || GameStatus[x2][y2-1] || GameStatus[x3][y3-1] || GameStatus[x4][y4-1])
			return FALSE;
		break;
	case 11:
		if (GameStatus[x1][y1-1])
			return FALSE;
		break;
	case 2:
		if (GameStatus[x1][y1-1] || GameStatus[x2][y2-1])
			return FALSE;
		break;
	case 3:
		if (GameStatus[x1][y1-1] || GameStatus[x2][y2-1])
			return FALSE;
		break;
	case 31:
		if (GameStatus[x1][y1-1] || GameStatus[x2][y2-1] || GameStatus[x3][y3-1])
			return FALSE;
		break;
	case 32:
		if (GameStatus[x1][y1-1] || GameStatus[x3][y3-1])
			return FALSE;
		break;
	case 33:
		if (GameStatus[x1][y1-1] || GameStatus[x2][y2-1] || GameStatus[x4][y4-1])
			return FALSE;
		break;
	case 4:
		if (GameStatus[x1][y1-1] || GameStatus[x2][y2-1] || GameStatus[x4][y4-1])
			return FALSE;
		break;
	case 41:
		if (GameStatus[x1][y1-1] || GameStatus[x2][y2-1])
			return FALSE;
		break;
	case 5:
		if (GameStatus[x1][y1-1] || GameStatus[x2][y2-1] || GameStatus[x3][y3-1])
			return FALSE;
		break;
	case 51:
		if (GameStatus[x1][y1-1] || GameStatus[x3][y3-1])
			return FALSE;
		break;
	case 6:
		if (GameStatus[x1][y1-1] || GameStatus[x3][y3-1] || GameStatus[x4][y4-1])
			return FALSE;
		break;
	case 61:
		if (GameStatus[x1][y1-1] || GameStatus[x2][y2-1])
			return FALSE;
		break;
	case 62:
		if (GameStatus[x1][y1-1] || GameStatus[x2][y2-1] || GameStatus[x3][y3-1])
			return FALSE;
		break;
	case 63:
		if (GameStatus[x1][y1-1] || GameStatus[x3][y3-1])
			return FALSE;
		break;
	case 7:
		if (GameStatus[x1][y1-1] || GameStatus[x2][y2-1] || GameStatus[x3][y3-1])
			return FALSE;
		break;
	case 71:
		if (GameStatus[x1][y1-1] || GameStatus[x2][y2-1])
			return FALSE;
		break;
	case 72:
		if (GameStatus[x1][y1-1] || GameStatus[x2][y2-1] || GameStatus[x3][y3-1])
			return FALSE;
		break;
	case 73:
		if (GameStatus[x1][y1-1] || GameStatus[x4][y4-1])
			return FALSE;
		break;
	}

	return TRUE;			
}

BOOL CHGAMEView::IsRightLitmit()
{

	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];
	
	switch(m_currentRect)
	{
	case 1:
		if (GameStatus[x1][y1+1] || GameStatus[x2][y2+1] || GameStatus[x3][y3+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 11:
		if (GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 2:
		if (GameStatus[x3][y3+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 3:
		if (GameStatus[x2][y2+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 31:
		if (GameStatus[x1][y1+1] || GameStatus[x3][y3+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 32:
		if (GameStatus[x3][y3+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 33:
		if (GameStatus[x2][y2+1] || GameStatus[x3][y3+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 4:
		if (GameStatus[x1][y1+1] || GameStatus[x3][y3+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 41:
		if (GameStatus[x3][y3+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 5:
		if (GameStatus[x2][y2+1] || GameStatus[x3][y3+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 51:
		if (GameStatus[x2][y2+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 6:
		if (GameStatus[x2][y2+1] || GameStatus[x3][y3+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 61:
		if (GameStatus[x2][y2+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 62:
		if (GameStatus[x1][y1+1] || GameStatus[x2][y2+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 63:
		if (GameStatus[x3][y3+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 7:
		if (GameStatus[x2][y2+1] || GameStatus[x3][y3+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 71:
		if (GameStatus[x1][y1+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 72:
		if (GameStatus[x2][y2+1] || GameStatus[x3][y3+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	case 73:
		if (GameStatus[x3][y3+1] || GameStatus[x4][y4+1])
			return FALSE;
		break;
	}

	return TRUE;
			

}

void CHGAMEView::RectChange()
{
	//先預先變形,然后判斷變形后的方塊是否有空間,如有足夠空間,則進行實際變形,否則不變
	int xx1,xx2,xx3,xx4,yy1,yy2,yy3,yy4;
	int m_lscurrentRect;
	
	CString lsStr;
	
	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];

	//變形后位置在數組中的存放順序仍需遵循先左后右,在同一列中先上后下
	xx1=x1; xx2=x2; xx3=x3; xx4=x4; yy1=y1; yy2=y2; yy3=y3; yy4=y4;
	switch(m_currentRect)
	{
	case 1:
		xx1=x1+1; yy1=y1-1; xx3=x3-1; yy3=y3+1; xx4=x4-2; yy4=y4+2;
		m_lscurrentRect = 11;
		break;
	case 11:
		xx1=x1-1; yy1=y1+1; xx3=x3+1; yy3=y3-1; xx4=x4+2; yy4=y4-2;
		m_lscurrentRect = 1;
		break;
	case 2:
		m_lscurrentRect=2; 
		break;
	case 3:
		xx1=x1-2; yy1=y1+1; xx4=x4-1; yy4=y4;
		m_lscurrentRect = 31;
		break;
	case 31:
		xx1=x1+1; yy1=y1-1; 
		m_lscurrentRect = 32;
		break;
	case 32:
		xx1=x1+1; yy1=y1; xx4=x4+2; yy4=y4-1;
		m_lscurrentRect=33;
		break;
	case 33:
		xx4=x4-1; yy4=y4+1;
		m_lscurrentRect=3;
		break;
	case 4:
		xx1=x1+2; yy1=y1-1; xx3=x3+1; yy3=y3-1; xx4=x4-1;
		m_lscurrentRect = 41;
		break;
	case 41:
		xx1=x1-2; yy1=y1+1; xx3=x3-1; yy3=y3+1; xx4=x4+1;
		m_lscurrentRect = 4;
		break;
	case 5:
		xx1=x1-1; xx2=x2-2; yy2=y2+1; xx3=x3+1; yy4=y4+1;
		m_lscurrentRect = 51;
		break;
	case 51:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲品质自拍视频网站| 国产亚洲制服色| 精品国产乱码久久| 亚洲免费av高清| 国产麻豆精品一区二区| 欧美午夜一区二区三区| 欧美激情综合在线| 蜜桃久久精品一区二区| 91黄色在线观看| 国产精品青草久久| 国产麻豆视频一区| 制服.丝袜.亚洲.中文.综合 | 国产91精品入口| 91精品在线麻豆| 亚洲最大色网站| 成人免费精品视频| 久久久99久久精品欧美| 日韩**一区毛片| 欧美在线小视频| 一区二区三区中文字幕精品精品 | 色综合久久久久综合99| 国产欧美一区二区精品仙草咪| 日韩中文字幕麻豆| 欧美日韩精品一区二区三区| 伊人婷婷欧美激情| 色天使色偷偷av一区二区| 国产精品私人自拍| 波多野结衣视频一区| 欧美激情一区二区三区不卡| 国产毛片精品国产一区二区三区| 精品999在线播放| 顶级嫩模精品视频在线看| 欧美大度的电影原声| 免费看欧美美女黄的网站| 欧美欧美午夜aⅴ在线观看| 亚洲第一成人在线| 3d动漫精品啪啪1区2区免费 | 欧美电视剧在线观看完整版| 麻豆91免费观看| 久久亚洲二区三区| 国产v日产∨综合v精品视频| 国产亚洲一本大道中文在线| 成人手机在线视频| 亚洲色图一区二区| 欧美日韩午夜影院| 首页欧美精品中文字幕| 日韩精品一区二区三区swag| 国产福利91精品一区二区三区| 亚洲国产激情av| 日本精品一区二区三区高清 | 国产九色sp调教91| 中文字幕一区二区三区在线观看| 91亚洲男人天堂| 亚洲成人资源网| 精品国产在天天线2019| 国产精品18久久久久久久久久久久| 国产精品毛片大码女人| 91麻豆自制传媒国产之光| 亚洲尤物在线视频观看| 欧美大片在线观看一区二区| 懂色av一区二区三区免费观看 | 欧美日韩在线直播| 日韩av一区二区三区四区| 久久久精品国产免大香伊| 91偷拍与自偷拍精品| 日韩中文字幕区一区有砖一区 | 国产日本一区二区| 欧美综合在线视频| 国产一区二区三区在线观看精品 | 麻豆高清免费国产一区| 国产精品女同互慰在线看| 欧美中文一区二区三区| 精品在线观看免费| 最新国产の精品合集bt伙计| 91精品国产综合久久久久久 | 欧美美女喷水视频| 国产精品一区二区果冻传媒| 亚洲第四色夜色| 国产精品剧情在线亚洲| 91精品国产一区二区三区香蕉| 成人免费黄色大片| 日韩激情av在线| 中文字幕一区二区三区在线不卡| 欧美一区二区国产| 日本韩国欧美在线| 丁香婷婷综合五月| 美女一区二区三区| 亚洲国产综合色| 亚洲欧洲日本在线| 国产日韩成人精品| 日韩美女视频在线| 欧美日本一区二区在线观看| 91在线丨porny丨国产| 国产酒店精品激情| 国产在线视频一区二区三区| 天天综合网 天天综合色| 亚洲欧美色综合| 中文字幕成人网| 久久精品夜夜夜夜久久| 日韩午夜激情免费电影| 欧美日韩高清在线播放| 欧美综合一区二区| 色菇凉天天综合网| av激情亚洲男人天堂| 国产剧情一区二区三区| 国内成人精品2018免费看| 日本欧美韩国一区三区| 日韩欧美电影一区| 日韩一区二区电影| 狂野欧美性猛交blacked| 亚洲色图制服诱惑| 亚洲一区二区美女| 亚洲精选一二三| 亚洲日本在线视频观看| 国产精品网站在线| 欧美国产激情一区二区三区蜜月| 精品乱人伦小说| 日韩一级二级三级| 精品国产91乱码一区二区三区 | 国产人久久人人人人爽| 久久精品视频免费| 国产精品免费aⅴ片在线观看| 亚洲色图在线视频| 亚洲国产精品久久久久秋霞影院| 亚洲综合清纯丝袜自拍| 亚洲国产成人av网| 日韩中文字幕区一区有砖一区| 日韩综合在线视频| 久久超级碰视频| 国产99久久久国产精品免费看 | 亚洲伦理在线精品| 亚洲国产美国国产综合一区二区| 爽好多水快深点欧美视频| 精品一区二区三区视频| 成人午夜激情在线| 色婷婷综合久久久久中文一区二区| 一本色道久久综合精品竹菊| 欧美日韩国产免费一区二区| 精品动漫一区二区三区在线观看| 国产日产精品一区| 一区二区三区不卡在线观看 | 亚洲国产aⅴ天堂久久| 日本中文一区二区三区| 国产精品亚洲а∨天堂免在线| 成人av资源在线观看| 欧美在线制服丝袜| 久久品道一品道久久精品| 亚洲精品视频一区二区| 蜜桃av噜噜一区二区三区小说| 国产精品一区二区91| 欧美中文字幕一区二区三区亚洲| 日韩视频在线你懂得| 国产精品―色哟哟| 日韩极品在线观看| 不卡av电影在线播放| 欧美一区国产二区| 一区二区三区在线看| 国产三级精品三级| 欧美午夜片在线看| 亚洲va欧美va人人爽午夜| 久久成人久久爱| 欧美日韩在线精品一区二区三区激情| 精品国产sm最大网站免费看| 国产精品传媒视频| 五月婷婷欧美视频| 精品国产亚洲在线| 日韩av二区在线播放| 成人av在线一区二区三区| 欧美人狂配大交3d怪物一区| 18成人在线观看| 日韩欧美一二三| 亚洲视频一区二区在线观看| 日韩成人伦理电影在线观看| 91免费观看国产| 精品国一区二区三区| 亚洲成av人片在线| 91亚洲男人天堂| 久久综合999| 日韩高清在线电影| 一本久道中文字幕精品亚洲嫩| ww久久中文字幕| 日韩av在线发布| 欧美日韩一区二区在线观看| 国产精品你懂的在线| 国产一区二区在线电影| 日韩欧美激情四射| 日韩av电影天堂| 欧美另类久久久品| 亚洲一线二线三线视频| 99精品欧美一区二区蜜桃免费 | 成人午夜激情在线| 久久综合久色欧美综合狠狠| 五月婷婷久久丁香| 欧美亚洲一区二区在线观看| 亚洲欧美国产77777| 成人午夜在线播放| 久久婷婷国产综合国色天香| 精品一区二区免费在线观看| 日韩视频在线观看一区二区| 免费在线观看成人|