mario2003/cold-hot

Implementation of the game "Cold-hot"

v1.2 2024-11-11 18:08 UTC

This package is auto-updated.

Last update: 2024-11-11 18:09:03 UTC


README

Описание проекта

Проект "Cold-Hot" представляет собой игру, в которой игрок должен найти спрятанный объект, используя подсказки о его местоположении. Игра разработана с использованием языка PHP и базы данных SQLite для хранения результатов и истории игр. Цель игры — найти объект как можно быстрее, следуя указаниям "тепло" и "холодно", которые даются в зависимости от того, насколько близко игрок к объекту.

Цель игры "Cold-Hot" — найти спрятанный объект на игровом поле как можно быстрее, используя подсказки о близости к объекту. Игрок стремится минимизировать количество ходов и время, необходимое для нахождения объекта.

Правила игры

Игровое поле: Представляет собой пространство (например, координатную сетку), где спрятан объект. Движения игрока: Игрок вводит координаты, чтобы угадать, где спрятан объект. Подсказки: После каждой попытки система сообщает игроку, насколько он близок к объекту: "Горячо" — объект рядом. "Тепло" — игрок приближается к объекту. "Холодно" — игрок далеко от объекта. Победа: Игрок выигрывает, когда находит точные координаты спрятанного объекта.

Требования

Размер поля: Размер игрового поля задается пользователем перед началом игры. Сохранение данных: Все данные об играх и ходах сохраняются в базе данных SQLite. Дата игры. Имя игрока. Размер игрового поля. Координаты спрятанного объекта. Исход игры (победа или поражение). Запись всех попыток игрока с указанием координат и полученной подсказки. Режимы игры: Новая игра. Просмотр списка сохраненных игр. Повтор сохраненной игры (воспроизведение попыток).

Дополнительные возможности

Определение сложности: Возможность выбора уровня сложности, который определяет размер поля и количество попыток. Система рейтинга: Игроки могут соревноваться по количеству успешных игр и времени, затраченному на нахождение объекта. Поддержка нескольких пользователей: Игра хранит данные для разных игроков, позволяя каждому просматривать свои игры и результаты.

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

Ввод данных

  1. Координаты ячеек игрового поля:

    • Вводите целые числа для угадывания спрятанного объекта.
    • Каждое число должно быть в пределах от 1 до 100.
    • После ввода, система выдаст вам подсказку (насколько близко или далеко вы от цели).
  2. Параметры перед началом игры:

    • Перед началом партии вам необходимо задать размер игрового поля.
    • Вводите значения, которые определяют размер поля, и система генерирует случайное число, которое необходимо угадать.

Пример игрового процесса:

  1. Запустите игру.
  2. Введите число для угадывания.
  3. Получите подсказку о том, насколько близко или далеко вы находитесь от спрятанного числа.
    • Примеры подсказок:
      • "Очень холодно" (если вы далеко от цели),
      • "Тепло" (если вы ближе к цели),
      • "Горячо" (если вы очень близко).
  4. Продолжайте угадывать до тех пор, пока не найдете точное число.
  5. Система отобразит количество попыток и время, потраченное на игру.

Окружение и требования для запуска

  1. PHP:

    • Версия: 7.4 или выше.
    • Настройки в php.ini:
      • Включите SQLite (extension=sqlite3).
      • Убедитесь, что настройки отображения ошибок (display_errors) включены в режиме разработки.
  2. SQLite:

    • Версия: 3.x.
    • Проверьте наличие прав записи в каталоге, где находятся файлы баз данных.
  3. Composer:

    • Composer должен быть установлен глобально.
    • Используйте команду composer для управления зависимостями.
    • Для установки Composer следуйте официальной документации.

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

  1. Склонируйте репозиторий:

    git clone https://github.com/Mario2003/cold-hot.git
  2. Перейдите в каталог проекта:

    cd C:\...\cold-hot
  3. Установите зависимости через Composer:

    composer install
  4. Запуск игры: Выполните команду для запуска игры:

    php bin/cold-hot.php
    • Или если ваш пакет опубликован на Packagist, установите его глобально:
    composer global require mario2003/cold-hot
    • И затем выполните команду:
    cold-hot

Примечания

Ссылки на пакеты

Сохранение данных в базу данных

Игра сохраняет информацию о каждой партии в базе данных SQLite (файл data/cold-hot.db). Сохраняются следующие данные:

  • Имя игрока
  • Размер поля
  • Спрятанное число
  • Время начала и окончания игры
  • Количество попыток
  • Результат игры (победа или поражение)

Просмотр истории игр

В меню игры вы можете выбрать опцию "View game history", чтобы просмотреть список всех сыгранных вами партий. Для каждой партии отображается:

  • ID игры
  • Имя игрока
  • Размер поля
  • Время начала
  • Результат

Воспроизведение сохраненных игр

Вы можете выбрать ID игры из списка и воспроизвести ее. Игра покажет вам все ваши ходы, включая координаты, которые вы вводили, и подсказки, которые вы получали.