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

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

?? role.cpp

?? 泡泡堂單機版(含ASL游戲引擎源碼 泡泡堂單機版(含ASL游戲引擎源碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
			ChangeState(new CRoleStateOnTrap(m_pRole));
		}
		else
		{
			ChangeState(new CRoleStateOnDismount(m_pRole));
		}
	}
}

void CRoleState::DrawShadow(int x, int y) const
{
	m_pRole->m_bmShadow.DrawAlphaFast(SCREEN, x, y);
}

//-----------------------------------------------------------------------------
CRoleStateStart::CRoleStateStart(CRole *pRole)
: CRoleState(pRole)
, m_nAniSeq(0)
, m_fTime(0.0f)
{
}

void CRoleStateStart::Draw(int x, int y) const
{
	DrawShadow(x, y);

	int nStartCol = 0;

	if (m_nAniSeq < 24)
	{
		nStartCol = m_nAniSeq/2 % 4;
	}
	else if (m_nAniSeq == 24 || m_nAniSeq == 25)
	{
		nStartCol = 4;
	}
	else if (m_nAniSeq < 42)
	{
		nStartCol = (m_nAniSeq - 26)/2 % 4 + 5;
	}
	else if (m_nAniSeq < 58)
	{
		nStartCol = 9 - (m_nAniSeq - 42)/2 % 2;
	}
	else
	{
		nStartCol = 9 - m_nAniSeq % 2;
	}

	m_pRole->m_bmStart.Draw(SCREEN, x, y, nStartCol);
}

void CRoleStateStart::Update(float fDelta)
{
	static const float DELTA_START = 0.03f;
	static const int MAX_SEQ = 78;

	m_fTime += fDelta;
	if (m_fTime > DELTA_START)
	{
		m_fTime -= DELTA_START;
		m_nAniSeq++;
		if (m_nAniSeq == MAX_SEQ)
		{
			ChangeState(new CRoleStateNormal(m_pRole));
		}
	}
}

//-----------------------------------------------------------------------------
CRoleStateNormal::CRoleStateNormal(CRole *pRole)
: CRoleState(pRole)
, m_nIdleCount(0)
, m_nFrameCount(0)
, m_nCurrentFrame(0)
{
}

void CRoleStateNormal::Draw(int x, int y) const
{
	DrawShadow(x, y);

	if (m_pRole->m_Ability.Vehicle == vtNone)
	{
		m_pRole->m_bmMain.Draw(SCREEN, x, y, m_pRole->m_Direction, m_nCurrentFrame);
	}
	else
	{
		if (m_nCurrentFrame <= 3)
		{
			y += m_nCurrentFrame;
		}
		else
		{
			y += 6 - m_nCurrentFrame;
		}

		switch (m_pRole->m_Ability.Vehicle)
		{
		case vtSlowTurtle:		
			m_pRole->m_bmSlowTurtle.Draw(SCREEN, x, y, m_pRole->m_Direction, m_nCurrentFrame % 2);
			m_pRole->m_bmRide.Draw(SCREEN, x, y, m_pRole->m_Direction);
			break;

		case vtFastTurtle:
			m_pRole->m_bmFastTurtle.Draw(SCREEN, x, y, m_pRole->m_Direction, m_nCurrentFrame % 2);
			m_pRole->m_bmRide.Draw(SCREEN, x, y, m_pRole->m_Direction);
			break;

		case vtOwl:
			m_pRole->m_bmOwl.Draw(SCREEN, x, y, m_pRole->m_Direction, m_nCurrentFrame % 2);
			m_pRole->m_bmRide.Draw(SCREEN, x, y, m_pRole->m_Direction);
			break;

		case vtFastUFO:
			m_pRole->m_bmRide.Draw(SCREEN, x, y, m_pRole->m_Direction);
			m_pRole->m_bmFastUFO.Draw(SCREEN, x, y, m_pRole->m_Direction, m_nCurrentFrame % 2);
			break;
		}
	}
}

void CRoleStateNormal::Update(float fDelta)
{
	if (m_pRole->m_bMoving)
	{
		m_nIdleCount = 0;

		int nSpeed;
		if (m_pRole->m_Ability.Vehicle != vtNone)
		{
			nSpeed = VEHICLE_SPEED[m_pRole->m_Ability.Vehicle];
		}
		else
		{
			nSpeed = m_pRole->m_Ability.nSpeed;
		}

		m_nFrameCount++;
		if (m_nFrameCount > 10 / nSpeed)
		{
			m_nCurrentFrame = (m_nCurrentFrame+1) % 6;
			m_nFrameCount = 0;
		}

		switch (m_pRole->m_Direction)
		{
		case drUp:
			m_pRole->UpdateMoveUp(nSpeed);
			break;
		case drDown:
			m_pRole->UpdateMoveDown(nSpeed);
			break;
		case drLeft:
			m_pRole->UpdateMoveLeft(nSpeed);
			break;
		case drRight:
			m_pRole->UpdateMoveRight(nSpeed);
			break;
		}
		
		m_pRole->m_bMoving = false;
	}
	else
	{
		m_nCurrentFrame = 0;
		m_pRole->m_nPushTime = 0;
		if (m_pRole->m_Ability.Vehicle == vtNone)
		{
			m_nIdleCount++;
			if (m_nIdleCount > 200)
			{
				m_nIdleCount = 0;
				ChangeState(new CRoleStateIdle(m_pRole));
				return;
			}
		}
	}

	CheckChange();
}

//-----------------------------------------------------------------------------
CRoleStateIdle::CRoleStateIdle(CRole *pRole)
: CRoleState(pRole)
, m_nAniSeq(0)
, m_fTime(0.0f)
{
}

void CRoleStateIdle::Draw(int x, int y) const
{
	DrawShadow(x, y);

	if (m_nAniSeq <= 4)
	{
		m_pRole->m_bmAni.Draw(SCREEN, x, y, m_nAniSeq % 2 + 6);
	}
	else
	{
		m_pRole->m_bmMain.Draw(SCREEN, x, y, drDown, 0);
	}
}

void CRoleStateIdle::Update(float fDelta)
{
	static const float DELTA_IDLE = 0.18f;

	m_fTime += fDelta;
	if (m_fTime > DELTA_IDLE)
	{
		m_fTime -= DELTA_IDLE;
		m_nAniSeq = (m_nAniSeq + 1) % 25;
	}

	if (m_pRole->m_bMoving)
	{
		ChangeState(new CRoleStateNormal(m_pRole));
		return;
	}
	
	CheckChange();
}

//-----------------------------------------------------------------------------
CRoleStateOnTrap::CRoleStateOnTrap(CRole *pRole)
: CRoleState(pRole)
, m_nAniSeq(0)
, m_fTime(0.0f)
{
}

void CRoleStateOnTrap::Draw(int x, int y) const
{
	DrawShadow(x, y);

	m_pRole->m_bmAni.Draw(SCREEN, x, y, m_nAniSeq % 2);
	m_pRole->m_bmBigPopo.DrawAlpha(SCREEN, x, y, 200, m_nAniSeq);
}

void CRoleStateOnTrap::Update(float fDelta)
{
	static const float DELTA_ONTRAP = 0.1f;

	m_fTime += fDelta;
	if (m_fTime > DELTA_ONTRAP)
	{
		m_fTime -= DELTA_ONTRAP;
		m_nAniSeq++;
		if (m_nAniSeq == 3)
		{
			ChangeState(new CRoleStateTraped(m_pRole));	
		}
	}
}

//-----------------------------------------------------------------------------
CRoleStateTraped::CRoleStateTraped(CRole *pRole)
: CRoleState(pRole)
, m_fTime(0.0f)
, m_fDeadTime(5.0f)
, m_nShake(0)
, m_nShakeDr(1)
, m_nSpeedCount(0)
{
}

void CRoleStateTraped::Draw(int x, int y) const
{
	DrawShadow(x, y);

	m_pRole->m_bmAni.Draw(SCREEN, x, y + m_nShake/2, m_nShake % 2);
	if (m_fDeadTime > 1.0f)
	{			
		m_pRole->m_bmBigPopo.DrawAlpha(SCREEN, x, y + m_nShake/2, 200, 3);
	}
	else
	{
		m_pRole->m_bmBigPopo.DrawAlpha(SCREEN, x, y + m_nShake/2, 
			255 - int(m_fDeadTime * 55), 3);
	}
}

