- 博客(0)
- 资源 (1)
空空如也
a星算法库的使用例子
参考文章:http://www.phil.frcode.com/?p=28
算法简述:A星路径搜索(采用二叉堆),最短路径寻路算法
程序编写:PhiL Cheng www.phil.frcode.com
***************************************************
* 类 名: AStar *
***************************************************
成员函数和功能说明:
AStar(int x=64,int y=64); //初始化一个AStar实例,并且指定地图X和Y方向的块数(结点数),默认为64*64
void SetMap(int w,int h); //手动设置地图X和Y方向的块数(结点数)
void SetBlock(int x,int y,int b); //设置一个在(x,y)位置下对应块(Block)的值,用于判断路径是否可通
void SetRange(int l,int r); //设置障碍物范围,数值在[l,r]区间内块,被认为是障碍物,不可通
void SetStart(int x,int y); //设置寻路的起点位置为(x,y)
void SetDest(int x,int y); //设置寻路的终点位置为(x,y)
void SetShowAll(bool b); //设置当:b为真时,8方向搜索路径,否则是4方向搜索(默认)
void GetRoute(); //计算路径
bool IsFind(); //当计算完路径后,判断是否存在一条路从起点到终点
void SetStation(LPANode); //当计算完路径后,设置一个结点以便依次访问
LPANode GetNextStation(); //当计算完路径后,返回一个结点指针(并且将内部指针指向下一个结点),返回0表示结束
bool GetNextStation(int *px,int *px); //当计算完路径后,获得结点坐标(并且将内部指针指向下一个结点),返回false表示结束
bool GetNextStation(int &x,int &y); //当计算完路径后,获得结点坐标(并且将内部指针指向下一个结点),返回false表示结束
2009-09-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人