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

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

?? cbrunot.cpp

?? 赤壁之戰的游戲源代碼
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
			pUnit->Soldier.nResource = RUN_RESOURCE_GET;
			// 糧倉特殊,要從該糧倉所屬的君主的糧食中扣除
			*pSource -= RUN_RESOURCE_GET;
		}
		// 如果資源枯竭,刪除該資源
		if( *pSource <= 0 )
		{
			pUnit->Soldier.nResource += *pSource;	// 補回多采的資源
			pU->nLife = 0;
			struct CTRL_TASK_STRUCT task;
			CTRL_TASK_Clear( &task );
			task.nID = pU->nID;
			task.bIRQ = TRUE;
			task.nTaskID = SHANCHU;
			task.bDone = TRUE;
			CTRL_TASK_DeployByComputer( pUnit->Draw.nPlayer, &task );
		}

		// 修改了一個Bug。原來采集鐵礦時鐵礦的資源顯示不會隨時更新
		// 現在改正, July 18, 1997
		if( pU->Draw.nFile != 10 
			&& pU->Draw.nFile != 11
			&& EYE_IfFocusOnUnit( pU ) )	// 資源建筑處于焦點狀態
		{
			// 更新資源(鐵礦)儲量
			FACE_UpdateGrade( pU->Build.nResource );
		}
		return 1;	// 成功采集
	}
	else
		return 2;	// 該資源已經枯竭了
}

//把采集的資源送回到家中
BOOL RUN_RETURN_Build( struct UNIT_STRUCT *pUnit, struct UNIT_STRUCT *pU )
{
	BOOL bSuccess = TRUE;

//added by tian yue
	int nJingYanGrade[10]={200,500,1000,1800,3000,5000,8000,12000,18000,27000};

	if( EYE_IfUnitIsWorker( pUnit ) )
	{
		switch( pUnit->Soldier.nResType )
		{
		case	SHULIN:		// 樹林
			GAME.Players[pUnit->Draw.nPlayer].nWood += pUnit->Soldier.nResource;
			break;
//			GAME.Players[pUnit->Draw.nPlayer].nFood += pUnit->Soldier.nResource;
//			break;
		case	TIEKUANG:	// 鐵礦
			GAME.Players[pUnit->Draw.nPlayer].nIron += pUnit->Soldier.nResource;
			break;
		case	MINJU:		// 民居
			GAME.Players[pUnit->Draw.nPlayer].nGold += pUnit->Soldier.nResource;
			break;
		case	MAITIAN:	// 麥田
		case	LIANGCANG:	// 糧倉
			GAME.Players[pUnit->Draw.nPlayer].nFood += pUnit->Soldier.nResource;
			if( EYE_IfFoodExceeded( pUnit->Draw.nPlayer ) )
			{
				GAME.Players[pUnit->Draw.nPlayer].nFood -= pUnit->Soldier.nResource;
				OutputDebugString( "Food Exceeded!\n" );
				if( EYE_IfSheIsMine( pUnit ) )
				{
					// 糧倉不夠無法屯糧,請多修建糧倉。
					FACE_ShowPromptInfor( 10 );
				}
				bSuccess = FALSE;
			}
			break;
		}
		if( bSuccess )
		{
			pUnit->Soldier.nResType = QXZIYUAN;	// 清除資源類型
			pUnit->Soldier.nResource = 0;
			GFWI_bUpdate = TRUE;
		}
		else
			return FALSE;
	}
	else
	{
		Assert( EYE_IfUnitIsWorkerGen( pUnit ) );
		DATA_Lib.Gen[pUnit->Gen.nID].nJingYan++;	// 經驗增加1
		//DATA_Lib.Gen[pUnit->Gen.nID].nJingYan+=50;	// 經驗增加1
		
		//added by tian yue.
		// 升級
		if( DATA_Lib.Gen[pUnit->Gen.nID].nLevel < 9 )
		{
			if( DATA_Lib.Gen[pUnit->Gen.nID].nJingYan >= nJingYanGrade[DATA_Lib.Gen[pUnit->Gen.nID].nLevel] )
			{
				DATA_Lib.Gen[pUnit->Gen.nID].nJingYan -= nJingYanGrade[DATA_Lib.Gen[pUnit->Gen.nID].nLevel];
				DATA_Lib.Gen[pUnit->Gen.nID].nLevel++;

				//我將領戰斗英勇,斬獲甚多,晉升一級。
				if( EYE_IfFocusOnUnit( pUnit ) && EYE_IfSheIsMine( pUnit ) )
				{
					FACE_ShowPromptInfor( 12 );
					//---- 肯定音效
					// victory.wav
					DATA_WAVE_EffectPlay( 106 );
					//---- 肯定音效
				}
			}
		}
	}
	return TRUE;
}

