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

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

?? map.h

?? 圣劍英雄傳源碼適合初學C語言者如細心閱讀完定有收獲!
?? H
字號:
//********************************************
//	地圖 相關函數
//  創建于2000年3月14日
//********************************************

#ifndef _MAP_H_
#define _MAP_H_

#include <vector>
#include <list>
using namespace std;

//動畫CELL
struct stAniCell
{
	int page;		//頁面
	int cell;		//圖塊
	int time;		//延時
};

class CNpc;
class CGpFont;

typedef vector<stAniCell>	vectorAniCell;
typedef vector<stAniCell>::iterator	itAniCell;
typedef vector<CNpc*> vectorNpc;
typedef vector<CNpc*>::iterator itNpc;

#define MAP_HEAD "Gold Point Sword II MapFile V1.0"

#define BLOCK_CELL 4095	//空格子
#define BLOCK_CP 127	//空陷阱
#define MAX_HOOK 32		//最大陷阱數量
#define CP_CHANGE 1		//切換點

//=============
//地圖類
class CMap
{
public:

	//物體層次
	enum ObjLevel
	{
		OL_UP=1,		//人物上面
		OL_NORMAL=0,	//人物同級
	};

	//格子結構
	struct stCell
	{
		unsigned GroundPic:6;	//地面頁面編號(普通0-59  動態60-63)
		unsigned Ground:12;		//地面編號
		unsigned ObjPic:6;		//物體頁面編號(普通0-59  動態60-63)
		unsigned Obj:12;		//物體編號
		unsigned Obj2Pic:6;		//物體2頁面編號(普通0-59  動態60-63)
		unsigned Obj2:12;		//物體2編號
		unsigned Block:1;		//是否阻擋
		unsigned Level:4;		//物體所在層次(0-15)
		unsigned CP:7;			//陷阱
		unsigned Level2:4;		//物體2所在層次(0-15)
		unsigned MouseType:3;	//鼠標類型
		unsigned CPType:1;		//陷阱類型
		unsigned res:13;		//保留
	};	

	static vectorAniCell m_vAniCell[4096];	// 動畫CELL
	static int m_nAniCount[4096];			// 動畫的進度
	static int m_nAniFrame[4096];			// 動畫當前楨

public:	
	static int AniCellNum;			//動畫CELL數量
	static stAniCell *AniCell;		//動畫CELL
	long GetAniCellPage(const long ground, RECT& rect);	// 獲取動態圖素的當前頁和RECT
	long GetAniCellPageObj(const long ground, RECT& rect);	// 獲取動態圖素的當前頁和RECT
	long GetAniCellPageObj2(const long ground, RECT& rect);	// 獲取動態圖素的當前頁和RECT
	long GetAniPage(const long num, RECT& rect);		// 獲取動態圖素的當前頁和RECT
	long AniLoop();					// 動畫過一楨

	int Id;				//編號
	char Name[32];		//名字
	int Width, Height;	//大小 單位:格子
	stCell *Cell;		//格子

	int SX,SY;		//所處場景的左上坐標(格子)
	int DX,DY;		//生成場景時的左上坐標偏移(像素 -32<xxx<=0 )
	int sx,sy;		//所處場景的左上絕對坐標(像素 sx=SX*32-DX)

	int startx, starty;	//繪圖時的起始格子
	int endx, endy;		//繪圖時的結束格子

	int Hook_Num;					//陷阱數量
	char Hook[MAX_HOOK][64];		//陷阱列表

	vectorNpc m_vNpc;		//NPC
	vectorNpc m_vSortNpc;

	int ScrollX, ScrollY;	//卷動地圖的目標點
	int ScrollStep;			//卷動的幅度

	CGpFont ShowNameFont;	//地圖名字顯示字體對象
	int ShowNameCount;		//地圖名字顯示記數器(每一楨減一)
	int ShowNameAlpha;		//地圖名字顯示alpha度

	char CurrentMapFileName[MAX_PATH];	//當前地圖文件名
	char CurrentMapFilePath[MAX_PATH];	//當前地圖路徑

	char m_strBackBmpFilename[128];	// 背景圖片名稱
	LPDIRECTDRAWSURFACE m_pBackBmp;	// 背景圖片

public:
	CMap();		//構造(填寫顯示坐標列表)
	~CMap();	//析構

	void LoadAniCell(char *file, char *index);	//讀入動態元素

	bool InitMap(int,int);	//初始化一張地圖
	bool LoadMap(char *);	//裝入地圖
	bool SaveMap(char *);	//保存地圖
	void Load(char *);		//讀入進度
	void Save(char *);		//保存進度
	void ShowMap(bool active=true,LPDIRECTDRAWSURFACE suft = lpDDSBack);//顯示地圖
	void ShowEditMap();		//顯示編輯時的地圖

	bool ChangeScene(int cp, bool bCenter=true);	//場景切換(cp=切換點編號)
	void FadeIn(int Style=2, int time=50, WORD color=0);	//淡入
	void FadeOut(int Style=2, int time=50);					//淡出

