0

我有一个由较小的瓷砖/块组成的网格(4x6)。当有人在网格中移动时,我需要准确跟踪他们移动到的位置。所以,如果我给瓷砖编号

 1- 2- 3- 4- 5- 6
 7- 8- 9-10-11-12
13-14-15-16-17-18

现在,如果我在 10 岁,我可以移动到 4、9、11、0r 16。

我应该如何跟踪这个?我可以使用什么数据结构来存储这些信息?

4

1 回答 1

0

3 选项。

OOP 的做法:

创建一个网格类,其中包含一个 2D 数组。它可用于创建方法,例如surrounding(int x, int y)返回周围的瓷砖。

二维数组。

像 OOP 方式,但有点混乱。您将从 (x-1, y), (x + 1, y), (x, y + 1), (x, y - 1) 获得周围的瓷砖。

一维数组。

就像你在你的例子中一样。这可能更难使用,我不推荐它。如果您确实想使用这种方式,则可能必须为网格的“宽度”设置另一个 int 变量。在提供的示例中,它是 6,因此周围的瓷砖将是:

(i - 6), (i - 1), (i + 1), (i + 6)。

我强烈推荐二维数组或网格选项。我更喜欢的 Grid 非常好,如果你想让事情尽可能花哨的话。

于 2013-02-06T20:44:37.813 回答