// 修理建筑
BOOL RUN_REPAIR_Build( struct UNIT_STRUCT *pUnit )
{
	Assert( pUnit->Status.nParam1 != MAP_DATA_NONE );
	struct UNIT_STRUCT *pU = MAP_GetUnit( pUnit->Status.nParam1 );
	Assert( pU );	// 被修理的建筑的指針
	if( EYE_IfUnitIsDead( pU ) )
	{
		pUnit->Status.bDone = TRUE;
		return TRUE;
	}
	Assert( EYE_IfUnitIsBuild( pU ) && pU->Draw.nPlayer == pUnit->Draw.nPlayer );

	//---- 修理音效
	POINT pt;
	pt.x = pUnit->Draw.nX, pt.y = pUnit->Draw.nY;
	if( PtInRect( &DRAW_rcScreen, pt ) )
	{
		// repair.wav
		DATA_WAVE_EffectPlay( 101 );
	}
	//---- 修理音效
	
//	int nHit = DATA_Lib.Unit[pUnit->Draw.nFile].nNearAttack 
//				+ GAME.Players[pUnit->Draw.nPlayer].nAddNearAttack;
	int nHit = RUN_CREATE_VALUE<<3;

	if( GAME.Players[pUnit->Draw.nPlayer].nGold < RUN_CREATE_VALUE
		|| GAME.Players[pUnit->Draw.nPlayer].nFood < RUN_CREATE_VALUE
		|| GAME.Players[pUnit->Draw.nPlayer].nWood < RUN_CREATE_VALUE
		|| GAME.Players[pUnit->Draw.nPlayer].nIron < RUN_CREATE_VALUE )
	{	// 沒錢了,結束
		pUnit->Status.bDone = TRUE;		
		return TRUE;
	}

	pU->nLife += nHit;
	GAME.Players[pUnit->Draw.nPlayer].nGold -= RUN_CREATE_VALUE;
	GAME.Players[pUnit->Draw.nPlayer].nFood -= RUN_CREATE_VALUE;
	GAME.Players[pUnit->Draw.nPlayer].nWood -= RUN_CREATE_VALUE;
	GAME.Players[pUnit->Draw.nPlayer].nIron -= RUN_CREATE_VALUE;
	GFWI_bUpdate = TRUE;

	// 生命滿,結束
	if( pU->nLife >= EYE_GetFullLife( pU->Draw.nPlayer, pU->Draw.nFile) )
	{	
		pU->nLife = EYE_GetFullLife( pU->Draw.nPlayer, pU->Draw.nFile);
		pUnit->Status.bDone = TRUE;
		return TRUE;
	}

	// 修改火
	if( pU->Status.nTaskID != JIANZAOZHONG )
		RUN_FIGHT_SetFire( pU );

	if( EYE_IfFocusOnUnit( pU ) )
		//&& EYE_IfSheIsMine( pU ) )
	{
		// 更新血格條
		FACE_ShowProcessBar( PROCESSBAR_STONE, pU->nLife*100/EYE_GetFullLife( pU->Draw.nPlayer, pU->Draw.nFile) );
	}
	return FALSE;
}