void CRoleStateTraped::Update(float fDelta)
{
	static const float DELTA_SHAKE = 0.1f;

	// 處理上下晃動
	m_fTime += fDelta;
	if (m_fTime > DELTA_SHAKE)
	{
		m_fTime -= DELTA_SHAKE;
		m_nShake += m_nShakeDr;
		if (m_nShake >= 12 || m_nShake <= 0)
		{
			m_nShakeDr = -m_nShakeDr;
		}
	}

	// 處理死亡倒計時
	m_fDeadTime -= fDelta;
	if (m_fDeadTime <= 0.0f)
	{
		g_pGame->RoleOnDie(m_pRole);
		ChangeState(new CRoleStateOnDie(m_pRole));
		return;
	}

	// 處理運動
	if (m_pRole->m_bMoving)
	{
		int nTrapedSpeed = m_nSpeedCount == 0 ? 1 : 0;
		m_nSpeedCount = (m_nSpeedCount + 1) % 8;

		switch (m_pRole->m_Direction)
		{
		case drUp:
			m_pRole->UpdateMoveUp(nTrapedSpeed);
			break;
		case drDown:
			m_pRole->UpdateMoveDown(nTrapedSpeed);
			break;
		case drLeft:
			m_pRole->UpdateMoveLeft(nTrapedSpeed);
			break;
		case drRight:
			m_pRole->UpdateMoveRight(nTrapedSpeed);
			break;
		}
	}
	m_pRole->m_nPushTime = 0;
	m_pRole->m_bMoving = false;

	// 檢測是否與其他主角相遇
	for (int i = 0; i < ROLE_NUM; ++i)
	{
		if (&ROLE[i] != m_pRole && ROLE[i].GetX() == m_pRole->m_nCellX &&
			ROLE[i].GetY() == m_pRole->m_nCellY)
		{
			ChangeState(new CRoleStateOnDie(m_pRole));
		}
	}
}

//-----------------------------------------------------------------------------
CRoleStateOnSave::CRoleStateOnSave(CRole *pRole)
: CRoleState(pRole)
, m_nAniSeq(0)
, m_fTime(0.0f)
{
	SOUND.Play(snSave);
}

void CRoleStateOnSave::Draw(int x, int y) const
{
	DrawShadow(x, y);

	if (m_nAniSeq != 3)
	{
		m_pRole->m_bmAni.Draw(SCREEN, x, y, 2);
	}
	else
	{
		m_pRole->m_bmAni.Draw(SCREEN, x, y, 3);
	}
	if (m_nAniSeq <= 2)
	{
		m_pRole->m_bmBigPopo.Draw(SCREEN, x, y, m_nAniSeq + 3);
	}	
}

void CRoleStateOnSave::Update(float fDelta)
{
	static const float DELTA_ONSAVE = 0.1f;

	m_fTime += fDelta;
	if (m_fTime > DELTA_ONSAVE)
	{
		m_fTime -= DELTA_ONSAVE;
		m_nAniSeq++;
		if (m_nAniSeq == 5)
		{
			m_pRole->m_Direction = drDown;
			ChangeState(new CRoleStateNormal(m_pRole));			
		}
	}
}

//-----------------------------------------------------------------------------
CRoleStateOnDie::CRoleStateOnDie(CRole *pRole)
: CRoleState(pRole)
, m_nAniSeq(0)
, m_fTime(0.0f)
{
	m_pRole->m_bDead = true;
	SOUND.Play(snDie);
}

void CRoleStateOnDie::Draw(int x, int y) const
{
	DrawShadow(x, y);

	if (m_nAniSeq < 9)
	{
		m_pRole->m_bmAni.Draw(SCREEN, x, y, 0);
		m_pRole->m_bmBigPopo.Draw(SCREEN, x, y, 6 + m_nAniSeq / 3);
	}
	else if (m_nAniSeq < 32)
	{
		m_pRole->m_bmDie.Draw(SCREEN, x, y, (m_nAniSeq-9) / 4);
	}
	else if (m_nAniSeq < 36)
	{
		if (m_nAniSeq < 34)
		{
			m_pRole->m_bmDie.Draw(SCREEN, x, y, 6);
		}
	}
	else if (m_nAniSeq < 60)
	{
		int nSeq = (m_nAniSeq - 36) / 2;
		if (nSeq % 2 == 0)
		{
			m_pRole->m_bmDie.Draw(SCREEN, x, y, nSeq / 2 % 2 + 7);
		}
	}
	else if (m_nAniSeq < 84)
	{
		int nSeq = (m_nAniSeq - 60) / 2;
		if (nSeq % 2 == 0)
		{
			m_pRole->m_bmDie.Draw(SCREEN, x, y, nSeq / 2 % 2 + 9);
		}
	}
	else
	{
		if (m_nAniSeq % 2 == 0)
		{
			m_pRole->m_bmDie.Draw(SCREEN, x, y, m_nAniSeq / 2 % 2 + 7);
		}
	}
}

