如何检查六角管拼图连接?

我们正在制作六角形的管道连接益智游戏。我们的代码基于对象,并且我们通过制作的对象函数来制作拼图块组件。我们也没有任何物理学。每个管道都可以移动和旋转。

我们如何编写一个函数来检查是否连接了两个或更多管道?

如何检查六角管拼图连接?

yukuanli 回答:如何检查六角管拼图连接?

您使用什么游戏引擎?我建议跟踪网格(2D数组)中的管道六边形对象。试想一下,栅格的第二行每移进一个六边形大小的一半)。然后,您可以简单地通过该网格访问所有邻居。 最终,您需要在管道图块对象中添加一个函数,例如

bool canFlowTo(pipe_tile & other)

在其中为管道图块本身和“其他”图块的每个可能的星座实现正确答案。 要检查管道的流向,只需在网格中将其所有邻居调用此函数即可。

当然,您也可以使用物理引擎来解决这个问题,而不用代码来检查迷宫的正确性。为此,只需为每个具有正确形状的图块设置对撞机即可。对于液体物理学,您绝对应该使用一些现有的引擎。

哦,顺便说一句,与通用C ++算法没有真正关系的游戏问题可能更适合这里:https://gamedev.stackexchange.com/

本文链接:https://www.f2er.com/2995643.html

大家都在问