⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mapedit.h

📁 用vc++写的迷宫基于图形的算法,可以自己编辑地图,并具有保存地图的功能
💻 H
字号:
// MapEdit.h: interface for the CMapEdit class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MAPEDIT_H__DFBFFB06_67EE_44E1_A84F_120477BE14ED__INCLUDED_)
#define AFX_MAPEDIT_H__DFBFFB06_67EE_44E1_A84F_120477BE14ED__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

struct StepPoint
{
	CPoint m_StepPoint;	//通过CPoint类对象保存迷宫坐标点
	int direct;			//保存下一步的方向信息
	struct StepPoint *next;	//指向下一个迷宫节点信息
	struct StepPoint *pre;	//指向前一个迷宫节点信息
};

class CMapEdit  
{
public:
	char *maze;	//保存动态生成迷宫元素的具体信息 
	BOOL *IsPass;		//判当前迷宫块是否走过
	CBitmap *m_pbmp;    //m_pbmp贴图用
	CDC *m_tmpDC;      //内存DC
	char m_MazeWidth,m_MazeHigh;	//保存迷宫大小
	StepPoint *m_pCurStep,*m_pPreStep,*m_pFirstStep;//保存当前,前一个及第一个迷宫块信息
    int m_CurPos,m_NextPos;		//当前位置
	CPoint m_MazeStart,m_MazeExit;	//出口入口坐标信息
	char m_BallNum,m_ExitNum;	//出口入口个数
	BOOL IsEnableOut; 	//迷宫是否能走出

public:
	void Init();
	void InitPointer();
	void ShowShort(CDC *pDC);
	void UpdateMap(CPoint point,char CurSel);
	void NextPos(char direct);
	BOOL Pass(char direct);
	BOOL SearchMaze();
	void LoadPoint();
	BOOL GoMaze(UINT keyNum);
	BOOL CheckMaze();
	void SaveMap();
	void LoadMap();
	CMapEdit();
	virtual ~CMapEdit();
	BOOL DrawMap(CDC *pDC);
	void ClearMap();
	void DrawMouseCursor(CPoint point,char CurrSel,CDC *pDC);
	void CMapEdit::ChangMap(CPoint point, char CurSel);
	
};

#endif // !defined(AFX_MAPEDIT_H__DFBFFB06_67EE_44E1_A84F_120477BE14ED__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -