Skip to content

Latest commit

 

History

History
46 lines (34 loc) · 3.85 KB

README.md

File metadata and controls

46 lines (34 loc) · 3.85 KB

hangman_game

Описание

Консольная версия игры "Виселица", в которой игрок пытается угадать загаданное слово, вводя буквы по одной за раз. 

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

Количество попыток ограничено, и за каждую неверную догадку визуализируется часть виселицы и фигурки висельника.


Функциональные особенности

  • Программа выбрает случайную категорию слов, если этого не сделал пользователь.
  • Программа выбрает уровень сложности, если этого не сделал пользователь.
  • Программа выбирает случайное слово из заранее определенного списка слов.
  • Игрок вводит одну букву за раз, чтобы угадать слово.
  • Экран обновляется после каждого ввода, показывая уже угаданные буквы и прочерки на местах неуказанных букв.
  • Визуализация виселицы добавляется постепенно с каждой неправильной попыткой.
  • Игра завершается, когда слово угадано полностью или когда висельник полностью нарисован.
  • Количество попыток ограничено и указывается в начале игры.
  • Реализован механизм подсказки, например, для слова "бабушка" подсказкой может быть "близкий родственник"

Описание входных и выходных данных

Ввод

  • Ввод буквы осуществляется через стандартную консоль ввода.
  • Ввод не чувствителен к регистру.

Вывод

  • На каждом этапе игры отображается текущее состояние угадываемого слова и виселицы.
  • При успешном угадывании буквы обновляется состояние слова на экране.
  • При неправильной букве обновляется изображение виселицы и указывается кол-во оставшихся попыток.

Тестирование

  • Написаны тесты для проверки правильности выбора слова из списка.
  • Проверена корректность отображения состояния игры после каждого ввода пользователя.
  • Проверено, что введенные буквы корректно обрабатываются вне зависимости от их регистра.
  • Игра не запускается, если загадываемое слово имеет некорректную длину.
  • После превышения заданного количества попыток игра всегда возвращает поражение.
  • Состояние игры корректно изменяется при угадывании/не угадывании.
  • Проверено, что при отгадывании ввод строки длиной больше чем 1 (опечатка) приводит к повторному вводу, без изменения состояния.