#pragmaonce#include<list>#include<vector>usingnamespace std;constint kCost1 =10;//直移一格消耗constint kCost2 =14;//斜移一格消耗typedefstruct_Point{
int x, y;int F, G, H;//F=G+Hstruct_Point*parent;}Point;/*分配一个格子*/
Point *AllocPoint(int x,int y);/*初始化地图*/voidInitAstarMaze(int*Maze,int lines,int colums);/*A*算法寻找路径*/
list<Point*>GetPath(Point *startPoint, Point *endPoint);/*清理资源*/voidClearAstarMaze();
#include<math.h>#include"AStar.h"#include<iostream>#include<vector>staticint*maze;//地图staticint cols;//列数staticint lines;//行数static list<Point*>openList;static list<Point*>closeList;/*A*算法寻找路径*/
Point *isInList(const list<Point *> point,const Point *target);static Point *GetLeastPoint();//找出openlist中F值最小的节点static vector<Point*>GetSurroundPoints(const Point *point);//找到当前结点周围可达的节点boolisCanreach(const Point *point,const Point *target);//判断这两点是否可达