Download the PHP package openeeer/minesweeper without Composer
On this page you can find all versions of the php package openeeer/minesweeper. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download openeeer/minesweeper
More information about openeeer/minesweeper
Files in openeeer/minesweeper
Package minesweeper
Short Description Console Game Minesweeper with SQLite database support
License
Informations about the package minesweeper
Проект "Сапер" (Minesweeper)
Проект представляет собой консольную игру "Сапёр" (Minesweeper), реализованную на PHP с поддержкой базы данных SQLite. Игрок открывает ячейки на квадратном поле, избегая мин. Цель игры — открыть все безопасные клетки. Если игрок открывает ячейку с миной, игра заканчивается поражением.
Игра поддерживает интерактивный ввод команд для открытия ячеек и установки флагов, а также встроенную справку, которую можно вызвать в любой момент.
Новые возможности версии 3.3.0
- Переход на ORM RedBeanPHP для работы с базой данных
- Упрощенная работа с данными через объектно-реляционное отображение
- Автоматическое создание таблиц при первом запуске
- Улучшенная производительность работы с базой данных
Новые возможности версии 2.0.0
- Автоматическое сохранение партий в базу данных SQLite
- Три игровых режима: новая игра, просмотр списка партий, воспроизведение сохраненных игр
- Полная запись ходов с координатами и результатами
- Воспроизведение партий с пошаговым показом ходов
- История игр с информацией об игроках, датах и результатах
Правила и команды
Правила игры
- Игрок открывает ячейки, избегая мин.
- Если мины нет, ячейка отображает количество соседних заминированных ячеек.
- Если рядом с открытой ячейкой нет мин, автоматически открывается область незаминированных ячеек до тех пор, пока не встретится ячейка с цифрой.
- Игрок может устанавливать флаги на подозрительные ячейки.
Режимы игры
- Новая игра — начать новую партию с вводом имени игрока, размера поля и количества мин
- Список партий — просмотр всех сохраненных в базе данных игр с информацией об игроках, датах и результатах
- Повтор партии — воспроизведение любой сохраненной игры с пошаговым показом ходов
Команды во время игры
o row col— открыть ячейку с координатами(row, col)f row col— установить или убрать флаг на ячейке(row, col)h— показать справку и правила игры
Ограничения
- Размер поля не меньше 2.
- Количество мин от 1 до
size*size - 1. - Координаты ячеек должны находиться в пределах поля.
Работа с базой данных
Игра автоматически сохраняет все партии в базу данных SQLite (bin/minesweeper.db). Для каждой игры сохраняется:
Информация об игре
- Дата и время игры
- Имя игрока
- Размер игрового поля
- Количество мин
- Позиции всех мин на поле
- Результат игры (Победа/Поражение)
Запись ходов
Каждый ход игрока записывается в формате:
- Номер хода
- Координаты ячейки (строка, столбец)
- Результат хода:
мины нет— ячейка открыта успешновзорвался— игрок наступил на минувыиграл— игрок выиграл партию
Воспроизведение партий
При выборе режима "Повтор партии" игра:
- Восстанавливает точное расположение мин
- Пошагово воспроизводит все ходы игрока
- Показывает результат каждого хода
- Отображает финальный результат партии
Требования
- PHP:
- Версия: 7.4 или выше.
- Composer:
- Для установки зависимостей.
- Документация Composer
Установка и запуск
Вариант 1: Глобальная установка (Рекомендуется для игры)
-
Установите пакет глобально через Composer:
Примечание: Убедитесь, что глобальная папка Composer (
~/.composer/vendor/binили~/.config/composer/vendor/bin) добавлена в вашу системную переменнуюPATH. - Запустите игру из любого места в терминале:
Вариант 2: Локальная установка (Для разработки)
-
Склонируйте репозиторий:
-
Перейдите в каталог проекта:
-
Установите зависимости:
-
Запустите игру:
Для вывода справки используйте флаг
--help:
Примечания
- Игровое поле и подсветка ячеек используют цвета консоли.
- При открытии мины она подсвечивается оранжевым цветом.
- Победа отображается зелёным цветом.
- Можно открывать справку в любой момент во время игры командой
h.
Используемые библиотеки
- Symfony Console — используется для цветного вывода.
- PHP CLI Tools — используется для консольных утилит.
- RedBeanPHP — ORM для работы с базой данных SQLite.
All versions of minesweeper with dependencies
symfony/console Version ^7.3
gabordemooij/redbean Version ^5.7