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

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

?? rpg.cpp

?? 圣劍英雄1的源代碼(英雄救美版)。經典PRG游戲編程示例。
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/********************************************************
*	《圣劍英雄傳--英雄救美》測試版						*
*	中文RPG游戲源程序									*
*														*
*	softboy												*
*	1999.6												*
*														*
*	http://goldpoint.126.com							*
*	mailto:wj77@163.net									*
*														*
*	本文件由 softboy 創建于 1999/3/25					*
*   最后修改于 1999年6月11日							*
*														*
*	聲明:												*
*	    在不用于商業目的的前提下,你可以任意復制并		*
*	傳播該程序,如果愿意還可以自由更改,但由此產生		*
*	后果,我不負擔任何責任。							*
*	    如果要將該程序用于商業目的,請事先與我聯系,	*
*	否則,后果自負!									*
********************************************************/

//聲明包含文件
#include <windows.h>
#include <windowsx.h>
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#include <io.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <mmsystem.h>
#include <time.h>
#include <direct.h>
#include <ddraw.h>
#include <dsound.h>
#include "ddutil.h"
#include "resource.h"

#define ScreenX     640		//屏幕寬
#define ScreenY     480		//屏幕高
#define ScreenColor 8		//顏色深度

#define MAPS	8			//游戲中總共的地圖數目
#define NPCS	15			//游戲中總共的NPC數目(種類)

#define TREASURE 0xf000		//地圖中的寶物偏移
#define BLAK	0xa000		//地圖中的障礙偏移值		即:障礙編號=BLAK+???
#define SPACE   0x5000		//地圖中的切換場景的偏移值(英雄踏上后切換到下一個場景)

#define BUY		1	//買
#define SALE	2	//賣
//================================全局變量聲明==================================
LPDIRECTSOUNDBUFFER  SoundAo[10];		//挨打聲音
LPDIRECTSOUNDBUFFER  SoundDead[10];		//死亡聲音
LPDIRECTSOUNDBUFFER  SoundAttack[10];		//攻擊聲音

#include "dsound.cpp"

LPDIRECTDRAW            lpDD;       //DirectDraw對象
LPDIRECTDRAWSURFACE	lpDDSPrimary;	// 主頁面
LPDIRECTDRAWSURFACE	lpDDSBack;		// 緩沖頁面
LPDIRECTDRAWSURFACE lpDDSBackGround;// 背景頁面
LPDIRECTDRAWSURFACE	lpDDSSpirit;	// 精靈頁面
LPDIRECTDRAWSURFACE	lpDDSNpc[NPCS];	// 電腦人物頁面
LPDIRECTDRAWSURFACE	lpDDSMap1;		// 地圖頁面1
LPDIRECTDRAWSURFACE	lpDDSMap2;		// 地圖頁面2
LPDIRECTDRAWSURFACE	lpDDSDialog;	// 對話框頁面
LPDIRECTDRAWSURFACE	lpDDSStateBar;	// 狀態頁頁面
LPDIRECTDRAWSURFACE	lpDDSFightBar;	// 打斗頁頁面
LPDIRECTDRAWSURFACE lpDDSBomb;		// 爆炸頁面
LPDIRECTDRAWSURFACE	lpDDSMainMenu;	// 主菜單頁面
LPDIRECTDRAWSURFACE	lpDDSGoods;		// 物品頁面
LPDIRECTDRAWPALETTE lpDDPal;		//主調色板


char *Talk;	//游戲中的所有對話數據

HWND	hWnd;				//主窗口句柄
BOOL	bActive = TRUE;		//應用程序是否活躍
int     Scene=0;		//所處場景標志
int     SX=0,SY=0; //所處場景的左上坐標
int     old_SX=0, old_SY=0;
int     DX=0,DY=0; //生成場景時的左上坐標
int     old_DX=0, old_DY=0;
RECT	rect;		//Blt用的矩形

int Flag_OutCity=0;		//出城的標志
int Flag_GotoPalace=0;	//進魔宮的標志

//*********角色屬性結構**********

typedef struct{
int ID;				//角色唯一編號
int Pic;			//角色圖片編號
int Enemy;			//角色是否是敵人
int TalkNum;		//對話編號
BOOL Active;		//角色是否活動
BOOL Show;			//角色是否可見
char Name[32];		//角色名稱
int Width,Hight;	//角色大小
int x,y;			//當前坐標
int old_x,old_y;	//舊的坐標
int Way;			//方向
int Stats;			//狀態
int Level;		//等級
int Exp;		//經驗
int Lift;		//生命 
int MaxLift;	//生命最大值
int Attack;		//攻擊
int Defend;		//防御
int Speed;		//速度
unsigned char Goods[17];	//物品(最多可帶16件)
int Money;		//金錢
LPDIRECTDRAWSURFACE Surface;	//角色的圖片
}Role;

Role Hero;	//小飛刀的對象

//*********地圖結構**********
typedef struct{
char Name[32];	//名字
int Width;		//寬
int Hight;		//高
char Ground;	//地面材料
char res[7];	//保留
unsigned short *Data;	//數據
int  Npc_Nums;	//NPC數量
Role *NPC;		//NPC鏈表
}Map_Struct;
Map_Struct Map[MAPS];

//********物品結構*********
typedef struct{
int ID;							//編號
char Name[32];					//名字
char About[100];				//功能
int Money;						//價值
int Exp,Lift,Attack,Defend;		//作用
}Good_Struct;
Good_Struct Goods[20];

//函數聲明
LRESULT CALLBACK WinProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam );
HWND InitWindow( HINSTANCE hInstance, int nCmdShow );
void GameTitle();
BOOL InitDDraw( void );
void FreeDDraw( void );
BOOL Blt(LPDIRECTDRAWSURFACE SS,int x,int y,LPDIRECTDRAWSURFACE DS,RECT rcRect,BOOL Flog);
void Flip(void);
HRESULT restoreAll( void );
BOOL initFail(char *str);
void MainMove();
void NpcMove();
void MainLoop();
void MessageLoop( int Msg );
BOOL LoadMaps();
BOOL LoadNpcData(int map);
int ReadLine(char *,int &,char *,int Seek=11);
void MakeBackGround();
void DrawNpc();
BOOL CreateBitmap(LPDIRECTDRAWSURFACE &lpTemp,int x,int y,char *BitmapFile, DWORD MemoryFlag=0);
RECT GetRect(int,int,int,int);
int random(int nMax);
BOOL SaveGame();
BOOL LoadGame();
int SaleDialog(Role Boss, int Flag=BUY);
int Fight(Role Enemy, int FightScene, int Escape=50);

#include "palette.cpp"
#include "textout.cpp"
#include "other.cpp"
#include "drawit.cpp"
#include "init.cpp"
#include "sale.cpp"
#include "fight.cpp"
#include "header.cpp"
#include "loadsave.cpp"


//****************************************************
//生成背景
void MakeBackGround()
{
	unsigned short n;

	for(int i=SY; i<SY+16 ; i++)
		for(int j=SX; j<SX+21 ; j++)
		{
			//畫地面
			RECT rect={ 0, Map[ Scene ].Ground *32, 32, Map[ Scene ].Ground * 32 +32};
			Blt(lpDDSBackGround, DX+(j-SX)*32, DY+(i-SY)*32, lpDDSMap1, rect, FALSE);

			//畫物體
			n=Map[ Scene ].Data[ i * Map[ Scene ].Width + j ];
			if( n>0 && n<SPACE || n>=BLAK )
			{
				if( n>=BLAK ) n-=BLAK; //障礙
				if( n>=TREASURE-BLAK ) n=301; //寶物
				rect=GetRect( n%20*32, n/20 * 32, n%20*32 + 32, n/20 * 32 + 32);
				Blt(lpDDSBackGround, DX+(j-SX)*32, DY+(i-SY)*32, lpDDSMap2, rect, TRUE);
			}
		}

		DrawNpc(); //畫NPC
}

