【发布时间】:2017-01-26 21:24:40
【问题描述】:
我正在使用 [100 tile x 100 tile] 矩阵的地图创建游戏。玩家将能够通过组合 4 个图块来创建“公国”。游戏将让玩家选择 4 个图块并检查这些图块是否都相互连接,并让玩家仅在连接时创建公国。
所以我的isConnected() 方法将采用ArrayList<Tiles> 并且图块具有getX() 和getY() 方法,它们返回它们在网格上的X 和Y 坐标。如果图块相互连接,则返回 true,否则返回 false。 注意,瓷砖不能对角连接。
值得一提的是,该方法需要适用于 ArrayList 的具有超过 4 个图块的图块,因为它需要检查更大的图块列表,并且 Duchy 场景是如何使用该方法的示例。
只是为了可视化整个事情;
示例输入 1(X 是选定的图块):
[X][X][X][ ][ ]
[ ][X][X][ ][ ]
[ ][ ][X][ ][ ]
[ ][ ][X][ ][ ]
[ ][ ][ ][ ][ ]
示例输出 1:
true
示例输入 2(X 是选定的图块):
[X][X][X][ ][ ]
[ ][X][X][ ][ ]
[ ][ ][ ][X][X]
[ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ]
示例输出 2:
false
我曾想过将所有图块与所有其他图块一一进行比较,并假设如果所有图块都连接到至少一个其他图块,则这些图块都已连接,但意识到它不起作用,因为它会返回 true像这样:
[X][X][ ][ ][ ]
[ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ]
[ ][ ][X][X][ ]
[ ][ ][ ][ ][ ]
我想不出办法来解决这个问题,也找不到在线解决此类问题的方法。
【问题讨论】:
标签: java arrays algorithm matrix tile