57 lines
2.0 KiB
C
57 lines
2.0 KiB
C
// #pragma once
|
||
|
||
// /*************************************************************
|
||
// /*
|
||
// /* 《剑啸江湖》 游戏抽象地图加载类
|
||
// /*
|
||
// /* 地图数据读取后将不保存用于显示的图片编号等数据,而仅仅
|
||
// /* 保存用于进行逻辑处理的点阵数据——使用一个字节表示一个坐标。
|
||
// /* 当坐标数据的值为1的时候,表示该坐标可以移动,否则表示该
|
||
// /* 坐标不可移动。
|
||
// /*
|
||
// /* 地图坐标数据采用连续的字节数组存储,访问一个坐标值的方
|
||
// /* 法为:y * 地图宽度 + x
|
||
// /*
|
||
// /************************************************************/
|
||
|
||
|
||
// class CAbstractMap
|
||
// {
|
||
// protected:
|
||
// DWORD m_dwWidth; //地图宽度
|
||
// DWORD m_dwHeight; //地图高度
|
||
// PINT m_pMoveableIndex;//每坐标对应的可移动索引,用于外层优化
|
||
// INT m_nMoveableCount;//移动坐标数量
|
||
// public:
|
||
// CAbstractMap();
|
||
// virtual ~CAbstractMap();
|
||
|
||
// /* 从流中加载地图数据 */
|
||
// bool LoadFromStream(wylib::stream::CBaseStream& stream);
|
||
// /* 从文件中加载地图数据 */
|
||
// bool LoadFromFile(LPCTSTR sFileName);
|
||
// /* 生成一张全部可以移动的地图 */
|
||
// void initDefault(DWORD dwWidth, DWORD dwHeight);
|
||
// /* 获取地图宽度 */
|
||
// inline int getWidth(){ return m_dwWidth; }
|
||
// /* 获取地图高度 */
|
||
// inline int getHeight(){ return m_dwHeight; }
|
||
// /* 获取可移动坐标数量 */
|
||
// inline int getMoveableCount(){ return m_nMoveableCount; }
|
||
// /* 获取地图中x, y坐标的可移动索引,返回-1表示此位置不可移动 */
|
||
// inline int getMoveableIndex(DWORD x, DWORD y)
|
||
// {
|
||
// if ( x >= m_dwWidth || y >= m_dwHeight )
|
||
// return false;
|
||
// return m_pMoveableIndex[y * m_dwWidth + x];
|
||
// }
|
||
// /* 判断地图中x, y坐标位置是否可以移动,返回true表示坐标可以移动 */
|
||
// inline bool canMove(DWORD x, DWORD y)
|
||
// {
|
||
// if ( x >= m_dwWidth || y >= m_dwHeight )
|
||
// return false;
|
||
// return m_pMoveableIndex[y * m_dwWidth + x] != -1;
|
||
// }
|
||
// };
|
||
|