//****************************************************
//生成該圖Npc
void DrawNpc()
{
	for(int i=0; i<Map[Scene].Npc_Nums; i++)
	if( Map[Scene].NPC[i].Show == 1 ) //如果NPC可見
	{
		rect=GetRect( Map[Scene].NPC[i].Stats* Map[Scene].NPC[i].Width, Map[Scene].NPC[i].Way*Map[Scene].NPC[i].Hight, Map[Scene].NPC[i].Stats*Map[Scene].NPC[i].Width+Map[Scene].NPC[i].Width, Map[Scene].NPC[i].Way* Map[Scene].NPC[i].Hight+Map[Scene].NPC[i].Hight);
		Blt(lpDDSBackGround, Map[Scene].NPC[i].x-(SX*32)+DX, Map[Scene].NPC[i].y-(Map[Scene].NPC[i].Hight)-(SY*32)+DY, Map[Scene].NPC[i].Surface, rect, TRUE);
	}
}


//****************************************************
//主角行走函數
void MainMove()
{
	//邊界障礙物檢測
	int n0 = ((Hero.y-20-DY)/32 + SY) * Map[ Scene ].Width + ((Hero.x+12-DX)/32 + SX);
	int n1 = ((Hero.y-20-DY)/32 + SY) * Map[ Scene ].Width + ((Hero.x+20-DX)/32 + SX);
	int n2 = ((Hero.y-12-DY)/32 + SY) * Map[ Scene ].Width + ((Hero.x+12-DX)/32 + SX);
	int n3 = ((Hero.y-12-DY)/32 + SY) * Map[ Scene ].Width + ((Hero.x+20-DX)/32 + SX);
	if( Map[ Scene ].Data[n0] >= BLAK || Map[ Scene ].Data[n1] >= BLAK || Map[ Scene ].Data[n2] >= BLAK || Map[ Scene ].Data[n3] >= BLAK )
	{
		Hero.x=Hero.old_x;
		Hero.y=Hero.old_y;
		SX = old_SX; SY = old_SY;
		DX = old_DX; DY = old_DY;
	}

	//NPC碰撞檢測
	for(int i=0; i<Map[Scene].Npc_Nums; i++)
	{
		if( Map[Scene].NPC[i].Show==1 &&\
			abs(Hero.x+SX*32-DX - Map[ Scene ].NPC[i].x)<=24 &&\
			abs(Hero.y+SY*32-DY - Map[Scene].NPC[i].y)<=24 )
		{
			Hero.x=Hero.old_x;
			Hero.y=Hero.old_y;
			SX = old_SX; SY = old_SY;
			DX = old_DX; DY = old_DY;
		}
	}


	MakeBackGround();
	RECT rect1={0,0,ScreenX,ScreenY};
	Blt(lpDDSBack, 0, 0, lpDDSBackGround, rect1, FALSE);

	//在新位置畫英雄
	RECT rect2={Hero.Stats*Hero.Width, Hero.Way*Hero.Hight, Hero.Stats*Hero.Width+Hero.Width, Hero.Way*Hero.Hight+Hero.Hight};
	Blt(lpDDSBack, Hero.x, Hero.y - Hero.Hight, lpDDSSpirit, rect2, TRUE);

		
	/*
	//重畫可遮蓋英雄的物體
	int n = ((Hero.y-17-DY)/32 + SY) * Map[ Scene ].Width + ((Hero.x+16-DX)/32 + SX);
	if( Map[ Scene ].Data[n+Map[ Scene ].Width] >= BLAK )
	{
		int num=Map[ Scene ].Data[ n+Map[ Scene ].Width ] - BLAK;
		RECT rect3={ 0, num * 32, 32, num * 32 + 32};
		Blt(lpDDSBack, DX + ( n%Map[ Scene ].Width - SX)*32 , DY + ( n/Map[ Scene ].Width+1 - SY)*32, lpDDSMap2, rect3, TRUE);
	}
	if( Map[ Scene ].Data[n+Map[ Scene ].Width+1] >= BLAK )
	{
		int num=Map[ Scene ].Data[ n+Map[ Scene ].Width+1 ] - BLAK;
		RECT rect4={ 0, num * 32, 32, num * 32 + 32};
		Blt(lpDDSBack, DX + ((n+1)%Map[ Scene ].Width-SX)*32, DY + (n/Map[ Scene ].Width+1-SY)*32, lpDDSMap2, rect4, TRUE);
	}
*/
	Hero.old_x=Hero.x;
	Hero.old_y=Hero.y;
	old_SX = SX; old_SY = SY;
	old_DX = DX; old_DY = DY;
}

