julysept/hangman

There is no license information available for the latest version (v3.1) of this package.

Maintainers

Package info

github.com/JulySept/hangman

pkg:composer/julysept/hangman

Statistics

Installs: 16

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v3.1 2025-10-27 19:15 UTC

This package is not auto-updated.

Last update: 2026-04-27 21:42:55 UTC


README

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

Требования

PHP версии не ниже 7.4

Composer версии не ниже 2.0

В php.ini должны быть включены: extension=mbstring

Установка и запуск

Вариант 1. Локально (через git clone)

  1. Клонировать репозиторий: git clone https://github.com/ julysept/hangman.git

  2. Перейти в каталог проекта: cd hangman

  3. Установить зависимости: composer install

  4. Запустить игру: php bin/hangman

Вариант 2. Через Packagist (глобально)

  1. Установить пакет: composer global require julysept/hangman

  2. Запустить игру командой: hangman

Параметры командной строки

Ключ Описание
-n, --new Новая игра (по умолчанию)
-l, --list Вывод списка сохранённых игр (не реализовано)
-r <id>, --replay <id> Повтор игры с указанным идентификатором (не реализовано)
-p <имя>, --player <имя> Имя игрока (по умолчанию "Player")
-h, --help Показать справку по ключам запуска

Игровой процесс

  1. Перед началом игры можно указать имя игрока через -p или --player.

  2. В игре вводятся по одной букве латинского алфавита через клавиатуру, на запрос программы.

  3. После каждой попытки:

    • Показывается текущее состояние слова (с маской для неугаданных букв).
    • Отображается "виселица" с количеством ошибок.
  4. Игра продолжается до:

    • Победы: все буквы угаданы,
    • Поражения: человечек нарисован полностью.
  5. После завершения игры:

    • Сохраняется запись в базе данных SQLite с датой, именем игрока, загаданным словом и исходом (won / lost).
    • Каждая попытка хранится с порядковым номером, предложенными буквами и результатом.
  6. Возможности работы с базой:

    • --list — выводит все сохранённые партии с датой, именем игрока, словом и исходом.
    • --replay — воспроизведение любой сохранённой игры с пошаговым повтором всех попыток.