Небольшое консольное приложение на Python, реализующее классическую словесную игру с пошаговым взаимодействием пользователя и текстовой визуализацией состояния игрового процесса.
Проект представляет собой реализацию интерактивного консольного приложения, в котором пользователь взаимодействует с программой через последовательный ввод символов. Основной фокус сделан на управлении состоянием приложения, обработке пользовательского ввода и организации игрового цикла.
Проект не использует графический интерфейс и полностью работает в терминале.
В рамках одного раунда приложение загадывает слово из заранее подготовленного набора и постепенно раскрывает его по мере ввода символов пользователем. Программа отслеживает текущее состояние попытки, отображает прогресс в текстовом виде и реагирует на некорректный или повторяющийся ввод.
Раунд завершается при достижении одного из граничных условий, после чего приложение возвращается в начальное состояние и ожидает дальнейших действий пользователя.
- пошаговая обработка пользовательского ввода;
- валидация вводимых символов;
- хранение и отображение текущего состояния слова;
- текстовая визуализация прогресса;
- управление выводом в терминале с использованием ANSI escape sequences;
- изолированная логика игровых раундов без использования рекурсии.
- Python 3.9+
- терминальный ввод / вывод
- ANSI escape sequences
Клонируйте репозиторий:
git clone https://github.com/ikorepanov/hangman.gitПерейдите в папку проекта:
cd hangmanСоздайте виртуальное окружение:
python -m venv .venvАктивируйте виртуальное окружение:
- Linux / macOS
source .venv/bin/activate - Windows
.venv\Scripts\activate
Обновите pip:
python -m pip install --upgrade pipУстановите проект:
pip install .Для запуска приложения выполните:
python -m hangman.mainДальнейшие действия подсказываются непосредственно в интерфейсе программы.
Приложение использует внешний файл с набором слов, формат которого позволяет при необходимости заменить источник данных без изменения логики программы. Это упрощает эксперименты с различными наборами входных данных.
Проект завершён и предназначен для демонстрации подхода к реализации консольных приложений на Python с минимальным набором зависимостей.