//****************************************************
//游戲主循環
void MainLoop()
{
	static long old_clock, new_clock; //延時變量
	new_clock=GetTickCount();
	if( new_clock > old_clock + 30 )
	{
		old_clock=new_clock;

		//如果按鍵
		if( GetAsyncKeyState(VK_CONTROL) || GetAsyncKeyState(VK_RETURN) )
		{
			OnKeyDown();
		}
		
		//檢測方向鍵
		if(GetAsyncKeyState(VK_UP))					//上
		{
			Hero.Way=3; 
			if( SY>0 && Hero.y <= 264 )
			{
				DY += Hero.Speed;
				if( DY>=0 ) { DY=-32; SY--; }
			}
			else if( SY==0 && DY!=0 )
			{
				DY += Hero.Speed;
			}
			else Hero.y -= Hero.Speed;
		}
		else if(GetAsyncKeyState(VK_DOWN))			//下
		{
			Hero.Way=0; 
			if( SY < Map[ Scene ].Hight - 15 && Hero.y >=264  )
			{
				DY -= Hero.Speed;
				if( DY<=-32 ) { DY=0; SY++; }
			}
			else Hero.y += Hero.Speed;
		}
		else if(GetAsyncKeyState(VK_LEFT))			//左
		{
			Hero.Way=1; 
			if( SX>0 && Hero.x <= 304 )
			{
				DX += Hero.Speed;
				if( DX>=0 ) { DX=-32; SX--; }
			}
			else if( SX==0 && DX!=0 )
			{
				DX += Hero.Speed;
			}
			else Hero.x -= Hero.Speed;
		}
		else if(GetAsyncKeyState(VK_RIGHT))			//右
		{
			Hero.Way=2; 
			if( SX < Map[ Scene ].Width - 20 && Hero.x >= 304 )
			{
				DX -= Hero.Speed;
				if( DX<=-32 ) { DX=0; SX++; }
			}
			else Hero.x += Hero.Speed;
		}
		else if(GetAsyncKeyState(VK_ESCAPE))		//主菜單
		{
			while(GetAsyncKeyState(VK_ESCAPE)) {}
			Menu();
			return;
		}
		else return;

		//邊界檢測
		if( Hero.x<0 ) Hero.x=0;
		if( Hero.x>ScreenX-Hero.Width ) Hero.x=ScreenX-Hero.Width;
		if( Hero.y<Hero.Hight-16 ) Hero.y=Hero.Hight-16;
		if( Hero.y>ScreenY ) Hero.y=ScreenY;
				
		if( SX < 0 ) SX=0;
		if( SX > Map[ Scene ].Width - 20 ) SX=Map[ Scene ].Width -20;
		if( SY < 0 ) SY=0;
		if( SY > Map[ Scene ].Hight - 15 ) SY=Map[ Scene ].Hight -15;

		Hero.Stats++;
		if( Hero.Stats>=3 ) Hero.Stats=0;
	
		MainMove();
		Flip();
		//進入消息循環
	int n = ((Hero.y-16-DY)/32 + SY) * Map[ Scene ].Width + ((Hero.x+16-DX)/32 + SX);
	MessageLoop( Map[ Scene ].Data[ n ] ); 
	}
}

