我正在制作一个轰炸机类型的游戏。我想计算两点之间的距离;玩家可以向四个方向移动。如果我在 (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) 之间的距离?