2017-07-16 125 views
-3

我想創建一個具有20x30字段的遊戲,我的第一個想法是每個字段都是一個列表(因爲有時候某個字段包含多個對象),但是在閱讀關於通用列表數組的幾個問題,我意識到這不是一個好的解決方案。我應該用什麼來代替通用列表數組?

遊戲將會是一個非常簡單的筏版本,在控制檯中用「左」這樣的命令播放它,以便角色向左移動一個字段。 那麼你能推薦一個好的容器或者什麼來設計這個領域嗎?

遊戲的一個例證: http://imgur.com/a/8YpeA

+0

如何使用通用列表的列表而不是通用列表的數組。 – janos

+0

你爲什麼認爲這個列表不好? – Henry

+0

我想我會嘗試清單的列表,謝謝,至於第二個問題,你可以在這裏查看:https://stackoverflow.com/questions/7810074/array-of-generic-list – Ereghard

回答

1

如果要實現一個固定大小的矩形「彈面」,那麼我會建議Cell[][]其中Cell型爲代表的國家的自定義類細胞在表面上。

這裏沒有必要使用泛型,除非你試圖實現一個可以在許多遊戲中使用的抽象。

另外,不需要類似列表的功能。您不要刪除或添加單元格到電路板。你將棋子/球員/從一個單元移動到另一個單元。 (如果您的開發板不是基於謹慎的單元格,則需要使用其他方法,但任何具有有限數量離散單元的2D播放表面都可以以某種方式映射到Java數組。 )


所以你能推薦一個很好的容器或東西來設計領域?

關於圖書館和工具的建議是OFF-TOPIC。

1

有兩種方法可以創建通用陣列:

  1. 創建私有靜態內部類的類型:

    transient Node<K, V>[] table; 
    
    public MyHashMap(int limit) { 
        this.limit = limit; 
        table = (Node<K, V>[]) new Node[limit]; 
    } 
    
  2. 使用Array.newInstance(類,大小)

此外,使用泛型進行自定義實現不是一個好的選擇。

相關問題