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

我正在尝试构建一个简单的应用程序,完成的程序看起来像这样:

类似梯子的游戏http://img199.imageshack.us/img199/6859/lab9a.jpg

我还必须为此实现两种不同的GUI布局。 现在我正在试图找出执行此任务的最佳方法。 我的教授告诉我介绍有4种状态的Element类:
– 空的
– 不可见(在GridLayout中使用)
– 第一封信
– 其他信件

我已经考虑过以下解决方案(通过列表我的意思是任何类型的集合):
1.元素是单个字母,每行是Element []。 游戏类将是数组Element []的数组。 我猜这是最愚蠢的方式,validation可能会很麻烦。
2.像以前一样,但Line是元素列表。 游戏是一系列线条。
像之前一样,但Game是一个行列表。

我应该选择哪一个? 或许你有更好的想法? 如果使用哪一个最好的集合?

您的网格是您的内部数据模型(除了您将使用它之外没有)。 这就是为什么你可以选择最适合你的那个。

我更喜欢第一个带arrays的解决方案,因为代码会更具可读性(至少对我而言)。 只是比较:

grid[3][4] = element; 

 grid.get(3).add(4, element); 

而且,如果你想使用集合,那么你可能需要使用

 Map> grid 

其中Integer-key表示行索引。 使用列表列表很难插入新单词(只是想想,如何仅使用列表来实现)。