2010-05-16 37 views
2

我試圖建立一個簡單的應用程序,與完成的程序看起來像這樣:爲階梯狀文字遊戲選擇的設計方法

ladder-like game http://img199.imageshack.us/img199/6859/lab9a.jpg

我也必須實現兩個不同的GUI佈局這個。現在我試圖找出執行此任務的最佳方法。我的教授告訴我介紹要素類4種狀態:
- 空
- 看不見的(在網格佈局中使用)
- 第一個字母
- 其他盤符

我想過以下解決方案(由我列出意思是任何類型的集合):
1.元素是單個字母,並且每行是Element []。遊戲類將是數組Element []的數組。我想這是最笨的方式,驗證可能會很麻煩。
2.和以前一樣,但Line是元素列表。遊戲是一系列線條。
3.像以前一樣,但遊戲是一個行列表。

我應該選擇哪一個?或者,也許你有更好的想法?如果使用一個集合,最好的集合是什麼?

回答

2

您的網格是您的內部數據模型(即,除您之外沒有其他人會使用它)。這就是爲什麼你可以選擇最適合你的方式。

我寧願數組的第一個解決方案,因爲代碼會更易讀(至少對我來說)。只是比較:

grid[3][4] = element; 

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

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

Map<Integer, List<Element>> grid 

其中整數鍵代表行索引。使用列表列表很難插入新單詞(只是想一下,你將如何實現,只有列表)。