void CRoleStateOnDie::Update(float fDelta)
{
	static const float DELTA_ONDIE = 0.03f;

	m_fTime += fDelta;
	if (m_fTime > DELTA_ONDIE)
	{
		m_fTime -= DELTA_ONDIE;
		m_nAniSeq++;
		if (m_nAniSeq == 40)
		{
			g_pGame->RoleDead(m_pRole);
		}
		if (m_nAniSeq == 92)
		{
			ChangeState(new CRoleStateDead(m_pRole));
		}
	}
}

//-----------------------------------------------------------------------------
CRoleStateWin::CRoleStateWin(CRole *pRole)
: CRoleState(pRole)
, m_nAniSeq(0)
, m_fTime(0.0f)
{
}

void CRoleStateWin::Draw(int x, int y) const
{
	DrawShadow(x, y);

	if (m_nAniSeq % 2 == 0)
	{
		m_pRole->m_bmAni.Draw(SCREEN, x, y, 2);
	}
	else if (m_nAniSeq == 1)
	{
		m_pRole->m_bmAni.Draw(SCREEN, x, y, 4);
	}
	else if (m_nAniSeq == 3)
	{
		m_pRole->m_bmAni.Draw(SCREEN, x, y, 5);
	}
	else
	{
		m_pRole->m_bmAni.Draw(SCREEN, x, y, 3);
	}
}

void CRoleStateWin::Update(float fDelta)
{
	static const float DELTA_WIN = 0.15f;

	m_fTime += fDelta;
	if (m_fTime > DELTA_WIN)
	{
		m_fTime -= DELTA_WIN;
		m_nAniSeq = (m_nAniSeq + 1) % 16;
	}
}

//-----------------------------------------------------------------------------
CRoleStateOnRide::CRoleStateOnRide(CRole *pRole)
: CRoleState(pRole)
, m_nAniSeq(0)
, m_fTime(0.0f)
{
}

void CRoleStateOnRide::Draw(int x, int y) const
{
	DrawShadow(x, y);

	switch (m_pRole->m_Ability.Vehicle)
	{
	case vtSlowTurtle:
		m_pRole->m_bmSlowTurtle.Draw(SCREEN, x, y, m_pRole->m_Direction, 0);
		break;
	case vtFastTurtle:
		m_pRole->m_bmFastTurtle.Draw(SCREEN, x, y, m_pRole->m_Direction, 0);
		break;
	case vtOwl:
		m_pRole->m_bmOwl.Draw(SCREEN, x, y, m_pRole->m_Direction, 0);
		break;
	}

	if (m_nAniSeq < 11)
	{
		m_pRole->m_bmRide.Draw(SCREEN, x, y - (m_nAniSeq - 4) * 3, m_pRole->m_Direction);
	}
	else
	{
		m_pRole->m_bmRide.Draw(SCREEN, x, y - (17 - m_nAniSeq) * 3, m_pRole->m_Direction);
	}

	switch (m_pRole->m_Ability.Vehicle)
	{
	case vtFastUFO:
		m_pRole->m_bmFastUFO.Draw(SCREEN, x, y, m_pRole->m_Direction, 0);
		break;
	case vtSlowUFO:
		// 未實現(xiàn)
		break;
	}
}

void CRoleStateOnRide::Update(float fDelta)
{
	static const float DELTA_ONRIDE = 0.025f;

	m_fTime += fDelta;
	if (m_fTime > DELTA_ONRIDE)
	{
		m_fTime -= DELTA_ONRIDE;
		m_nAniSeq++;
		if (m_nAniSeq >	17)
		{
			ChangeState(new CRoleStateNormal(m_pRole));
			return;
		}
	}
}

//-----------------------------------------------------------------------------
CRoleStateOnDismount::CRoleStateOnDismount(CRole *pRole)
: CRoleState(pRole)
, m_nAniSeq(0)
, m_fTime(0.0f)
{
}

void CRoleStateOnDismount::Draw(int x, int y) const
{
	DrawShadow(x, y);

	if (m_nAniSeq <= 24 && m_nAniSeq/2 % 3 == 2)
	{
		switch (m_pRole->m_Ability.Vehicle)
		{
		case vtSlowTurtle:
			m_pRole->m_bmSlowTurtle.Draw(SCREEN, x, y, m_pRole->m_Direction, 0);
			break;
		case vtFastTurtle:
			m_pRole->m_bmFastTurtle.Draw(SCREEN, x, y, m_pRole->m_Direction, 0);
			break;
		case vtOwl:
			m_pRole->m_bmOwl.Draw(SCREEN, x, y, m_pRole->m_Direction, 0);
			break;
		}
	}

	if (m_nAniSeq < 12)
	{
		m_pRole->m_bmRide.Draw(SCREEN, x, y, m_pRole->m_Direction);
	}
	else if (m_nAniSeq < 24)
	{
		m_pRole->m_bmRide.Draw(SCREEN, x, y - (m_nAniSeq - 11) * 3, m_pRole->m_Direction);
	}
	else
	{
		m_pRole->m_bmRide.Draw(SCREEN, x, y - (36 - m_nAniSeq) * 3, m_pRole->m_Direction);
	}

	if (m_nAniSeq <= 24 && m_nAniSeq/2 % 3 == 2)
	{
		switch (m_pRole->m_Ability.Vehicle)
		{
		case vtFastUFO:
			m_pRole->m_bmFastUFO.Draw(SCREEN, x, y, m_pRole->m_Direction, 0);
			break;

		case vtSlowUFO:
			// 未實現(xiàn)
			break;
		}
	}
}