	void CenterMap(int, int);		//設置地圖中心點
	void ScrollTo(int, int, int);	//卷動地圖到某點
	void ScrollLoop();				//卷動循環

	void CountDisplayGrid();		//計算顯示格子

	void AddHook(int x, int y, char *string);	//添加地圖陷阱
	void SetHook(int x, int y, int num);		//設置地圖陷阱

	void SetCell(int level, int x, int y, int num, int page);	//設置地圖某格地面
	void SetBlock(int x, int y, int block);						//設置地圖阻擋
	void SetLevel(int x, int y, int level1, int level2);		//設置地圖層次

	bool LoadIniNpcList(char *);	//從Ini文件讀取NPC列表
	int GetNpcId(char *);			//從名字獲取NPC的編號
	int AddNpc(char *, char *);		//加入一個NPC(返回編號)
	int DelNpc(int);				//刪除一個NPC
	void ClearNpc();				//清空NPC
	void SortNpc();					//排序NPC

	int _GetCell(int,int,int);		//獲取一個點所在的絕對格子
	int _GetCellX(int,int);			//獲取一個點所在的格子X
	int _GetCellY(int,int);			//獲取一個點所在的格子Y
	int GetCell(int,int);			//獲取一個點所在的格子
	int GetCellX(int,int);			//獲取一個點所在的格子X
	int GetCellY(int,int);			//獲取一個點所在的格子Y
	RECT GetRectangle(int);			//獲取一個格子的坐標
	RECT _GetRectangle(int,int);	//獲取一個格子的絕對坐標

	void FillCell(int, int, WORD);	//填充一個格子

	void CreateFullMap(LPDIRECTDRAWSURFACE lpSurf, int lSurfWidth, int lSurfHeight);	//把整張地圖復制到lpSurf
	void ShowFullMap();									//顯示整張地圖
	void SaveFullMap(char* filename, float fPer=1.f);	// 保存整張地圖

	void RestoreLevel(int n=0);		//恢復所有層次關系
	void RestoreBlock(int n=0);		//恢復所有阻擋關系
	void RestoreMouseType(int n=0);	//恢復所有鼠標狀態關系

////////////////////////////////////////////////////////////////
// 敵人列表
////////////////////////////////////////////////////////////////
private:
	BOOL m_bScrollRight;	// 向右卷地圖
	BOOL m_bScrollDown;		// 向下卷地圖
	int m_pEnemyList[16];	// 敵人編號列表
	int m_nEnemyNum;		// 敵人數量
	int m_nEnemyFrequency;	// 敵人出現頻率	(0-100)

public:
	bool* Block;			//移動時候的阻擋數組
	void SetCPType(int x,int y,int type);//設置陷阱類型
	int GetEnemyNum()				{ return m_nEnemyNum; }
	void SetEnemyNum(int n)			{ m_nEnemyNum = n; }
	int GetEnemyList(int n)			{ return m_pEnemyList[n]; }
	void SetEnemyList(int n, int m)	{ m_pEnemyList[n] = m; }
	void ClearEnemyList()			{ memset(m_pEnemyList, 16*4, 0); }

