我已经开始用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
}
最佳答案
内置于 Java 中,答案是否定的。
可从标准 Java 使用,可以尝试 ANSI escape codes来自 System.out.println()
语句,但这些语句可能会被您正在使用的操作系统控制台破坏。
如果您愿意导入一个小 jar 文件,最好的解决方案是 Jansi 。在这里,程序员可以更好地控制控制台中显示的内容。所以基本上代码看起来像这样:
System.out.println( ansi().eraseScreen().fg(RED).a("Hello").fg.(GREEN).a(" World").reset() )
您只需要自己进行逻辑检查即可查看该商品是否已被购买。
关于Java 高亮显示和选择输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9383201/