游戏里面的寻路算法很多都是使用A星寻路算法,对于玩家的移动,A星寻路算法是在客户端实现的,而对于npc的移动,是由服务器实现的。
//步长与搜索半径
template<int s=1, int r=5>
class Astar
{
//路径坐标点
struct path_point {
Pos p; //坐标
int l; //当前距离
path_point* last; //路径上一个节点
};
//路径头
struct path_queue {
path_point* node; //路径节点头指针
int v; //路径距离
...
};
...
};
参考资料: