modrakir / cold-hot-game
Installs: 8
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/modrakir/cold-hot-game
Requires
- gabordemooij/redbean: ^5.7
- wp-cli/php-cli-tools: ^0.12.5
Requires (Dev)
README
Описание проекта
Проект включает разработку игры "Холодно-горячо" (Cold-Hot) с использованием реляционной базы данных для сохранения результатов игр. Игра реализована на языке PHP с использованием базы данных SQLite и ORM RedBeanPHP. Пользователям предоставляется возможность просматривать историю игр и воспроизводить ранее сыгранные партии.
Цель игры - угадать случайное трехзначное число (без повторяющихся цифр), сгенерированное компьютером. После каждой попытки компьютер предоставляет игроку подсказки о том, насколько близко его предположение к загаданному числу.
Правила игры
- Компьютер загадывает трехзначное число с уникальными цифрами
- Игрок пытается угадать это число за ограниченное количество попыток (10 попыток)
- После каждой попытки компьютер выдает три подсказки:
- "Холодно" (Cold): Цифра не отгадана
- "Тепло" (Warm): Цифра отгадана, но не отгадана ее позиция
- "Горячо" (Hot): Цифра и ее позиция отгаданы
- Подсказки выдаются в алфавитном порядке для каждой попытки
- Игра заканчивается победой при угадывании числа или поражением после исчерпания попыток
Требования
- Генерация числа: Трехзначное число с уникальными цифрами генерируется автоматически
- Сохранение данных: Вся информация об играх и попытках сохраняется в базе данных SQLite через ORM RedBeanPHP
- Хранение данных:
- Дата игры
- Имя игрока
- Загаданное компьютером число
- Исход игры (угадал/не угадал)
- Запись попыток в формате: номер попытки | предложенное число | результат (подсказки)
- Режимы игры:
- Новая игра
- Просмотр списка сохраненных игр
- Повтор сохраненной партии (воспроизведение попыток)
- Справка о программе
Окружение и требования для запуска
PHP:
- Версия: 7.4 или выше
- Настройки в php.ini:
- Включите SQLite (
extension=sqlite3) - Убедитесь, что настройки отображения ошибок (
display_errors) включены в режиме разработки
- Включите SQLite (
SQLite:
- Версия: 3.x
- Проверьте наличие прав записи в каталоге, где находятся файлы баз данных
Composer:
- Composer должен быть установлен глобально
- Используйте команду
composerдля управления зависимостями - Для установки Composer следуйте официальной документации
Установка и запуск проекта
- Склонируйте репозиторий:
git clone https://github.com/Modrakir/cold-hot-game
- Перейдите в каталог проекта:
cd Task05/cold-hot - Установите зависимости через Composer:
composer install
Запуск игры:
- Выполните команду для запуска игры:
php bin/cold-hot
- Или если ваш пакет опубликован на Packagist, установите его глобально:
composer global require modrakir/cold-hot
- И затем выполните команду:
cold-hot
Примеры использования
- Начать новую игру
php bin/cold-hot --new
- Просмотреть список сохраненных игр
php bin/cold-hot --list
- Воспроизвести игру с ID 5
php bin/cold-hot --replay 5
- Показать справку
php bin/cold-hot --help
Примечания
-
Проверьте права на запись в каталог с базой данных SQLite.
-
Дополнительную информацию можно найти в документации PHP, SQLite и Composer: