我想創建一個具有20x30字段的遊戲,我的第一個想法是每個字段都是一個列表(因爲有時候某個字段包含多個對象),但是在閱讀關於通用列表數組的幾個問題,我意識到這不是一個好的解決方案。我應該用什麼來代替通用列表數組?
遊戲將會是一個非常簡單的筏版本,在控制檯中用「左」這樣的命令播放它,以便角色向左移動一個字段。 那麼你能推薦一個好的容器或者什麼來設計這個領域嗎?
遊戲的一個例證: http://imgur.com/a/8YpeA
我想創建一個具有20x30字段的遊戲,我的第一個想法是每個字段都是一個列表(因爲有時候某個字段包含多個對象),但是在閱讀關於通用列表數組的幾個問題,我意識到這不是一個好的解決方案。我應該用什麼來代替通用列表數組?
遊戲將會是一個非常簡單的筏版本,在控制檯中用「左」這樣的命令播放它,以便角色向左移動一個字段。 那麼你能推薦一個好的容器或者什麼來設計這個領域嗎?
遊戲的一個例證: http://imgur.com/a/8YpeA
如果要實現一個固定大小的矩形「彈面」,那麼我會建議Cell[][]
其中Cell
型爲代表的國家的自定義類細胞在表面上。
這裏沒有必要使用泛型,除非你試圖實現一個可以在許多遊戲中使用的抽象。
另外,不需要類似列表的功能。您不要刪除或添加單元格到電路板。你將棋子/球員/從一個單元移動到另一個單元。 (如果您的開發板不是基於謹慎的單元格,則需要使用其他方法,但任何具有有限數量離散單元的2D播放表面都可以以某種方式映射到Java數組。 )
所以你能推薦一個很好的容器或東西來設計領域?
關於圖書館和工具的建議是OFF-TOPIC。
有兩種方法可以創建通用陣列:
創建私有靜態內部類的類型:
transient Node<K, V>[] table;
public MyHashMap(int limit) {
this.limit = limit;
table = (Node<K, V>[]) new Node[limit];
}
使用Array.newInstance(類,大小)
此外,使用泛型進行自定義實現不是一個好的選擇。
如何使用通用列表的列表而不是通用列表的數組。 – janos
你爲什麼認爲這個列表不好? – Henry
我想我會嘗試清單的列表,謝謝,至於第二個問題,你可以在這裏查看:https://stackoverflow.com/questions/7810074/array-of-generic-list – Ereghard