ks561 / cold-hot
Implementation of the game "Cold-hot"
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- wp-cli/php-cli-tools: ^0.12.0
This package is auto-updated.
Last update: 2025-06-15 22:26:08 UTC
README
Описание проекта
Проект "Cold-Hot" представляет собой игру, в которой игрок должен найти спрятанный объект, используя подсказки о его местоположении. Игра разработана с использованием языка PHP и базы данных SQLite для хранения результатов и истории игр. Цель игры — найти объект как можно быстрее, следуя указаниям "тепло" и "холодно", которые даются в зависимости от того, насколько близко игрок к объекту.
Цель игры "Cold-Hot" — найти спрятанный объект на игровом поле как можно быстрее, используя подсказки о близости к объекту. Игрок стремится минимизировать количество ходов и время, необходимое для нахождения объекта.
Правила игры
Игровое поле: Представляет собой пространство (например, координатную сетку), где спрятан объект. Движения игрока: Игрок вводит координаты, чтобы угадать, где спрятан объект. Подсказки: После каждой попытки система сообщает игроку, насколько он близок к объекту:
- "Холодно": Ни одна цифра не отгадана.
- "Тепло": Одна цифра отгадана, но её позиция неверна.
- "Горячо": Одна цифра и её позиция отгаданы.
Требования
- Сохранение данных: Информация о датах и исходах всех партий, а также о всех попытках, сделанных во время игры, должна сохраняться в базе данных.
- Хранение данных: Для каждой игры в базе данных должна храниться следующая информация:
- Дата игры
- Имя игрока
- Загаданное компьютером число
- Исход игры (угадал/не угадал)
- Запись попыток в формате:
номер попытки | предложенное число | результат
- Режимы игры:
- Новая игра
- Вывод списка всех сохраненных партий
- Повтор любой сохраненной партии (воспроизведение всех ходов из этой партии)
Дополнительные возможности
Определение сложности: Возможность выбора уровня сложности, который определяет размер поля и количество попыток. Система рейтинга: Игроки могут соревноваться по количеству успешных игр и времени, затраченному на нахождение объекта. Поддержка нескольких пользователей: Игра хранит данные для разных игроков, позволяя каждому просматривать свои игры и результаты.
Настройка окружения
-
PHP:
- Версия: 7.4 или выше.
- Настройки в
php.ini
:- Включите SQLite (
extension=sqlite3
). - Убедитесь, что настройки отображения ошибок (
display_errors
) включены в режиме разработки.
- Включите SQLite (
-
SQLite:
- Версия: 3.x.
- Проверьте наличие прав записи в каталоге, где находятся файлы баз данных.
-
Composer:
- Composer должен быть установлен глобально.
- Используйте команду
composer
для управления зависимостями. - Для установки Composer следуйте официальной документации.
Игровой процесс
Ввод данных
-
Координаты ячеек игрового поля:
- Вводите целые числа для угадывания спрятанного объекта.
- Каждое число должно быть в пределах от 1 до 100.
- После ввода, система выдаст вам подсказку (насколько близко или далеко вы от цели).
-
Параметры перед началом игры:
- Перед началом партии вам необходимо задать размер игрового поля.
- Вводите значения, которые определяют размер поля, и система генерирует случайное число, которое необходимо угадать.
Пример игрового процесса:
- Запустите игру.
- Введите число для угадывания.
- Получите подсказку о том, насколько близко или далеко вы находитесь от спрятанного числа.
- Примеры подсказок:
- "Очень холодно" (если вы далеко от цели),
- "Тепло" (если вы ближе к цели),
- "Горячо" (если вы очень близко).
- Примеры подсказок:
- Продолжайте угадывать до тех пор, пока не найдете точное число.
- Система отобразит количество попыток и время, потраченное на игру.
Установка и запуск проекта
-
Склонируйте репозиторий:
git clone https://github.com/shuryginaKN/cold-hot.git
-
Перейдите в каталог проекта:
cd C:\...\cold-hot
-
Установите зависимости через Composer:
composer install
-
Запуск игры: Выполните команду для запуска игры:
php bin/cold-hot.php
- Или если ваш пакет опубликован на Packagist, установите его глобально:
composer global require ks561/cold-hot
- И затем выполните команду:
cold-hot
Сохранение данных в базу данных
Игра сохраняет информацию о каждой партии в базе данных SQLite (файл data/cold-hot.db). Сохраняются следующие данные:
- Имя игрока
- Размер поля
- Спрятанное число
- Время начала и окончания игры
- Количество попыток
- Результат игры (победа или поражение)
Просмотр сохраненных игр
Пользователь сможет совершить следующие действия:
- Сыграть и сохранить данную игру в базу данных. Реализуется путем ввода команды --new (-n) или по умолчанию.
- Просмотреть список сохраненных игр, в котором будут указаны дата игры, имя игрока и исход. Реализуется путем ввода команды --list (-l).
- Повторить ранее сыгранную партию, вводя номер соответствующей игры из списка. Реализуется путем ввода команды --replay id (-r id). Заместо id нужно ввести номер интересующей игры.
- Получить справку по работе программы. Реализуется путем ввода команды --help (-h).
Воспроизведение сохраненных игр
Вы можете выбрать ID игры из списка и воспроизвести ее. Игра покажет вам все ваши ходы, включая координаты, которые вы вводили, и подсказки, которые вы получали.
Примечания
-
Проверьте права на запись в каталог с базой данных SQLite.
-
Дополнительную информацию можно найти в документации PHP, SQLite и Composer: