mario2003 / cold-hot
Implementation of the game "Cold-hot"
Installs: 14
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
README
Описание проекта
Проект "Cold-Hot" представляет собой игру, в которой игрок должен найти спрятанный объект, используя подсказки о его местоположении. Игра разработана с использованием языка PHP и базы данных SQLite для хранения результатов и истории игр. Цель игры — найти объект как можно быстрее, следуя указаниям "тепло" и "холодно", которые даются в зависимости от того, насколько близко игрок к объекту.
Цель игры "Cold-Hot" — найти спрятанный объект на игровом поле как можно быстрее, используя подсказки о близости к объекту. Игрок стремится минимизировать количество ходов и время, необходимое для нахождения объекта.
Правила игры
Игровое поле: Представляет собой пространство (например, координатную сетку), где спрятан объект. Движения игрока: Игрок вводит координаты, чтобы угадать, где спрятан объект. Подсказки: После каждой попытки система сообщает игроку, насколько он близок к объекту: "Горячо" — объект рядом. "Тепло" — игрок приближается к объекту. "Холодно" — игрок далеко от объекта. Победа: Игрок выигрывает, когда находит точные координаты спрятанного объекта.
Требования
Размер поля: Размер игрового поля задается пользователем перед началом игры. Сохранение данных: Все данные об играх и ходах сохраняются в базе данных SQLite. Дата игры. Имя игрока. Размер игрового поля. Координаты спрятанного объекта. Исход игры (победа или поражение). Запись всех попыток игрока с указанием координат и полученной подсказки. Режимы игры: Новая игра. Просмотр списка сохраненных игр. Повтор сохраненной игры (воспроизведение попыток).
Дополнительные возможности
Определение сложности: Возможность выбора уровня сложности, который определяет размер поля и количество попыток. Система рейтинга: Игроки могут соревноваться по количеству успешных игр и времени, затраченному на нахождение объекта. Поддержка нескольких пользователей: Игра хранит данные для разных игроков, позволяя каждому просматривать свои игры и результаты.
Игровой процесс
Ввод данных
-
Координаты ячеек игрового поля:
- Вводите целые числа для угадывания спрятанного объекта.
- Каждое число должно быть в пределах от 1 до 100.
- После ввода, система выдаст вам подсказку (насколько близко или далеко вы от цели).
-
Параметры перед началом игры:
- Перед началом партии вам необходимо задать размер игрового поля.
- Вводите значения, которые определяют размер поля, и система генерирует случайное число, которое необходимо угадать.
Пример игрового процесса:
- Запустите игру.
- Введите число для угадывания.
- Получите подсказку о том, насколько близко или далеко вы находитесь от спрятанного числа.
- Примеры подсказок:
- "Очень холодно" (если вы далеко от цели),
- "Тепло" (если вы ближе к цели),
- "Горячо" (если вы очень близко).
- Примеры подсказок:
- Продолжайте угадывать до тех пор, пока не найдете точное число.
- Система отобразит количество попыток и время, потраченное на игру.
Окружение и требования для запуска
-
PHP:
- Версия: 7.4 или выше.
- Настройки в
php.ini
:- Включите SQLite (
extension=sqlite3
). - Убедитесь, что настройки отображения ошибок (
display_errors
) включены в режиме разработки.
- Включите SQLite (
-
SQLite:
- Версия: 3.x.
- Проверьте наличие прав записи в каталоге, где находятся файлы баз данных.
-
Composer:
- Composer должен быть установлен глобально.
- Используйте команду
composer
для управления зависимостями. - Для установки Composer следуйте официальной документации.
Установка и запуск проекта
-
Склонируйте репозиторий:
git clone https://github.com/Mario2003/cold-hot.git
-
Перейдите в каталог проекта:
cd C:\...\cold-hot
-
Установите зависимости через Composer:
composer install
-
Запуск игры: Выполните команду для запуска игры:
php bin/cold-hot.php
- Или если ваш пакет опубликован на Packagist, установите его глобально:
composer global require mario2003/cold-hot
- И затем выполните команду:
cold-hot
Примечания
-
Проверьте права на запись в каталог с базой данных SQLite.
-
Дополнительную информацию можно найти в документации PHP, SQLite и Composer:
Ссылки на пакеты
Сохранение данных в базу данных
Игра сохраняет информацию о каждой партии в базе данных SQLite (файл data/cold-hot.db). Сохраняются следующие данные:
- Имя игрока
- Размер поля
- Спрятанное число
- Время начала и окончания игры
- Количество попыток
- Результат игры (победа или поражение)
Просмотр истории игр
В меню игры вы можете выбрать опцию "View game history", чтобы просмотреть список всех сыгранных вами партий. Для каждой партии отображается:
- ID игры
- Имя игрока
- Размер поля
- Время начала
- Результат
Воспроизведение сохраненных игр
Вы можете выбрать ID игры из списка и воспроизвести ее. Игра покажет вам все ваши ходы, включая координаты, которые вы вводили, и подсказки, которые вы получали.