// 判斷是否有錢升級
BOOL RUN_UPGRADE_IfEnoughMoney( int nPlayer, int nTaskIDEx )
{
	BOOL bRet = TRUE;
	// 付款
	switch( nTaskIDEx )
	{
	case	SHENGJI1:
	case	SHENGJI2:
	case	SHENGJI3:
	case	GONGJIAN1:
	case	GONGJIAN2:
	case	GONGJIAN3:
	case	BINGQI1:
	case	BINGQI2:
	case	BINGQI3:
	case	HUJIA1:
	case	HUJIA2:
	case	HUJIA3:
	case	TOUSHICHE1:
	case	TOUSHICHE2:
	case	XIAOCHUAN:
	case	DACHUAN:
	case	CHUANTI:
		if( GAME.Players[nPlayer].nGold < DATA_Lib.Upgrade[nTaskIDEx].nGold
			|| GAME.Players[nPlayer].nWood < DATA_Lib.Upgrade[nTaskIDEx].nWood
			|| GAME.Players[nPlayer].nIron < DATA_Lib.Upgrade[nTaskIDEx].nIron )
			bRet = FALSE;
		break;
	case	MUCAI1:	// 把1000木材換成錢
		if( GAME.Players[nPlayer].nWood < DATA_Lib.Upgrade[MUCAI1].nWood )
			bRet = FALSE;
		break;
	case	MUCAI2:	// 把5000木材換成錢
		if( GAME.Players[nPlayer].nWood < DATA_Lib.Upgrade[MUCAI2].nWood )
			bRet = FALSE;
		break;
	case	LIANGSHI1:	// 把1000糧食換成錢
		if( GAME.Players[nPlayer].nFood < DATA_Lib.Upgrade[LIANGSHI1].nFood )
			bRet = FALSE;
		break;
	case	LIANGSHI2:	// 把5000糧食換成錢
		if( GAME.Players[nPlayer].nFood < DATA_Lib.Upgrade[LIANGSHI2].nFood )
			bRet = FALSE;
		break;
	case	TIEKUANG1:	// 把1000鐵礦石換成錢
		if( GAME.Players[nPlayer].nIron < DATA_Lib.Upgrade[TIEKUANG1].nIron )
			bRet = FALSE;
		break;
	case	TIEKUANG2:	// 把5000鐵礦石換成錢
		if( GAME.Players[nPlayer].nIron < DATA_Lib.Upgrade[TIEKUANG2].nIron )
			bRet = FALSE;
		break;
	}
	if( bRet == FALSE && GAME.nMe == nPlayer )
	{
		//------------提示
		//軍費不夠,無法建造
		FACE_ShowPromptInfor( 7 );
		//------------提示

		//---- 否定音效
		// noselect.wav
		DATA_WAVE_EffectPlay( 99 );
		//---- 否定音效
	}
	return bRet;
}

// 升級預付款
BOOL RUN_UPGRADE_Pay( int nPlayer, int nTaskIDEx )
{
	if( !RUN_UPGRADE_IfEnoughMoney( nPlayer, nTaskIDEx ) )
		return FALSE;

	// 付款
	switch( nTaskIDEx )
	{
	case	SHENGJI1:
	case	SHENGJI2:
	case	SHENGJI3:
	case	GONGJIAN1:
	case	GONGJIAN2:
	case	GONGJIAN3:
	case	BINGQI1:
	case	BINGQI2:
	case	BINGQI3:
	case	HUJIA1:
	case	HUJIA2:
	case	HUJIA3:
	case	TOUSHICHE1:
	case	TOUSHICHE2:
	case	XIAOCHUAN:
	case	DACHUAN:
	case	CHUANTI:
		GAME.Players[nPlayer].nGold -= DATA_Lib.Upgrade[nTaskIDEx].nGold;
		GAME.Players[nPlayer].nWood -= DATA_Lib.Upgrade[nTaskIDEx].nWood;
		GAME.Players[nPlayer].nIron -= DATA_Lib.Upgrade[nTaskIDEx].nIron;
		break;
	case	MUCAI1:	// 把1000木材換成錢
		GAME.Players[nPlayer].nWood -= DATA_Lib.Upgrade[MUCAI1].nWood;
		break;
	case	MUCAI2:	// 把5000木材換成錢
		GAME.Players[nPlayer].nWood -= DATA_Lib.Upgrade[MUCAI2].nWood;
		break;
	case	LIANGSHI1:	// 把1000糧食換成錢
		GAME.Players[nPlayer].nFood -= DATA_Lib.Upgrade[LIANGSHI1].nFood;
		break;
	case	LIANGSHI2:	// 把5000糧食換成錢
		GAME.Players[nPlayer].nFood -= DATA_Lib.Upgrade[LIANGSHI2].nFood;
		break;
	case	TIEKUANG1:	// 把1000鐵礦石換成錢
		GAME.Players[nPlayer].nIron -= DATA_Lib.Upgrade[TIEKUANG1].nIron;
		break;
	case	TIEKUANG2:	// 把5000鐵礦石換成錢
		GAME.Players[nPlayer].nIron -= DATA_Lib.Upgrade[TIEKUANG2].nIron;
		break;
	}
	GFWI_bUpdate = TRUE;
	return TRUE;
}

