我开始用类似于武器商店的java编写游戏。我试图让用户能够在控制台中选择在HashMap中打印的项目。一旦用户选择并突出显示该项目,用户就会购买该项目。有没有内置的实用程序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
}
答案 0 :(得分:1)
内置于Java,答案是否定的。
可以从标准Java中使用,可以从System.out.println()
语句中尝试ANSI escape codes,但这些可能会被您正在使用的操作系统控制台破坏。
如果您愿意导入一个小的jar文件,那么最佳解决方案是Jansi。在这里,程序员可以更好地控制控制台中显示的内容。所以基本上代码看起来像这样:
System.out.println( ansi().eraseScreen().fg(RED).a("Hello").fg.(GREEN).a(" World").reset() )
您只需要自己进行逻辑检查,看看该物品是否已被购买。