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

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

?? game.cpp

?? 3D俄羅斯方塊源碼.rar
?? CPP
字號:
//--------------------------------------------------------------
/**\!File
  *
  *File name:GAME.h
  *
  *His:add by honghaier @2004/2/17
  *
  *Desc:游戲類
  */
//---------------------------------------------------------------
#include "Game.h"
#include "BASIC.h"
#include <windows.h>
//---------------------------------------------------------------

CGame::CGame()
{

	m_stop=false;
	m_pD3D = NULL;
	m_pD3DDevice = NULL;
	m_wood=NULL;
	m_skybox=NULL;
	for(int i=0;i<WOODROW;i++)
		for(int j=0;j<WOODCOW;j++)
		{
			m_wooddata[i][j]=0;
		}
//---------------字體設(shè)置--------------------
	lstrcpy( m_strFont, _T("Arial Black") );
    m_dwFontSize  = 18;
    m_pFont1 = new CD3DFont( m_strFont, m_dwFontSize );
	lstrcpy( m_strFont, _T("Arial Black") );
    m_dwFontSize  = 12;
    m_pFont2 = new CD3DFont( m_strFont, m_dwFontSize );
//---------------字體設(shè)置--------------------
}
CGame::~CGame()
{	
	SAFE_DELETE(m_pFont1);
	SAFE_DELETE(m_pFont2);
	SAFE_DELETE(m_wood);
	SAFE_DELETE(m_skybox);
	SAFE_RELEASE(m_pD3DDevice);
	SAFE_RELEASE(m_pD3D);
}

bool CGame::Initialise(HWND hWnd, UINT nWidth, UINT nHeight)
{	 

	if(SUCCEEDED(InitialiseD3D(hWnd, nWidth, nHeight)))
	{
		m_hWnd=hWnd;
	}
	else
	{
		return false;
	}

	return true;
}
	/**!\brief
	  *\param _p1:人數(shù)設(shè)定
	  *\param _align 位于窗口的位置
	  *\param _row 初始行數(shù)設(shè)定
	  *\param _level 初始級別設(shè)定
	  *\param _isshownext 是否顯示下一個
	  *\param _isaddrow 玩法模式
	  */