// 升級后提貨
//void RUN_UPGRADE_Get( int nPlayer, int nTaskIDEx )
void RUN_UPGRADE_Get( struct UNIT_STRUCT *pUnit )
{
//	int nFile = -1;
	Assert( EYE_IfUnitIsBuild( pUnit ) );
	int nPlayer = pUnit->Draw.nPlayer;
	int nTaskIDEx = pUnit->Status.nTaskIDEx;
	// 提貨
	switch( nTaskIDEx )
	{
	case	SHENGJI1:
		GAME.Players[nPlayer].dwLifeUp = DATA_Lib.Upgrade[SHENGJI1].dwParam1;
		GAME.Players[nPlayer].nGrade[PLAYER_GRADE_MAIN] = 1;
		{
			for( int i=0; i<PLAYER_UNIT_MAX; i++ )
			{	// 是建筑但不是箭樓
				struct UNIT_STRUCT *pU = &GAME.Players[nPlayer].Unit[i];
				if( EYE_IfUnitIsBuild( pU ) 
					&& !EYE_IfUnitIsTower( pU ) )
				{
					pU->nLife += DATA_Lib.Upgrade[SHENGJI1].dwParam1;
				}
			}
		}
		pUnit->Build.dwUpgrade[0]=1;
		break;
	case	SHENGJI2:
		GAME.Players[nPlayer].dwLifeUp = DATA_Lib.Upgrade[SHENGJI2].dwParam1;
		GAME.Players[nPlayer].nGrade[PLAYER_GRADE_MAIN] = 2;
		{
			for( int i=0; i<PLAYER_UNIT_MAX; i++ )
			{	// 是建筑但不是箭樓
				struct UNIT_STRUCT *pU = &GAME.Players[nPlayer].Unit[i];
				if( EYE_IfUnitIsBuild( pU ) 
					&& !EYE_IfUnitIsTower( pU ) )
				{
					pU->nLife += DATA_Lib.Upgrade[SHENGJI1].dwParam1;
				}
			}
		}
		pUnit->Build.dwUpgrade[0]=2;
		break;
	case	SHENGJI3:
		GAME.Players[nPlayer].dwLifeUp = DATA_Lib.Upgrade[SHENGJI3].dwParam1;
		GAME.Players[nPlayer].nGrade[PLAYER_GRADE_MAIN] = 3;
		{
			for( int i=0; i<PLAYER_UNIT_MAX; i++ )
			{	// 是建筑但不是箭樓
				struct UNIT_STRUCT *pU = &GAME.Players[nPlayer].Unit[i];
				if( EYE_IfUnitIsBuild( pU ) 
					&& !EYE_IfUnitIsTower( pU ) )
				{
					pU->nLife += DATA_Lib.Upgrade[SHENGJI1].dwParam1;
				}
			}
		}
		pUnit->Build.dwUpgrade[0]=3;
		break;
	case	GONGJIAN1:
	case	GONGJIAN2:
	case	GONGJIAN3:
		// 遠程攻擊力增加
		GAME.Players[nPlayer].nAddFarAttack[0] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam1;
		GAME.Players[nPlayer].nAddFarAttack[1] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam2;
		GAME.Players[nPlayer].nAddFarAttack[2] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam3;
		GAME.Players[nPlayer].nAddFarAttack[3] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam4;
		GAME.Players[nPlayer].nGrade[PLAYER_GRADE_GONGJIAN] = nTaskIDEx - GONGJIAN1 + 1;
		pUnit->Build.dwUpgrade[0] = nTaskIDEx - GONGJIAN1+1;
//		nFile = 4;	// 木材場
		break;
	case	BINGQI1:
	case	BINGQI2:
	case	BINGQI3:
		// 近程攻擊力增加
		GAME.Players[nPlayer].nAddNearAttack[0] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam1;
		GAME.Players[nPlayer].nAddNearAttack[1] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam2;
		GAME.Players[nPlayer].nAddNearAttack[2] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam3;
		GAME.Players[nPlayer].nAddNearAttack[3] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam4;
		GAME.Players[nPlayer].nGrade[PLAYER_GRADE_BINGQI] = nTaskIDEx - BINGQI1 + 1;
//		nFile = 2;	// 武器場
		pUnit->Build.dwUpgrade[0] = nTaskIDEx - BINGQI1+1;
		break;
	case	HUJIA1:
	case	HUJIA2:
	case	HUJIA3:
		// 近、遠程防御力增加
		GAME.Players[nPlayer].nAddNearDefend[0] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam1;
		GAME.Players[nPlayer].nAddNearDefend[1] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam2;
		GAME.Players[nPlayer].nAddNearDefend[2] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam3;
		GAME.Players[nPlayer].nAddNearDefend[3] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam4;
		GAME.Players[nPlayer].nAddFarDefend[0] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam1;
		GAME.Players[nPlayer].nAddFarDefend[1] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam2;
		GAME.Players[nPlayer].nAddFarDefend[2] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam3;
		GAME.Players[nPlayer].nAddFarDefend[3] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam4;
		GAME.Players[nPlayer].nGrade[PLAYER_GRADE_HUJIA] = nTaskIDEx - HUJIA1 + 1;
//		nFile = 2;	// 武器場
		pUnit->Build.dwUpgrade[1] = nTaskIDEx - HUJIA1+1;
		break;
	case	TOUSHICHE1:
	case	TOUSHICHE2:	// 投石車攻擊力變化
		GAME.Players[nPlayer].nAddSFarAttack = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam1;
		GAME.Players[nPlayer].nGrade[PLAYER_GRADE_TOUSHICHE] = nTaskIDEx - TOUSHICHE1 + 1;
//		nFile = 8;	// 車兵所
		pUnit->Build.dwUpgrade[0] = nTaskIDEx - TOUSHICHE1+1;
		break;
	case	XIAOCHUAN:	// 小戰船攻擊力變化
		GAME.Players[nPlayer].nAddWaterAttack[0] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam1;
		GAME.Players[nPlayer].nGrade[PLAYER_GRADE_CHUAN1] = 1;
//		nFile = 20;	// 船塢
		pUnit->Build.dwUpgrade[0] = 1;
		break;
	case	DACHUAN:	// 大戰船攻擊力變化
		GAME.Players[nPlayer].nAddWaterAttack[1] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam1;
		GAME.Players[nPlayer].nGrade[PLAYER_GRADE_CHUAN2] = 1;
//		nFile = 20;	// 船塢
		pUnit->Build.dwUpgrade[1] = 1;
		break;
	case	CHUANTI:	// 戰船防御力變化
		GAME.Players[nPlayer].nAddWaterDefend[0] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam1;
		GAME.Players[nPlayer].nAddWaterDefend[1] = (char)DATA_Lib.Upgrade[nTaskIDEx].dwParam2;
		GAME.Players[nPlayer].nGrade[PLAYER_GRADE_CHUAN3] = 1;
//		nFile = 20;	// 船塢
		pUnit->Build.dwUpgrade[2] = 1;
		break;
	case	MUCAI1:	// 把1000木材換成錢
		GAME.Players[nPlayer].nGold += DATA_Lib.Upgrade[MUCAI1].nGold;
//		nFile = 23;	// 錢莊
		break;
	case	MUCAI2:	// 把5000木材換成錢
		GAME.Players[nPlayer].nGold += DATA_Lib.Upgrade[MUCAI2].nGold;
//		nFile = 23;	// 錢莊
		break;
	case	LIANGSHI1:	// 把1000糧食換成錢
		GAME.Players[nPlayer].nGold += DATA_Lib.Upgrade[LIANGSHI1].nGold;
//		nFile = 23;	// 錢莊
		break;
	case	LIANGSHI2:	// 把5000糧食換成錢
		GAME.Players[nPlayer].nGold += DATA_Lib.Upgrade[LIANGSHI2].nGold;
//		nFile = 23;	// 錢莊
		break;
	case	TIEKUANG1:	// 把1000鐵礦石換成錢
		GAME.Players[nPlayer].nGold += DATA_Lib.Upgrade[TIEKUANG1].nGold;
//		nFile = 23;	// 錢莊
		break;
	case	TIEKUANG2:	// 把5000鐵礦石換成錢
		GAME.Players[nPlayer].nGold += DATA_Lib.Upgrade[TIEKUANG2].nGold;
//		nFile = 23;	// 錢莊
		break;
	}
	GFWI_bUpdate = TRUE;
}