	int GetEnemyFrequency()			{ return m_nEnemyFrequency; }
	void SetEnemyFrequency(int n)	{ m_nEnemyFrequency = n; }
};

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区 二区 三区 久久精品| 久久影院视频免费| 精品噜噜噜噜久久久久久久久试看 | 成人一区二区视频| 在线不卡免费av| 国产亚洲女人久久久久毛片| 最新日韩av在线| 麻豆传媒一区二区三区| 国产69精品一区二区亚洲孕妇| 在线视频综合导航| 国产亚洲精品资源在线26u| 亚洲三级小视频| 国产精品1区2区| 色呦呦网站一区| 欧美成人女星排行榜| 依依成人综合视频| 国产成人精品一区二| 欧美精品色一区二区三区| 精品国产一区二区三区av性色| 亚洲成精国产精品女| 青青草伊人久久| 精品视频1区2区| 中文字幕一区免费在线观看| 国产美女视频91| 久久视频一区二区| 蜜臀av一区二区在线免费观看| 欧美精品一卡两卡| 国产东北露脸精品视频| 日韩欧美专区在线| 日日摸夜夜添夜夜添国产精品 | 亚洲国产日产av| 粉嫩蜜臀av国产精品网站| 精品久久久久久久久久久院品网 | 亚洲成av人片在线观看无码| 日本高清不卡aⅴ免费网站| 中文字幕第一区| 成人app网站| 国产精品全国免费观看高清 | 成人涩涩免费视频| 亚洲欧洲精品成人久久奇米网| 成人精品视频网站| 国产精品久久久久毛片软件| 成人av在线网| 一片黄亚洲嫩模| 5858s免费视频成人| 麻豆精品视频在线观看视频| 精品久久国产老人久久综合| 久久99在线观看| 亚洲色欲色欲www| 色综合天天综合色综合av| 亚洲乱码中文字幕综合| 久久综合久久久久88| 精品一区二区三区免费视频| 久久午夜电影网| 色婷婷香蕉在线一区二区| 三级在线观看一区二区| 久久精品一区二区三区四区| 成人免费视频国产在线观看| 亚洲无人区一区| 91精品国产免费| 不卡的av电影| 美国欧美日韩国产在线播放| 中文字幕+乱码+中文字幕一区| 欧美天堂亚洲电影院在线播放| 日韩福利视频导航| 中文字幕人成不卡一区| 精品视频1区2区3区| 成人午夜电影久久影院| 日精品一区二区| 一级女性全黄久久生活片免费| 久久综合国产精品| 欧美三级电影在线看| 波波电影院一区二区三区| 日本不卡视频在线观看| 亚洲一区二区三区四区不卡| 国产亚洲女人久久久久毛片| 欧美一区日本一区韩国一区| 91在线国产福利| 99国产精品视频免费观看| 国产综合色视频| 久久激情五月婷婷| 午夜久久久影院| 天堂资源在线中文精品| 亚洲精品网站在线观看| 美女视频一区二区| 天天综合色天天综合| 有坂深雪av一区二区精品| 综合在线观看色| 亚洲三级免费电影| 一区二区国产视频| 午夜精品久久久久久久久久久| 亚洲国产精品人人做人人爽| 一区二区三区欧美日| 亚洲自拍偷拍欧美| 天天影视涩香欲综合网| 午夜日韩在线观看| 另类小说视频一区二区| 韩国欧美国产1区| 风间由美中文字幕在线看视频国产欧美 | 国产成人免费高清| 成人国产精品免费观看动漫| 国产成人精品免费在线| zzijzzij亚洲日本少妇熟睡| 在线免费视频一区二区| 51久久夜色精品国产麻豆| 欧美成人精品3d动漫h| 久久久久久久久久电影| 日韩美女啊v在线免费观看| 亚洲福利视频三区| 久久精品国产久精国产| 国产a区久久久| 欧美色综合久久| 欧美精品一区二区三区视频| 亚洲色欲色欲www在线观看| 日韩国产欧美一区二区三区| 狠狠v欧美v日韩v亚洲ⅴ| 91一区在线观看| 6080yy午夜一二三区久久| 日韩不卡手机在线v区| 国产精品综合在线视频| 欧美性色黄大片| 国产欧美一区二区精品婷婷| 亚洲国产欧美另类丝袜| 成人一级视频在线观看| 欧美精品色综合| 亚洲美女电影在线| 国产精品99久久久久久久女警| 欧美日本韩国一区二区三区视频| 国产欧美日韩精品在线| 蜜桃视频在线一区| 欧美日韩激情一区| 亚洲色图在线播放| 成人免费三级在线| 久久久久久97三级| 国产一区二区三区免费在线观看| 555夜色666亚洲国产免| 亚洲五码中文字幕| 色丁香久综合在线久综合在线观看| 欧美激情综合五月色丁香 | 99精品国产91久久久久久| 国产婷婷色一区二区三区| 蜜臀精品一区二区三区在线观看 | 偷拍亚洲欧洲综合| 91激情五月电影| 亚洲精品视频一区| 色哟哟一区二区在线观看 | 综合自拍亚洲综合图不卡区| www.欧美日韩国产在线| 亚洲成av人片| 欧美无砖专区一中文字| 性久久久久久久久| 日韩免费一区二区| 国产成人三级在线观看| 18成人在线视频| 欧美日韩精品是欧美日韩精品| 亚洲电影第三页| 精品久久久久久久久久久久包黑料| 美国精品在线观看| 欧美激情一区三区| 色综合久久久久久久久| 香蕉久久一区二区不卡无毒影院| 欧美精品丝袜久久久中文字幕| 蜜臀av一区二区在线观看| 国产日韩精品一区二区三区在线| 成人激情校园春色| 天天色图综合网| 久久久99精品久久| 91色乱码一区二区三区| 男人操女人的视频在线观看欧美| 久久久天堂av| 欧美日韩在线电影| 国产在线视频一区二区| 亚洲综合丝袜美腿| 欧美国产日产图区| 日韩精品在线网站| 在线视频一区二区免费| 国产一区二区在线观看视频| 亚洲美女视频一区| 中文字幕免费一区| 欧美电视剧免费观看| 在线观看一区不卡| 波多野结衣欧美| 国产精品影视在线| 免费视频一区二区| 一二三四区精品视频| 中文在线免费一区三区高中清不卡| 欧美日韩精品福利| 91久久精品一区二区三区| 国产精品乡下勾搭老头1| 麻豆一区二区三| 日本欧美肥老太交大片| 日本91福利区| 三级欧美韩日大片在线看| 亚洲国产精品自拍| 一区二区三区中文字幕| 亚洲六月丁香色婷婷综合久久| 国产精品三级视频| 中文字幕精品一区| 国产精品妹子av| 亚洲丝袜自拍清纯另类|