bool CGame::InitialiseGame(int _p1,int _align,int _row,int _level,bool _isshownext,bool _isaddrow)
{
	m_pMusicManager=new CMusicManager(); 
	if(FAILED(m_bgmusic.init(m_hWnd,m_pMusicManager)))return false;
	if(FAILED(m_keyboard.initKeyboard(m_hWnd)))return false;
	m_pSoundManager=new CSoundManager();
	if(FAILED(m_sound[0].init(m_hWnd,m_pSoundManager)))return false;
	if(FAILED(m_sound[1].init(m_hWnd,m_pSoundManager)))return false;
	if(FAILED(m_sound[2].init(m_hWnd,m_pSoundManager)))return false;
	if(FAILED(m_sound[3].init(m_hWnd,m_pSoundManager)))return false;
	if(FAILED(m_sound[4].init(m_hWnd,m_pSoundManager)))return false;
	//-----------------------------
	m_personnum=_p1;
    m_row=_row;
	m_isshownext=_isshownext;
	m_level=_level;
	m_align=_align;
	if(_isaddrow==false)
	{
		m_type=1;
	}
	else
	{
		m_type=2;
	}
	m_end=false;
	//-----------------信息-----------------
	if(FAILED(m_Msg.Init(m_pD3DDevice,&m_sound[4])))return false;
    //-----------------字體-----------------
	m_pFont1->InitDeviceObjects(m_pD3DDevice);
	m_pFont1->RestoreDeviceObjects();
	m_pFont2->InitDeviceObjects(m_pD3DDevice);
	m_pFont2->RestoreDeviceObjects();
	//------------------場景------------------
	m_wood=new CCuboid(m_pD3DDevice);/**墻體 */
	m_wood->SetTexture("tex\\back.jpg");
	m_wood->SetSize(10,10,0.0);
	m_skybox=new CCuboid(m_pD3DDevice);/**天空 */
	srand(timeGetTime());
	if(rand()%2)
	{
		m_skybox->SetTexture("tex\\SPACE.bmp");
	}
	else
	{
		m_skybox->SetTexture("tex\\sky.jpg");
	}
	m_skybox->SetSize(800,800,1000);
	for(int i=0;i<WOODROW;i++)
		for(int j=0;j<WOODCOW;j++)
		{
			if(i<=5||i>=26)
			{
				m_wooddata[i][j]=1;
			}
			if(j<=3||j==14||j==15||j>=26)
			{
				m_wooddata[i][j]=1;
			}
		}
		switch(_p1)
		{
		case 1:
			if(_align==1)
			{   
				m_person1.SetKeyBoard(&m_keyboard);
				if(FAILED(m_person1.SetPerson(1,m_hWnd,&m_sound[0],&m_sound[1])))return false;
				if(FAILED(m_person1.Start(m_row,m_level,m_isshownext,m_pD3DDevice)))return false;
			}
			else
			{
				m_person2.SetKeyBoard(&m_keyboard);
				if(FAILED(m_person2.SetPerson(2,m_hWnd,&m_sound[2],&m_sound[3])))return false;
				if(FAILED(m_person2.Start(m_row,m_level,m_isshownext,m_pD3DDevice)))return false;
			}
			break;
		case 2:
			m_person1.SetKeyBoard(&m_keyboard);
			m_person2.SetKeyBoard(&m_keyboard);
			if(FAILED(m_person1.SetPerson(1,m_hWnd,&m_sound[0],&m_sound[1])))return false;
			if(FAILED(m_person2.SetPerson(2,m_hWnd,&m_sound[2],&m_sound[3])))return false;
			if(FAILED(m_person1.Start(m_row,m_level,m_isshownext,m_pD3DDevice)))return false;
			if(FAILED(m_person2.Start(m_row,m_level,m_isshownext,m_pD3DDevice)))return false;
			break;
		}
		char musicfilename[50];
		wsprintf(musicfilename,"mus\\%d.mid",m_level);
		if(SUCCEEDED(m_bgmusic.Load(musicfilename)))
		{
			m_bgmusic.Play();
		}
		if(FAILED(m_EndPart.init(m_hWnd,m_pD3DDevice,240,200)))return false;
		return true;
}

void CGame::EndGame(bool _isend)
{
	m_end=_isend;
}
D3DFORMAT CGame::CheckDisplayMode(UINT nWidth, UINT nHeight, UINT nDepth)
{
	UINT x;
	D3DDISPLAYMODE d3ddm;

	for(x = 0; x < m_pD3D->GetAdapterModeCount(0); x++)
	{
		m_pD3D->EnumAdapterModes(0, x, &d3ddm);
		if(d3ddm.Width == nWidth)
		{
			if(d3ddm.Height == nHeight)
			{
				if((d3ddm.Format == D3DFMT_R5G6B5) || (d3ddm.Format == D3DFMT_X1R5G5B5) || (d3ddm.Format == D3DFMT_X4R4G4B4))
				{
					if(nDepth == 16)
					{
						return d3ddm.Format;
					}
				}
				else if((d3ddm.Format == D3DFMT_R8G8B8) || (d3ddm.Format == D3DFMT_X8R8G8B8))
				{
					if(nDepth == 32)
					{
						return d3ddm.Format;
					}
				}
			}
		}
	}

	return D3DFMT_UNKNOWN;
}

HRESULT CGame::InitialiseD3D(HWND hWnd, UINT nWidth, UINT nHeight)
{
    m_pD3D = Direct3DCreate8(D3D_SDK_VERSION);
    if(m_pD3D == NULL)
    {
	 return E_FAIL;
    }
    D3DDISPLAYMODE d3ddm;

	d3ddm.Format = CheckDisplayMode(nWidth, nHeight, 32);
	if(d3ddm.Format != D3DFMT_UNKNOWN)
	{
		d3ddm.Width = nWidth;
		d3ddm.Height = nHeight;

	}
	else
	{
		d3ddm.Format = CheckDisplayMode(nWidth, nHeight, 16);
		if(d3ddm.Format != D3DFMT_UNKNOWN)
		{
			d3ddm.Width = nWidth;
			d3ddm.Height = nHeight;

		}
        else
		{
		    return E_FAIL;
        }
	}
    D3DPRESENT_PARAMETERS d3dpp; 
    ZeroMemory(&d3dpp, sizeof(d3dpp));

	d3dpp.Windowed = FALSE;
    d3dpp.BackBufferCount = 1;
    d3dpp.BackBufferFormat = d3ddm.Format;
    d3dpp.BackBufferWidth = d3ddm.Width;
    d3dpp.BackBufferHeight = d3ddm.Height;
    d3dpp.hDeviceWindow = hWnd;
    d3dpp.SwapEffect = D3DSWAPEFFECT_COPY_VSYNC;
	d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
    d3dpp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_ONE;
    if(m_pD3D->CheckDeviceFormat(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, d3ddm.Format, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_SURFACE, D3DFMT_D32) == D3D_OK)
	{
        d3dpp.AutoDepthStencilFormat = D3DFMT_D32;
        d3dpp.EnableAutoDepthStencil = TRUE;

  }
    else if(m_pD3D->CheckDeviceFormat(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, d3ddm.Format, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_SURFACE, D3DFMT_D24X8) == D3D_OK)
    {
		d3dpp.AutoDepthStencilFormat = D3DFMT_D24X8;
        d3dpp.EnableAutoDepthStencil = TRUE;
	}
    else if(m_pD3D->CheckDeviceFormat(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, d3ddm.Format, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_SURFACE, D3DFMT_D16) == D3D_OK)
    {
		d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
        d3dpp.EnableAutoDepthStencil = TRUE;
	}
    else
	{
        d3dpp.EnableAutoDepthStencil = FALSE;
	}


    if(FAILED(m_pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, 
                                   D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &m_pD3DDevice)))
    {
        return E_FAIL;
    }
    
  m_pD3DDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);

  m_pD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE);

  m_pD3DDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);

    return S_OK;
}

LPDIRECT3DDEVICE8 CGame::GetDevice()
{
	return m_pD3DDevice;
}

void CGame::GameLoop()
{

    MSG msg; 
    BOOL fMessage;

    PeekMessage(&msg, NULL, 0U, 0U, PM_NOREMOVE);

    while(msg.message != WM_QUIT)
    {
        fMessage = PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE);

        if(fMessage)
        {

            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
        else
        {   
			DoMusic();
            Render();
        }

    }
}
void CGame::DoMusic()
{
	if(m_personnum==1)
	{  
		if(m_align==1)
		{
			if(m_level<m_person1.m_map.m_level)
			{
				m_level=m_person1.m_map.m_level;
				char musicfilename[50];
				wsprintf(musicfilename,"mus\\%d.mid",m_person1.m_map.m_level);
				if(SUCCEEDED(m_bgmusic.Load(musicfilename)))
				{
					m_bgmusic.Play();
				}
			}
		}
		else
		{
			if(m_level<m_person2.m_map.m_level)
			{
				m_level=m_person2.m_map.m_level;
				char musicfilename[50];
				wsprintf(musicfilename,"mus\\%d.mid",m_person2.m_map.m_level);
				if(SUCCEEDED(m_bgmusic.Load(musicfilename)))
				{
					m_bgmusic.Play();
				}
			}
		}
	}
	else
	{
    
		if(m_person1.m_map.m_level>m_person2.m_map.m_level)
		{
		    if(m_level<m_person1.m_map.m_level)
			{
			m_level=m_person1.m_map.m_level;
		    char musicfilename[50];
		    wsprintf(musicfilename,"mus\\%d.mid",m_person1.m_map.m_level);
		    if(SUCCEEDED(m_bgmusic.Load(musicfilename)))
			{
			m_bgmusic.Play();
			}
			}
		}
		else
		{
		    if(m_level<m_person2.m_map.m_level)
			{
			m_level=m_person2.m_map.m_level;
		    char musicfilename[50];
		    wsprintf(musicfilename,"mus\\%d.mid",m_person2.m_map.m_level);
		    if(SUCCEEDED(m_bgmusic.Load(musicfilename)))
			{
			m_bgmusic.Play();
			}
			}
		}
	}
}
void CGame::Render()
{


	if(m_pD3DDevice == NULL)
    {
        return;
    }

    m_pD3DDevice->Clear(0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0);
    
    m_pD3DDevice->BeginScene();
    
	SetupCamera();
    RenderWood();
	RenderTile();
	if(m_end==false)
	{
		if(m_stop==false)
		{
			RenderPerson(m_personnum);
		}
		else
		{
			m_Msg.Show();
		}
	}
	else
	{
           m_EndPart.Render();
	}
	RenderFont();
    
    m_pD3DDevice->EndScene();
    m_pD3DDevice->Present(NULL, NULL, NULL, NULL);

}

