Skip to content

aveasura/hangman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Hangman (Console, Java)

Консольная версия игры "Виселица" на Java.
Проект с акцентом на ООП, разделение ответственностей и чистую архитектуру для CLI-приложения.

Возможности

  • Главное меню:
    • 1 - начать новую игру
    • 2 - выход
  • Случайный выбор слова из ресурса (data.txt по умолчанию)
  • Отображение состояния игры в консоли:
    • ASCII-виселица по числу ошибок
    • количество ошибок
    • количество оставшихся попыток
    • прогресс слова (скрытые/открытые буквы)
    • список использованных букв
  • Проверка пользовательского ввода:
    • пустой ввод
    • ввод не одной буквы
    • не буква
    • не русский алфавит
    • повторный ввод буквы

Архитектура

Проект разделён по пакетам:

  • hangman.app - запуск и сборка приложения
  • hangman.game - доменная логика игры
  • hangman.word - источник слов
  • hangman.validation - валидация букв
  • hangman.io - ввод/вывод и консольный UI

Запуск

требуется Maven и JDK

git clone https://github.com/aveasura/hangman.git
cd hangman
mvn clean compile
mvn exec:java

По умолчанию используется ресурс data.txt.

Можно передать другой ресурс через аргументы запуска (например, в IntelliJ IDEA через Program arguments):

custom_words.txt

Если ресурс не найден или пустой, приложение завершится с сообщением об ошибке.

ТЗ

Проект выполнен по ТЗ Java Backend (ZhukovSD): https://zhukovsd.github.io/java-backend-learning-course/projects/hangman/

About

OOP Hangman | Java 21

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages