【发布时间】:2017-05-16 04:59:28
【问题描述】:
我正在制作一个轰炸机类型的游戏。我想计算两点之间的距离;玩家可以向四个方向移动。如果我在 (0,0) 并且想去 (5,5),我可以使用出租车距离公式 ((5-0) + (5-0)) 计算距离,因为我只能水平移动和垂直的。
但现在我想在游戏中实现玩家无法通过的墙。
我目前的距离实现仅使用出租车公式。
int distanceTo(Position Pos)
{
return (abs(this->x - Pos.x) + abs(this->y - Pos.y));
}
考虑到中间的不可移动的盒子/墙,我如何找到两点 (x1,y1) 和 (x2,y2) 之间的距离?
【问题讨论】:
-
你的问题不是很清楚
-
@eyllanesc 请告诉我哪个部分不清楚,以便我进行相应的编辑。
-
我不明白你想要什么。
-
@eyllanesc 完成编辑,请检查它现在是否可以理解。
-
如果您想找到步数最少且可能有障碍物的路径,请阅读算法 A (又名 A 星)。 en.wikipedia.org/wiki/A_search_algorithm
标签: c++14 getdistance