void CGame::SetupCamera()
{
    D3DXMATRIX matView;
    D3DXMatrixLookAtLH(&matView, &D3DXVECTOR3(115.1f,-120.0f,-350.0f),		//Camera Position
                                 &D3DXVECTOR3(115.1f,-120.0f, 0.0f),		//Look At Position
                                 &D3DXVECTOR3(0.0f, 1.0f, 0.0f));		//Up Direction
    m_pD3DDevice->SetTransform(D3DTS_VIEW, &matView);
    D3DXMATRIX matProj;
    D3DXMatrixPerspectiveFovLH(&matProj, D3DX_PI/4, 1.0f, 1.0f, 1500.0f);
    m_pD3DDevice->SetTransform(D3DTS_PROJECTION, &matProj);
}
void CGame::RenderWood()
{
	for(int i=0;i<WOODROW;i++)
		for(int j=0;j<WOODCOW;j++)
		{
			if(m_wooddata[i][j]==1)
			{
	D3DXMATRIX matWorld;
	D3DXMatrixIdentity(&matWorld);
	D3DXMatrixTranslation(&matWorld,-30+j*10.0,20+(-10.0)*i,-5.0);
	m_pD3DDevice->SetTransform( D3DTS_WORLD, &matWorld);
	m_wood->Render();
			}
		}
}
void CGame::RenderTile()
{
	D3DXMATRIX matWorld;
	D3DXMatrixIdentity(&matWorld);
	D3DXMatrixTranslation(&matWorld,150,-150,0.0);
	m_pD3DDevice->SetTransform( D3DTS_WORLD, &matWorld);
	m_skybox->Render();
}
void CGame::RenderPerson(int _personnum)
{
	switch(_personnum)
	{
	case 1:
		if(m_align==1)
		{
			m_person1.Render();
		}
		else
		{
			m_person2.Render();
		}
	    break;
    case 2:
		m_person1.Render();
		m_person2.Render();
		if(m_type==2)
		{
			if(m_person1.m_map.m_addrow)
			{
				if(m_person2.m_map.m_finish==false)
				{
					m_person2.m_map.AddToMap(m_person1.m_map.xiaorownum);
					m_person1.m_map.m_addrow=false;
				}
			}
			if(m_person2.m_map.m_addrow)
			{
				if(m_person1.m_map.m_finish==false)
				{
					m_person1.m_map.AddToMap(m_person2.m_map.xiaorownum);
					m_person2.m_map.m_addrow=false;
				}
			}
		}
		break;
		
	}
}

bool CGame::SetNum(int _num)
{
	m_personnum=_num;
	return true;
}
void CGame::RenderFont()
{
	if(m_personnum==1)
	{
				if(m_align==1)
				{
char szInfo[100];
wsprintf(szInfo,"Player1 ");
m_pFont1->DrawText(85, 10, D3DCOLOR_ARGB(255,255,255,255),szInfo);  
char szInfo2[100];
wsprintf(szInfo2,"score:%d    level:%d",m_person1.m_map.m_score,m_person1.m_map.m_level);
m_pFont2->DrawText(85, 40, D3DCOLOR_ARGB(255,0,255,0),szInfo2);  
char szInfo3[100];
wsprintf(szInfo3,"Last Tile");
m_pFont2->DrawText(200, 10, D3DCOLOR_ARGB(255,255,255,0),szInfo3);  
if(m_person1.m_map.m_finish==true)
{
char szInfo4[100];
wsprintf(szInfo4,"GAME OVER");
m_pFont1->DrawText(160,400, D3DCOLOR_ARGB(255,255,0,0),szInfo4);  
m_pFont1->DrawText(110,480, D3DCOLOR_ARGB(255,0,255,0),"Enter F1 to ReDo!");  
}
				}
				else
				{
char szInfo[100];
wsprintf(szInfo,"Player1 ");
m_pFont1->DrawText(440, 10, D3DCOLOR_ARGB(255,255,255,255),szInfo);  
char szInfo2[100];
wsprintf(szInfo2,"score:%d    level:%d",m_person2.m_map.m_score,m_person2.m_map.m_level);
m_pFont2->DrawText(440, 40, D3DCOLOR_ARGB(255,0,255,0),szInfo2);  
char szInfo3[100];
wsprintf(szInfo3,"Last Tile");
m_pFont2->DrawText(630, 10, D3DCOLOR_ARGB(255,255,255,0),szInfo3); 
if(m_person2.m_map.m_finish==true)
{
char szInfo4[100];
wsprintf(szInfo4,"GAME OVER");
m_pFont1->DrawText(490,400, D3DCOLOR_ARGB(255,255,0,0),szInfo4);  
m_pFont1->DrawText(450,480, D3DCOLOR_ARGB(255,0,255,0),"Enter F2 to ReDo!");  
}
	 
				}
	}
	else
	{
char szInfo[100];
wsprintf(szInfo,"Player1 ");
m_pFont1->DrawText(85, 10, D3DCOLOR_ARGB(255,255,255,255),szInfo);   
char szInfo2[100];
wsprintf(szInfo2,"Player2 ");
m_pFont1->DrawText(440, 10, D3DCOLOR_ARGB(255,255,255,255),szInfo2);  
char szInfo3[100];
wsprintf(szInfo3,"score:%d    level:%d",m_person1.m_map.m_score,m_person1.m_map.m_level);
m_pFont2->DrawText(85, 40, D3DCOLOR_ARGB(255,0,255,0),szInfo3);  
char szInfo4[100];
wsprintf(szInfo4,"score:%d    level:%d",m_person2.m_map.m_score,m_person2.m_map.m_level);
m_pFont2->DrawText(440, 40, D3DCOLOR_ARGB(255,0,255,0),szInfo4);
char szInfo5[100];
wsprintf(szInfo5,"Next Tile");
m_pFont2->DrawText(300, 10, D3DCOLOR_ARGB(255,255,255,0),szInfo5);  
char szInfo6[100];
wsprintf(szInfo6,"Next Tile");
m_pFont2->DrawText(630, 10, D3DCOLOR_ARGB(255,255,255,0),szInfo6);
if(m_person1.m_map.m_finish==true)
{
char szInfo11[100];
wsprintf(szInfo11,"GAME OVER");
m_pFont1->DrawText(160,400, D3DCOLOR_ARGB(255,255,0,0),szInfo11);  
m_pFont1->DrawText(110,480, D3DCOLOR_ARGB(255,0,255,0),"Enter F1 to ReDo!");  
}
	
if(m_person2.m_map.m_finish==true)
{
char szInfo22[100];
wsprintf(szInfo22,"GAME OVER");
m_pFont1->DrawText(490,400, D3DCOLOR_ARGB(255,255,0,0),szInfo22);  
m_pFont1->DrawText(450,480, D3DCOLOR_ARGB(255,0,255,0),"Enter F2 to ReDo!");  
}
	
	}
}
void CGame::Stop()
{
    m_stop=!m_stop;
    m_Msg.SetMsg(1);
	
}
void CGame::ReLife(int _which)
{
	if(_which==1)
	{
   m_person1.ReLife();
	}
	else
	{
    	if(m_personnum==2)
		{
   m_person2.ReLife();
		}
	}
}
void CGame::SetType(int _type)
{
	  m_type=_type;
}
    /**!\brief
	  *設(shè)置鍵盤
	  */