// 升級取消后找錢
// nTaskIDEx	:	升級的類型
void RUN_UPGRADE_PayBack( int nPlayer, int nTaskIDEx )
{
	switch( nTaskIDEx )
	{
	case	SHENGJI1:
	case	SHENGJI2:
	case	SHENGJI3:
	case	GONGJIAN1:
	case	GONGJIAN2:
	case	GONGJIAN3:
	case	BINGQI1:
	case	BINGQI2:
	case	BINGQI3:
	case	HUJIA1:
	case	HUJIA2:
	case	HUJIA3:
	case	TOUSHICHE1:
	case	TOUSHICHE2:
	case	XIAOCHUAN:
	case	DACHUAN:
	case	CHUANTI:
		GAME.Players[nPlayer].nGold += DATA_Lib.Upgrade[nTaskIDEx].nGold*RUN_CREATE_PAYBACK/100;
		GAME.Players[nPlayer].nWood += DATA_Lib.Upgrade[nTaskIDEx].nWood*RUN_CREATE_PAYBACK/100;
		GAME.Players[nPlayer].nIron += DATA_Lib.Upgrade[nTaskIDEx].nIron*RUN_CREATE_PAYBACK/100;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产黑色紧身裤美女| 欧美国产精品一区| 久久综合久久久久88| 亚洲男帅同性gay1069| 日韩va亚洲va欧美va久久| 99麻豆久久久国产精品免费| 日韩一区二区三区在线| 亚洲视频一区二区在线| 国产精品一区在线观看乱码| 欧美日韩黄色影视| 亚洲蜜臀av乱码久久精品| 激情国产一区二区| 91精品国产入口| 亚洲va韩国va欧美va| 99久久久免费精品国产一区二区| 精品va天堂亚洲国产| 日韩av一二三| 欧美日韩mp4| 偷拍日韩校园综合在线| 一本色道a无线码一区v| 中文字幕一区在线观看视频| 国产91丝袜在线18| 国产日韩高清在线| 国产成人精品免费| 久久精品视频在线看| 久久99精品久久久久婷婷| 日韩视频永久免费| 日本在线不卡视频一二三区| 欧美一区中文字幕| 免费成人在线观看| 欧美xxxx老人做受| 国产美女娇喘av呻吟久久| 久久久久久久久久久电影| 精品一二线国产| 久久久噜噜噜久久人人看 | 狠狠v欧美v日韩v亚洲ⅴ| 91精品国产综合久久精品图片| 亚欧色一区w666天堂| 欧美吻胸吃奶大尺度电影| 亚洲一区二区高清| 欧美一区二区三区视频在线观看| 免费成人在线网站| 久久久久久久久99精品| 粉嫩嫩av羞羞动漫久久久 | 2014亚洲片线观看视频免费| 国产在线日韩欧美| 日本一区二区三区在线观看| 国产.精品.日韩.另类.中文.在线.播放| 久久精品一区二区| 9人人澡人人爽人人精品| 成人欧美一区二区三区小说| 欧美三级韩国三级日本三斤| 日韩成人免费电影| 久久久久国产免费免费| 99re热这里只有精品免费视频| 一区二区三区四区中文字幕| 欧美高清一级片在线| 韩国av一区二区三区在线观看| 国产精品欧美精品| 欧美日韩一区二区三区在线| 久久成人精品无人区| 中文字幕不卡的av| 欧美日韩视频不卡| 成人精品视频一区二区三区尤物| 又紧又大又爽精品一区二区| 精品国产一区二区三区忘忧草 | 亚洲欧洲日产国产综合网| 欧美性感一区二区三区| 久久se精品一区精品二区| 中文字幕在线一区免费| 69堂国产成人免费视频| 国产91精品免费| 亚洲aⅴ怡春院| 中文字幕一区二区三区在线播放| 欧美一区三区四区| 91女神在线视频| 老司机精品视频在线| 亚洲精品老司机| 久久先锋资源网| 欧美日韩精品一区二区三区四区 | 精品国产精品网麻豆系列| 色综合久久天天| 狠狠色狠狠色综合系列| 又紧又大又爽精品一区二区| 亚洲色图欧美偷拍| 精品国产三级a在线观看| 色婷婷久久一区二区三区麻豆| 国产精品一区二区三区99| 偷拍一区二区三区| 亚洲一区欧美一区| 国产精品国产馆在线真实露脸| 精品少妇一区二区三区日产乱码 | 青青草国产精品97视觉盛宴 | 精品在线播放午夜| 亚洲电影激情视频网站| 一区在线中文字幕| 亚洲国产精品精华液2区45| 日韩精品一区二区三区swag | 欧美日韩视频在线一区二区| 99久久久久免费精品国产| 国产丶欧美丶日本不卡视频| 久久精品国产精品亚洲综合| 午夜视频一区在线观看| 亚洲精品欧美专区| 亚洲日本丝袜连裤袜办公室| 国产精品成人一区二区艾草| 中文字幕电影一区| 欧美国产日本视频| 欧美高清在线视频| 国产日韩欧美电影| 26uuu国产一区二区三区| xf在线a精品一区二区视频网站| 91精品国产综合久久精品app| 欧美久久久一区| 欧美日韩aaaaaa| 91精品久久久久久久久99蜜臂| 欧美日韩成人一区二区| 欧美日韩你懂的| 欧美一级黄色录像| 日韩一区二区精品葵司在线| 日韩天堂在线观看| 久久一夜天堂av一区二区三区| 久久久久久久久久久电影| 国产亚洲成年网址在线观看| 欧美极品aⅴ影院| 亚洲精品免费一二三区| 亚洲一区二区三区不卡国产欧美| 首页亚洲欧美制服丝腿| 裸体歌舞表演一区二区| 国产美女一区二区三区| 成人avav影音| 欧美三级视频在线观看| 日韩欧美中文字幕精品| 久久久www成人免费无遮挡大片 | 欧美成人福利视频| 欧美国产日本韩| 一区二区三区精品在线观看| 视频一区二区三区入口| 精品一区二区久久久| 99精品视频一区二区| 欧美日韩一级二级三级| 日韩免费成人网| 日韩理论在线观看| 秋霞国产午夜精品免费视频| 懂色av一区二区在线播放| 91福利视频久久久久| 日韩一区二区三区在线| 国产精品成人网| 日本欧美一区二区三区| 国产99久久久国产精品免费看 | 首页欧美精品中文字幕| 国产精品一区二区免费不卡 | 成人精品一区二区三区四区 | 蜜臀久久久久久久| 成人黄色av电影| 日韩免费观看2025年上映的电影 | 蜜桃免费网站一区二区三区| 成人在线一区二区三区| 欧美日韩免费在线视频| 国产精品欧美一级免费| 男女男精品网站| 91麻豆免费看片| 久久亚洲捆绑美女| 日韩精品视频网| 91免费版在线看| 国产日韩av一区二区| 蜜臀va亚洲va欧美va天堂| 99久久国产综合精品麻豆| 欧美mv日韩mv国产网站app| 亚洲综合丝袜美腿| 波多野结衣亚洲一区| 精品国产免费久久| 三级不卡在线观看| 91在线精品一区二区| 久久久亚洲午夜电影| 午夜精品久久久久久久久久久| 国产精品18久久久久久久网站| 欧美精品日韩一区| 一区二区三区丝袜| 99久久精品一区| 日本一区二区免费在线| 精品一区二区三区视频| 欧美一区二区在线看| 污片在线观看一区二区| 在线免费观看成人短视频| 中文字幕综合网| 成人精品一区二区三区四区| 国产午夜亚洲精品不卡| 精品在线亚洲视频| 日韩免费一区二区| 理论电影国产精品| 欧美成人福利视频| 精品一二线国产| 精品国产电影一区二区| 精品午夜一区二区三区在线观看| 欧美成人在线直播| 日韩成人免费在线| 欧美成人高清电影在线| 久久99国产乱子伦精品免费| 日韩欧美一区在线|