Download the PHP package staticnur/hangman without Composer
On this page you can find all versions of the php package staticnur/hangman. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package hangman
Проект "Виселица" (Hangman)
Описание проекта
Проект включает разработку игры "Виселица" (Hangman) с использованием реляционной базы данных для сохранения результатов игр. Игра реализована на языке PHP с использованием базы данных SQLite. Пользователям предоставляется возможность просматривать историю игр и воспроизводить ранее сыгранные партии.
Цель игры - угадать загаданное компьютером слово из шести букв. Игрок пытается угадать буквы, а затем и все слово целиком. Если игрок правильно угадывает букву, компьютер вписывает ее в соответствующую клетку. Если ошибается, то рисует одну из частей тела повешенного человека (используется псевдографика). Чтобы победить, игрок должен угадать все буквы в слове до того, как повешенный человечек будет полностью нарисован.
Правила игры
- Компьютер загадывает слово из шести букв.
- Игрок пытается угадать буквы, вводя их по одной.
- Если буква угадана верно, она отображается в соответствующей клетке.
- Если буква не угадана, рисуется одна из частей тела повешенного человека.
- Игра заканчивается победой, если игрок угадывает все буквы в слове до того, как повешенный человечек будет полностью нарисован.
- Игра заканчивается поражением, если повешенный человечек будет полностью нарисован до угадывания всех букв.
Требования
- Список слов: Заранее сгенерированный список слов из шести букв, сохраненный в базе данных.
- Сохранение данных: Вся информация об играх и ходах сохраняется в базе данных SQLite.
- Хранение данных:
- Дата игры
- Имя игрока
- Загаданное компьютером слово
- Исход игры
- Запись ходов в формате:
номер попытки | предложенная буква | результат (угадал/не угадал)
- Режимы игры:
- Новая игра
- Просмотр списка сохраненных игр
- Повтор сохраненной партии (воспроизведение ходов)
Окружение и требования для запуска
-
PHP:
- Версия: 7.4 или выше.
- Настройки в
php.ini
:- Включите SQLite (
extension=sqlite3
). - Включите SQLite (
extension=pdo_sqlite
). - Убедитесь, что настройки отображения ошибок (
display_errors
) включены в режиме разработки.
- Включите SQLite (
-
SQLite:
- Версия: 3.x.
- Проверьте наличие прав записи в каталоге, где находятся файлы баз данных.
- Composer:
- Composer должен быть установлен глобально.
- Используйте команду
composer
для управления зависимостями. - Для установки Composer следуйте официальной документации.
Установка и запуск проекта
-
Склонируйте репозиторий:
-
Перейдите в каталог проекта:
-
Установите зависимости через Composer:
-
Запуск игры: Выполните команду для запуска игры:
-
Или если ваш пакет опубликован на Packagist, установите его глобально:
- И затем выполните команду:
-
Игровой процесс
Команды
- (краткий параметр ). Новая игра. Этот же режим используется по умолчанию, если программа запускается без параметров.
- (). Вывод списка всех сохраненных игр.
- (). Вывод статистики за все игры.
- (). Повтор игры с идентификатором id.
- (). Вывод краткой информации о приложении и доступных ключах для запуска в разных режимах.
1) Начало игры:
- При запуске игры пользователю необходимо ввести свое имя.
- После авторизации предлагается ввести букву или слово целиком.
- Если пользователь вводит букву, она проверяется на наличие в загаданном слове.
- Если пользователь вводит слово целиком, оно проверяется на совпадение с загаданным словом. 2) Ввод данных:
- Введите букву или слово целиком.
- Если введено несколько букв, они будут рассматриваться как попытка угадать слово целиком.
- Если введена одна буква, она будет проверяться на наличие в загаданном слове. 3) Результаты:
- Если буква угадана верно, она отображается в соответствующей клетке.
- Если буква не угадана, рисуется одна из частей тела повешенного человека.
- Игра заканчивается победой, если игрок угадывает все буквы в слове до того, как повешенный человечек будет полностью нарисован.
- Игра заканчивается поражением, если повешенный человечек будет полностью нарисован до угадывания всех букв. 4) Конец игры:
- После завершения игры будет выведено сообщение о результате игры.
- Будет отображено правильно загаданное слово.
Структура Базы данных
games
Колонка | Тип | Комментарий |
---|---|---|
id | ID | Уникальный идентификатор игры, первичный ключ AUTO_INCREMENT |
date | TEXT | Дата игры |
player_name | TEXT | Имя игрока |
word_id | INT | Загаданное компьютером слово (id ссылка на другую таблицу) |
attempts | INT | Количество ошибочных попыток |
won | BOOLEAN | Исход игры (угадал/не угадал) |
moves
Колонка | Тип | Комментарий |
---|---|---|
id | ID | Уникальный идентификатор попытки, первичный ключ AUTO_INCREMENT |
game_id | INT | Id игры, ссылка на другую таблицу |
move_number | INT | Номер попытки |
letter | TEXT | Предложенная буква |
result | BOOLEAN | Результат |
words
Колонка | Тип | Комментарий |
---|---|---|
id | ID | Уникальный идентификатор слово, первичный ключ AUTO_INCREMENT |
word | TEXT | Слова, которые нужно отгадывать |
words
по умолчанию заполнен "apple", "banana", "cherry", "orange", "grape", "lemon"
Примечания
-
Проверьте права на запись в каталог с базой данных SQLite.
-
Дополнительную информацию можно найти в документации PHP, SQLite и Composer:
- SQLite Documentation
- PHP Documentation
- Composer Documentation