void CGame::SetKey(int a,CControl *b)
{
		m_keyboard.SetKey(a,b);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本青草视频在线怡红院| 国产精品久久久久9999吃药| 成人免费视频国产在线观看| 亚洲成人av中文| 国产精品丝袜久久久久久app| 8x8x8国产精品| 91女神在线视频| 风间由美中文字幕在线看视频国产欧美 | 国产一区视频导航| 日日嗨av一区二区三区四区| 中文字幕视频一区| 2021中文字幕一区亚洲| 欧美女孩性生活视频| 一本色道久久综合狠狠躁的推荐| 国产99久久久国产精品免费看| 日韩精品乱码av一区二区| 亚洲欧美日韩电影| 欧美国产1区2区| 国产三区在线成人av| 日韩一卡二卡三卡| 欧美精品三级在线观看| 欧洲生活片亚洲生活在线观看| 波多野结衣中文字幕一区二区三区| 免费欧美高清视频| 青青国产91久久久久久| 日韩影院精彩在线| 五月综合激情日本mⅴ| 亚洲午夜精品在线| 亚洲最新在线观看| 亚洲愉拍自拍另类高清精品| 自拍偷拍亚洲激情| 亚洲日本欧美天堂| 亚洲欧美日韩国产一区二区三区 | 久久成人18免费观看| 日产国产高清一区二区三区| 午夜精品视频一区| 亚洲国产精品久久久久秋霞影院| 亚洲欧美激情插| 亚洲美女视频在线观看| 亚洲精品国产精华液| 亚洲精品成人少妇| 亚洲国产一区二区三区青草影视| 亚洲在线免费播放| 亚洲成人av一区二区三区| 亚洲mv在线观看| 婷婷丁香久久五月婷婷| 麻豆免费精品视频| 国产在线播放一区| 不卡高清视频专区| 色综合久久久久综合99| 欧美三级电影在线观看| 欧美一区二区久久| 26uuu欧美| 国产精品久久毛片a| 伊人婷婷欧美激情| 日韩成人伦理电影在线观看| 九一九一国产精品| 国产suv一区二区三区88区| 成人午夜免费视频| 91在线国产福利| 欧美三级在线播放| 精品久久久久久亚洲综合网| 久久久午夜精品| 国产精品国产自产拍高清av | 色哦色哦哦色天天综合| 欧美剧情电影在线观看完整版免费励志电影| 欧美三级一区二区| 精品久久久久久久久久久久久久久久久| 精品99999| 亚洲欧美一区二区三区国产精品| 亚洲va在线va天堂| 国产一区二区剧情av在线| 99久久er热在这里只有精品66| 欧美日韩国产片| 国产欧美一区二区在线观看| 一区二区高清在线| 国产一区二区看久久| 日本韩国一区二区三区| 欧美va在线播放| 一区二区三区在线观看欧美 | 不卡的av电影| 欧美片网站yy| 中文欧美字幕免费| 日韩av一区二区三区| 夫妻av一区二区| 91精品免费在线| 国产精品午夜久久| 麻豆精品一区二区av白丝在线| 成人一区在线看| 欧美一个色资源| 亚洲精品国产视频| 国产成人综合精品三级| 欧美精品在线视频| 中文字幕日韩一区| 激情国产一区二区 | 538prom精品视频线放| 中文字幕免费不卡在线| 热久久久久久久| 日本电影欧美片| 国产精品三级久久久久三级| 另类成人小视频在线| 91久久精品网| 中文字幕一区二区三区精华液| 久久er精品视频| 欧美精品一级二级| 亚洲另类春色国产| av在线一区二区| 国产午夜精品一区二区三区嫩草| 首页亚洲欧美制服丝腿| 在线观看欧美黄色| 中文字幕一区av| 国产xxx精品视频大全| 欧美精品一区二区蜜臀亚洲| 日韩精品一级二级| 欧美日韩精品一区二区天天拍小说| 国产精品系列在线| 国产精品123区| 2020国产精品| 激情深爱一区二区| 精品久久久久久最新网址| 日本中文字幕不卡| 欧美精品久久久久久久多人混战| 亚洲综合久久av| 在线免费一区三区| 一区二区三区中文字幕电影| 91影院在线免费观看| 国产精品三级视频| voyeur盗摄精品| 中文字幕国产一区| 成人网页在线观看| 欧美国产日韩a欧美在线观看| 国产成人av影院| 国产亚洲va综合人人澡精品| 国产成人8x视频一区二区| 国产三区在线成人av| 国产成a人亚洲精| 日本一区二区三区四区| 成人ar影院免费观看视频| 中文字幕一区二区三区蜜月| 99re热这里只有精品视频| 国产精品久久国产精麻豆99网站| 97超碰欧美中文字幕| 亚洲伦在线观看| 欧洲一区二区av| 天天影视涩香欲综合网 | 欧美国产日产图区| av亚洲精华国产精华精华 | 亚洲国产视频在线| 51精品视频一区二区三区| 青青草精品视频| 精品久久久久久久久久久院品网 | 国产不卡视频在线播放| 国产精品丝袜91| 色综合天天综合网国产成人综合天| 亚洲激情网站免费观看| 欧美一区二区在线免费观看| 奇米精品一区二区三区在线观看| 337p日本欧洲亚洲大胆精品| 成人性生交大片免费看视频在线 | 欧美午夜片在线看| 日韩国产欧美三级| 国产亚洲欧美激情| 色偷偷久久人人79超碰人人澡| 午夜久久久影院| 精品久久久久香蕉网| 99在线精品一区二区三区| 一区二区三区四区国产精品| 欧美日韩日日骚| 国产乱码一区二区三区| 亚洲精品美腿丝袜| 精品奇米国产一区二区三区| 丁香啪啪综合成人亚洲小说| 夜夜亚洲天天久久| 精品国产伦理网| 色菇凉天天综合网| 精品一区二区三区香蕉蜜桃 | 色婷婷av一区二区三区软件| 视频一区在线视频| 国产欧美日韩一区二区三区在线观看| 一本大道综合伊人精品热热| 精品一区二区三区在线观看国产| 日韩毛片在线免费观看| 日韩午夜电影av| 99国产欧美久久久精品| 精品综合久久久久久8888| 亚洲欧美日韩综合aⅴ视频| 欧美一区二区三区在线视频| kk眼镜猥琐国模调教系列一区二区| 香蕉影视欧美成人| 国产精品久久久久影院亚瑟| 日韩亚洲欧美一区二区三区| 色诱视频网站一区| 国产河南妇女毛片精品久久久| 亚洲福利电影网| 国产精品久久久久国产精品日日| 日韩欧美在线网站| 欧美在线综合视频| 成人激情av网| 麻豆高清免费国产一区| 亚洲高清免费观看高清完整版在线观看|