java跟踪动态导航
我有一个网格(4x6),由较小的瓷砖/砌块组成。 当有人在网格中移动时,我需要准确地跟踪他们移动到的位置。 所以,如果我给瓷砖编号
1- 2- 3- 4- 5- 6
7- 8- 9-10-11-12
13-14-15-16-17-18
现在,如果我10岁,我可以换到4,9,11,0或16岁
我该如何记录这件事?我可以使用什么数据结构来存储此信息
你可以在下面搜索框中键入要查询的问题!
我有一个网格(4x6),由较小的瓷砖/砌块组成。 当有人在网格中移动时,我需要准确地跟踪他们移动到的位置。 所以,如果我给瓷砖编号
1- 2- 3- 4- 5- 6
7- 8- 9-10-11-12
13-14-15-16-17-18
现在,如果我10岁,我可以换到4,9,11,0或16岁
我该如何记录这件事?我可以使用什么数据结构来存储此信息
# 1 楼答案
3种选择
面向对象的方法:
创建一个网格类,其中包含一个二维数组。它可用于创建
surrounding(int x, int y)
等方法,这些方法将返回周围的分幅二维阵列
像面向对象的方式,但有点混乱。你可以从(x-1,y),(x+1,y),(x,y+1),(x,y-1)中得到周围的瓷砖
一维阵列
就像你在例子中说的那样。这可能很难使用,我不推荐它。如果您确实想使用这种方式,那么就必须为网格的“宽度”使用另一个int变量。在提供的示例中,它是6,因此周围的瓷砖是:
(i-6)、(i-1)、(i+1)、(i+6)
我强烈推荐2D阵列或栅格选项。如果你想把东西做得尽可能漂亮的话,我更喜欢网格