Консольная версия игры "Виселица", в которой игрок пытается угадать загаданное слово, вводя буквы по одной за раз.
Слово выбирается по уровню сложности, случайно из предварительно заданного списка слов и категории.
Количество попыток ограничено, и за каждую неверную догадку визуализируется часть виселицы и фигурки висельника.
- Программа выбрает случайную категорию слов, если этого не сделал пользователь.
- Программа выбрает уровень сложности, если этого не сделал пользователь.
- Программа выбирает случайное слово из заранее определенного списка слов.
- Игрок вводит одну букву за раз, чтобы угадать слово.
- Экран обновляется после каждого ввода, показывая уже угаданные буквы и прочерки на местах неуказанных букв.
- Визуализация виселицы добавляется постепенно с каждой неправильной попыткой.
- Игра завершается, когда слово угадано полностью или когда висельник полностью нарисован.
- Количество попыток ограничено и указывается в начале игры.
- Реализован механизм подсказки, например, для слова "бабушка" подсказкой может быть "близкий родственник"
- Ввод буквы осуществляется через стандартную консоль ввода.
- Ввод не чувствителен к регистру.
- На каждом этапе игры отображается текущее состояние угадываемого слова и виселицы.
- При успешном угадывании буквы обновляется состояние слова на экране.
- При неправильной букве обновляется изображение виселицы и указывается кол-во оставшихся попыток.
- Написаны тесты для проверки правильности выбора слова из списка.
- Проверена корректность отображения состояния игры после каждого ввода пользователя.
- Проверено, что введенные буквы корректно обрабатываются вне зависимости от их регистра.
- Игра не запускается, если загадываемое слово имеет некорректную длину.
- После превышения заданного количества попыток игра всегда возвращает поражение.
- Состояние игры корректно изменяется при угадывании/не угадывании.
- Проверено, что при отгадывании ввод строки длиной больше чем 1 (опечатка) приводит к повторному вводу, без изменения состояния.