2012-02-21 110 views
0

我已經開始用java寫一個類似武器商店的遊戲。我試圖讓用戶有能力選擇在控制檯中的HashMap中打印的項目。一旦用戶選擇並突出顯示該項目,用戶就會購買該項目。 Java是否有內置的實用程序支持此功能?這是我有什麼:Java突出顯示和選擇輸入

public static int purchaseMedicine(int goldAmount) { 

    HashMap<String, Integer> map = new HashMap<String, Integer>(); 
    map.put("Jewel of Open", 500); 
    map.put("Potion", 800); 
    map.put("Hi-Potion", 2000); 
    map.put("Elixir", 8000); 
    map.put("Manna Prism", 4000); 
    map.put("Antivenom", 200); 
    map.put("Hammer", 200); 
    map.put("Library Card", 500); 

    int index = 0; 

    for(Map.Entry<String, Integer> entry : map.entrySet()) { 

     System.out.println(entry.getKey() + " " + entry.getValue()); 
    } 

    System.out.printf("\n\tGold %d\n\n", goldAmount); 
    return index; // Returns the instances of medicineList 
} 

回答

1

內置到Java的答案是否定的。

可以從標準Ja​​va中使用,可以從System.out.println()聲明中嘗試ANSI escape codes聲明,但這些聲明可能會被您正在使用的操作系統控制檯破壞。

最好的解決方案,如果你願意導入一個小jar文件,是Jansi。在這裏,程序員可以更好地控制控制檯中顯示的內容。所以基本上代碼可以是這樣的:

System.out.println(ansi().eraseScreen().fg(RED).a("Hello").fg.(GREEN).a(" World").reset()) 

你只需要在邏輯檢查自己看看是否已經購買了物品。