2013-10-23 28 views
0

所以我做了一個盤點像這樣的回答: Android game rpg inventory systemJava:如何顯示我的HashTable清單?

我的問題是什麼的最佳途徑,以顯示在屏幕上的GUI。如果它有助於使用Slick2D添加即時消息。

+0

根本沒有任何「最好」的方式。顯示和創建GUI取決於各種事情。喜歡它是一款遊戲還是?哪種遊戲,UI元素的數量等等。 – Vallentin

+0

@Vallentin我在做一個沙箱/ RPG遊戲你建議什麼樣的庫存?或者最好的辦法做1?另外我希望它有50個插槽 – JeremiasK

+0

就像我說的,沒有任何「最好」的方式。這是一個品味問題。創建圖形用戶界面(GUI)的樣子,如果你製作了一個用戶界面而你不喜歡它,那就改變它。然後當你喜歡它時,保留它。 – Vallentin

回答

0

我想這就是你的意思,在評論中。

要向Map中的一個鍵添加「多個」值,那麼基本上只需創建自己的class Something即可存儲所需的所有值,對象等。

這很粗略。雖然首先你會在我們的案例class Item中創建class Something,就像我在評論中所說的那樣。

public class Item 
{ 
    public static enum ItemType { FOOD, WEAPON, TOOL, ARMOR; } 

    public ItemType type; 
    public int weight; 

    public Item() { 

    } 

    public Item(ItemType type, int weight) { 
     this.type = type; 
     this.weight = weight; 
    } 
} 

然後,當你想創建和項目添加到您的Map你會做以下後。當然,Map關鍵是Integer,因爲它將成爲庫存指數,這正是我所得到的感受。

HashMap<Integer, Item> inventory = new HashMap<Integer, Item>(); 

Item i1 = new Item(ItemType.FOOD, 10); 
Item i2 = new Item(ItemType.WEAPON, 20); 

inventory.put(0, i1); 
inventory.put(1, i2); 

如果你不希望/你需要一個動態的庫存,然後而是採用了Map你可以只使用class Item的數組。

Item[] inventory = new Item[10]; 

其中10是庫存中物料的最大數量。

+0

這應該非常感謝你。抱歉花時間。 – JeremiasK

+0

不客氣,花費的時間並不重要! – Vallentin