Java 阶梯式文字游戏设计方法的选择

Java 阶梯式文字游戏设计方法的选择,java,collections,Java,Collections,我正在尝试构建一个简单的应用程序,完成的程序如下所示: 为此,我还必须实现两种不同的GUI布局。现在我正试图找出执行此任务的最佳方法。我的教授让我介绍4种状态的元素类: -空的 -不可见(用于GridLayout) -第一个字母 -其他信件 我考虑过以下解决方案(列表指的是任何类型的集合): 1.元素是单个字母,每行是元素[]。游戏类将是数组元素[]的数组。我想这是最愚蠢的方法,验证可能会很麻烦。 2.和前面一样,但行是元素的列表。游戏是一系列的线。 3.像以前一样,但游戏是一个线条列表 我应

我正在尝试构建一个简单的应用程序,完成的程序如下所示:

为此,我还必须实现两种不同的GUI布局。现在我正试图找出执行此任务的最佳方法。我的教授让我介绍4种状态的元素类:
-空的
-不可见(用于GridLayout)
-第一个字母
-其他信件

我考虑过以下解决方案(列表指的是任何类型的集合):
1.元素是单个字母,每行是元素[]。游戏类将是数组元素[]的数组。我想这是最愚蠢的方法,验证可能会很麻烦。
2.和前面一样,但行是元素的列表。游戏是一系列的线。
3.像以前一样,但游戏是一个线条列表


我应该选择哪一个?或者你有更好的主意吗?如果使用一个,什么样的收藏会是最好的

您的网格是您的内部数据模型(即,除了您将使用它之外,没有其他网格)。这就是为什么你可以选择一个对你来说最方便的

我更喜欢使用数组的第一个解决方案,因为代码的可读性会稍高一些(至少对我来说是这样)。比较一下:

grid[3][4] = element;

此外,如果您想使用集合,那么您可能需要使用

Map<Integer, List<Element>> grid
地图网格
其中Integer键表示行索引。使用列表列表很难插入新词(试想一下,仅使用列表如何实现这一点)

Map<Integer, List<Element>> grid