Подсветка Java и выбор ввода

Я начал писать игру на 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
}

1 ответ

Встроенный в Java ответ - нет.

Используемый из стандартной Java, можно попробовать экранирующие коды ANSI, скажем System.out.println() заявления, но они могут быть искажены консолью ОС, которую вы используете.

Наилучшим решением, если вы хотите импортировать один крошечный файл jar, является Jansi. Здесь программист лучше контролирует то, что появляется в консоли. Так что в основном код может выглядеть примерно так:

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

Вам просто нужно поставить логическую проверку, чтобы убедиться, что предмет уже куплен.

Другие вопросы по тегам