PHPackages                             ks561/cold-hot - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. ks561/cold-hot

ActiveProject

ks561/cold-hot
==============

Implementation of the game "Cold-hot"

v1.0.1(1y ago)03PHP

Since Oct 5Pushed 1y ago1 watchersCompare

[ Source](https://github.com/shuryginaKN/cold-hot)[ Packagist](https://packagist.org/packages/ks561/cold-hot)[ RSS](/packages/ks561-cold-hot/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (3)Used By (0)

Проект "Холодно-горячо" (Cold-Hot)
==================================

[](#проект-холодно-горячо-cold-hot)

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

[](#описание-проекта)

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

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

### Правила игры

[](#правила-игры)

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

- **"Холодно"**: Ни одна цифра не отгадана.
- **"Тепло"**: Одна цифра отгадана, но её позиция неверна.
- **"Горячо"**: Одна цифра и её позиция отгаданы.

### Требования

[](#требования)

- **Сохранение данных**: Информация о датах и исходах всех партий, а также о всех попытках, сделанных во время игры, должна сохраняться в базе данных.
- **Хранение данных**: Для каждой игры в базе данных должна храниться следующая информация:
- Дата игры
- Имя игрока
- Загаданное компьютером число
- Исход игры (угадал/не угадал)
- Запись попыток в формате: `номер попытки | предложенное число | результат`
- **Режимы игры**:
- Новая игра
- Вывод списка всех сохраненных партий
- Повтор любой сохраненной партии (воспроизведение всех ходов из этой партии)

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

[](#дополнительные-возможности)

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

---

Настройка окружения
-------------------

[](#настройка-окружения)

1. **PHP**:

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

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

    - Composer должен быть установлен глобально.
    - Используйте команду `composer` для управления зависимостями.
    - Для установки Composer следуйте [официальной документации](https://getcomposer.org/doc/00-intro.md).

---

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

[](#игровой-процесс)

### Ввод данных

[](#ввод-данных)

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

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

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

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

[](#пример-игрового-процесса)

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

---

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

[](#установка-и-запуск-проекта)

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

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

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

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

    ```
    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:
- [SQLite Documentation](https://www.sqlite.org/docs.html)
- [PHP Documentation](https://www.php.net/docs.php)
- [Composer Documentation](https://getcomposer.org/doc/)

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

[](#ссылки-на-пакеты)

- [Packagist пакет cold-hot](https://packagist.org/packages/ks561/cold-hot)

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance37

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

590d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/588793aaf8784279bd9e80bd2a8d4c4c491811c1ecf0e613e7f35ddc11cd9087?d=identicon)[shuryginaKN](/maintainers/shuryginaKN)

---

Top Contributors

[![shuryginaKN](https://avatars.githubusercontent.com/u/158729669?v=4)](https://github.com/shuryginaKN "shuryginaKN (8 commits)")

### Embed Badge

![Health badge](/badges/ks561-cold-hot/health.svg)

```
[![Health](https://phpackages.com/badges/ks561-cold-hot/health.svg)](https://phpackages.com/packages/ks561-cold-hot)
```

###  Alternatives

[wp-cli/wp-cli

WP-CLI framework

5.1k17.2M320](/packages/wp-cli-wp-cli)[indatus/dispatcher

Schedule your artisan commands within your application's source code

1.1k855.3k2](/packages/indatus-dispatcher)[clickalicious/phpmemadmin

phpMemAdmin - Bringing Memcached to the web

5076.0k](/packages/clickalicious-phpmemadmin)[jeremykendall/password-validator

Password Validator validates password\_hash generated passwords, rehashes passwords as necessary, and will upgrade legacy passwords.

14469.9k3](/packages/jeremykendall-password-validator)[qtism/qtism

OAT QTI-SDK

86193.8k7](/packages/qtism-qtism)[niels-de-blaauw/php-doc-check

Command line tool that identifies code that needs documentation.

43236.3k4](/packages/niels-de-blaauw-php-doc-check)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