void CRoleStateOnDismount::Update(float fDelta)
{
	static const float DELTA_DISMOUNT = 0.025f;

	m_fTime += fDelta;
	if (m_fTime > DELTA_DISMOUNT)
	{
		m_fTime -= DELTA_DISMOUNT;
		m_nAniSeq++;
		if (m_nAniSeq > 40)
		{
			m_pRole->m_Ability.Vehicle = vtNone;
			m_pRole->m_bFlying = false;
			ChangeState(new CRoleStateNormal(m_pRole));			
		}
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91精品一区二区| 亚洲视频免费看| 蜜臀av一区二区| 日韩精品一区二| 国产成人av一区| 亚洲欧美一区二区三区国产精品 | 久久久久久久精| 国产999精品久久久久久| 中文字幕一区二区日韩精品绯色| 91美女在线视频| 亚洲成人资源网| 久久免费视频一区| 99re亚洲国产精品| 午夜精品久久一牛影视| 久久―日本道色综合久久| 成人午夜免费电影| 亚洲影视在线观看| 欧美videos大乳护士334| 成人在线综合网| 一区二区在线看| 日韩精品影音先锋| www.日韩精品| 秋霞午夜av一区二区三区| 国产三级一区二区| 欧美综合一区二区三区| 激情综合五月天| 一区二区三区四区高清精品免费观看| 欧美日韩精品欧美日韩精品一 | 成人综合在线网站| 亚洲18女电影在线观看| 久久免费偷拍视频| 欧美视频一区二区三区在线观看| 精品伊人久久久久7777人| 国产精品久久久久桃色tv| 欧美精品久久天天躁| 成人午夜激情在线| 免费高清在线一区| 亚洲色图清纯唯美| 2020国产精品| 欧美视频在线一区| jlzzjlzz亚洲日本少妇| 轻轻草成人在线| 国产精品国产三级国产aⅴ中文 | 26uuu亚洲综合色| 在线精品观看国产| av电影在线观看完整版一区二区| 蜜桃视频一区二区三区| 亚洲图片欧美激情| 国产三级精品在线| 日韩三级视频在线观看| 色嗨嗨av一区二区三区| 福利电影一区二区| 久久 天天综合| 日韩激情av在线| 亚洲在线视频网站| 亚洲精品日日夜夜| 一区二区中文视频| 国产精品妹子av| 久久久久久久久久久黄色| 日韩一区二区不卡| 91.com在线观看| 欧美日韩在线电影| 欧美视频完全免费看| 91视视频在线观看入口直接观看www| 国产美女在线观看一区| 国内精品第一页| 久久99精品国产麻豆婷婷| 日韩国产高清影视| 婷婷夜色潮精品综合在线| 亚洲成人av一区| 亚洲午夜久久久久中文字幕久| 亚洲品质自拍视频| 一区二区高清在线| 一区二区三区在线观看国产| 亚洲欧美视频在线观看| 综合久久一区二区三区| 亚洲伦理在线精品| 玉足女爽爽91| 亚洲午夜电影网| 午夜精品久久久久久| 视频一区欧美日韩| 久久97超碰色| 国产99久久久国产精品免费看| 国产成人综合自拍| 播五月开心婷婷综合| 成人黄色国产精品网站大全在线免费观看| 国产成人在线电影| 94-欧美-setu| 在线视频中文字幕一区二区| 欧美日韩色一区| 欧美一区二区三区婷婷月色| 精品国产1区二区| 久久久一区二区三区捆绑**| 欧美高清在线一区| 亚洲视频一二三| 亚洲成人久久影院| 免费高清不卡av| 国产91精品露脸国语对白| 色综合久久综合| 欧美日韩国产一级片| 精品成人私密视频| 国产精品久久久久久福利一牛影视 | 狠狠狠色丁香婷婷综合久久五月| 国产一区二区主播在线| 成人免费看视频| 欧美午夜在线一二页| 精品国产乱码久久久久久久久 | 亚洲电影第三页| 久久精品国产免费| 成人性生交大片免费看视频在线| 91视频在线观看| 日韩网站在线看片你懂的| 国产精品美女久久久久久久久 | 激情久久五月天| 欧美一级片在线| 日本不卡视频一二三区| 精品久久人人做人人爰| 国产精品视频一二三| 亚洲成人福利片| 国产成人综合亚洲91猫咪| 在线观看日韩国产| 久久久久久久免费视频了| 亚洲女同一区二区| 韩国一区二区视频| 在线视频你懂得一区二区三区| 欧美一级黄色大片| 亚洲欧美国产高清| 国产一区二区三区四区五区美女| 日本久久电影网| 久久久久国产精品免费免费搜索| 亚洲综合免费观看高清完整版| 国产一区二区三区最好精华液| 色8久久人人97超碰香蕉987| 精品成人在线观看| 亚洲国产美国国产综合一区二区| 久久精品国产免费| 欧美久久婷婷综合色| 国产精品沙发午睡系列990531| 日韩国产在线观看一区| 99国产精品视频免费观看| 欧美www视频| 日韩中文字幕1| 在线观看一区二区视频| 国产精品久久毛片av大全日韩| 裸体在线国模精品偷拍| 欧美色中文字幕| 亚洲欧洲韩国日本视频| 国产精品自拍一区| 日韩写真欧美这视频| 亚洲一区二区三区四区在线免费观看 | 综合电影一区二区三区 | 国产欧美日本一区视频| 美女被吸乳得到大胸91| 欧美久久久一区| 五月综合激情日本mⅴ| 色综合久久天天综合网| 国产精品久久三| 成人午夜私人影院| 国产日本欧洲亚洲| 国产一区美女在线| 精品国产百合女同互慰| 激情综合网天天干| 久久一二三国产| 国产麻豆精品在线| 国产亚洲精品aa午夜观看| 国产精品夜夜嗨| 国产婷婷色一区二区三区| 国产成人三级在线观看| 国产色一区二区| www.成人网.com| 亚洲激情av在线| 欧美丝袜丝交足nylons| 日韩国产精品大片| 精品福利在线导航| 国产精品一色哟哟哟| 中文字幕精品在线不卡| 成人爱爱电影网址| 亚洲欧美经典视频| 精品1区2区3区| 另类综合日韩欧美亚洲| 久久久久久久久一| 91视频一区二区| 亚洲香蕉伊在人在线观| 91精品国产一区二区三区| 久久国产精品99久久人人澡| 久久久久久久国产精品影院| 成人av在线资源网站| 亚洲精品成人悠悠色影视| 欧美日韩国产欧美日美国产精品| 天堂在线一区二区| 久久精品一区八戒影视| 99久久伊人精品| 午夜精品福利一区二区三区av| 日韩欧美亚洲一区二区| 国产91高潮流白浆在线麻豆| 亚洲日本va午夜在线电影| 69堂精品视频| 成人午夜精品一区二区三区| 亚洲国产成人精品视频| 久久综合色8888|