//***********************************************************
//消息循環
void MessageLoop( int Msg )
{
	switch( Msg )
	{
	case SPACE+0:		//出城
		//第一次到城們
		if( Flag_OutCity==0 )
		{
			Hero.y=Hero.old_y=450;
			ShowDialog(5, 30001, 0);
			break;
		}
		else if( Flag_OutCity==1 )	//可以出城了
		{
			Flag_OutCity=2;
			Hero.y=Hero.old_y=450;
			ShowDialog(5, 30001, 1);
			for(int i=0; i<Map[ Scene ].Npc_Nums; i++)
			{
				Map[ Scene ].NPC[i].TalkNum=1;
				Map[ Scene ].NPC[i].Speed=12;
			}
			break;
		}
		Scene = 2;
		SX=SY=DX=DY=0;
		Hero.x=Hero.old_x=32; Hero.y=Hero.old_y=2*32;
		ChangePalette(MainPal,NullPal,-1);
		MainMove();
		Flip();
		ChangePalette(NullPal,MainPal,1);
		break;

	case SPACE+1:		//回城
		Scene = 1;
		SX=7;  DX=0;
		SY=11; DY=0;
		Hero.x=Hero.old_x=350; Hero.y=Hero.old_y=450;
		ChangePalette(MainPal,NullPal,-1);
		MainMove();
		Flip();
		ChangePalette(NullPal,MainPal,1);
		break;

	case SPACE+2:		//出門
		Scene = 1;
		SX=14;  DX=0;
		SY=0; DY=0;
		Hero.x=Hero.old_x=384; Hero.y=Hero.old_y=100;
		ChangePalette(MainPal,NullPal,-1);
		MainMove();
		Flip();
		ChangePalette(NullPal,MainPal,1);
		break;
		
	case SPACE+3:		//回家
		Scene = 0;
		SX=0; DX=0;
		SY=0; DY=0;
		Hero.x=Hero.old_x=410; Hero.y=Hero.old_y=400;
		ChangePalette(MainPal,NullPal,-1);
		MainMove();
		Flip();
		ChangePalette(NullPal,MainPal,1);
		break;
	
	case SPACE+9:		//進神殿
		//第一次進神殿
		if( Flag_GotoPalace==0 )
		{
			//Flag_GotoPalace=1;
			Hero.y=Hero.old_y=450;
			ShowDialog(0, 30002, 0);
			break;
		}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二| 亚洲狼人国产精品| 久久se这里有精品| 国产精品白丝jk白祙喷水网站| 91在线高清观看| 久久亚洲欧美国产精品乐播| 亚洲一区二区三区中文字幕| 成人黄色综合网站| 久久色视频免费观看| 日本午夜精品一区二区三区电影| 99视频热这里只有精品免费| 国产亚洲欧洲997久久综合| 肉丝袜脚交视频一区二区| 色老综合老女人久久久| 国产精品成人免费精品自在线观看| 老司机免费视频一区二区| 欧美美女激情18p| 亚洲一二三区在线观看| 日本精品一区二区三区四区的功能| 国产亚洲成av人在线观看导航| 免费久久精品视频| 777亚洲妇女| 首页亚洲欧美制服丝腿| 欧美艳星brazzers| 亚洲第一福利一区| 欧美亚洲尤物久久| 亚洲国产中文字幕| 欧美精品tushy高清| 日韩影院精彩在线| 日韩欧美亚洲国产另类| 久久国产精品99久久人人澡| 日韩亚洲国产中文字幕欧美| 男女男精品网站| 精品国产乱码久久久久久影片| 另类的小说在线视频另类成人小视频在线 | 成人国产精品免费观看视频| 精品国产乱码91久久久久久网站| 麻豆精品精品国产自在97香蕉| 91 com成人网| 久久精品国产秦先生| 国产亚洲一区二区在线观看| 国产99精品国产| 亚洲品质自拍视频网站| 欧美中文字幕一区| 奇米综合一区二区三区精品视频| 日韩精品资源二区在线| 国产乱码一区二区三区| 中文字幕免费在线观看视频一区| 成人av资源下载| 亚洲一区在线电影| 91精品蜜臀在线一区尤物| 极品销魂美女一区二区三区| 国产目拍亚洲精品99久久精品| 99久久久无码国产精品| 亚洲国产精品欧美一二99| 日韩欧美在线一区二区三区| 成人午夜视频在线| 亚洲在线中文字幕| 久久久天堂av| 91精品福利视频| 久久精品72免费观看| 中文字幕欧美一| 日韩视频永久免费| 成人av免费网站| 久久精品国产亚洲一区二区三区| 欧美—级在线免费片| 欧美日本在线看| 成人性色生活片| 日韩黄色免费电影| 中文字幕在线视频一区| 欧美高清www午色夜在线视频| 国产精品456露脸| 午夜欧美大尺度福利影院在线看| 国产午夜精品一区二区三区嫩草 | 欧美久久久影院| 夫妻av一区二区| 日日摸夜夜添夜夜添精品视频| 久久精品一区二区三区四区| 欧美日韩综合在线| 成人性生交大片免费| 久久99九九99精品| 亚洲一区二区三区视频在线| 久久精品亚洲乱码伦伦中文| 欧美电影在线免费观看| 波多野结衣亚洲一区| 久草中文综合在线| 五月天激情综合| 亚洲人成网站色在线观看| 久久精品日韩一区二区三区| 777久久久精品| 欧美日韩一区不卡| 91麻豆精东视频| 不卡av在线免费观看| 国精产品一区一区三区mba桃花 | 亚洲高清视频在线| 中文字幕亚洲综合久久菠萝蜜| 2021久久国产精品不只是精品| 欧美日韩国产一级二级| 色悠悠久久综合| 丁香另类激情小说| 国产盗摄女厕一区二区三区| 久久av老司机精品网站导航| 日产欧产美韩系列久久99| 亚洲不卡av一区二区三区| 一区二区三区在线观看国产| 国产精品免费视频网站| 国产精品天干天干在线综合| 久久久久久97三级| 久久免费偷拍视频| 国产日产欧美一区二区三区| 国产亚洲一区二区三区四区| 国产情人综合久久777777| 久久网这里都是精品| 久久免费午夜影院| 国产欧美一区二区精品秋霞影院 | 成人免费毛片aaaaa**| 成人国产电影网| 91在线观看地址| 在线看日韩精品电影| 欧美日韩一级二级三级| 91精品国产综合久久久久久| 日韩亚洲欧美中文三级| ww亚洲ww在线观看国产| 国产性天天综合网| 1区2区3区精品视频| 一区二区三区欧美日韩| 天堂蜜桃91精品| 久久99精品久久久久| 国产精品一区二区在线观看网站 | 极品销魂美女一区二区三区| 黄网站免费久久| 成人avav在线| 欧美日韩综合一区| 精品精品欲导航| 国产精品九色蝌蚪自拍| 夜夜精品视频一区二区| 蜜臀精品久久久久久蜜臀| 国产91丝袜在线18| 色悠悠亚洲一区二区| 日韩欧美在线123| 久久久国际精品| 一区二区三国产精华液| 三级不卡在线观看| 成人免费观看视频| 欧美精品日韩一本| 国产日韩一级二级三级| 亚洲第一在线综合网站| 国产成人av电影免费在线观看| 91国偷自产一区二区开放时间 | 日韩美女精品在线| 日韩国产高清影视| 床上的激情91.| 欧美一级欧美一级在线播放| 国产嫩草影院久久久久| 午夜电影网亚洲视频| 国产黄色精品视频| 欧美日韩一本到| 国产精品美女www爽爽爽| 日韩高清不卡一区二区| 99久久婷婷国产综合精品电影| 91精品中文字幕一区二区三区| 日本一区二区久久| 男人的天堂亚洲一区| 97se亚洲国产综合在线| 精品久久人人做人人爰| 一区二区久久久久| 成人黄动漫网站免费app| 日韩欧美一区二区在线视频| 亚洲伊人色欲综合网| 成人深夜福利app| 欧美videos大乳护士334| 亚洲亚洲精品在线观看| 成人丝袜视频网| 欧美成人r级一区二区三区| 亚洲123区在线观看| 91免费精品国自产拍在线不卡| 久久伊人中文字幕| 日韩精品国产欧美| 欧美系列在线观看| 亚洲私人影院在线观看| 国产精品亚洲专一区二区三区 | 亚洲视频在线观看三级| 韩国一区二区视频| 91精品国产综合久久久久久 | 国产精品卡一卡二| 国产一区不卡在线| 日韩精品一区二区三区在线播放 | 美国十次综合导航| 欧美女孩性生活视频| 亚洲一区二区三区小说| 91丝袜国产在线播放| 国产精品美女久久久久久久久久久 | 国产日产亚洲精品系列| 国产麻豆精品久久一二三| 精品国产乱码久久久久久蜜臀 | 91视频一区二区| 中文字幕一区二区三区不卡| av亚洲精华国产精华精| 中文字幕佐山爱一区二区免费| 不卡的看片网站|