antonizsar13 / minesweeper
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
pkg:composer/antonizsar13/minesweeper
Requires
- wp-cli/php-cli-tools: ^0.12.0
 
README
Описание проекта
Проект включает разработку игры "Сапер" (Minesweeper) с использованием реляционной базы данных для сохранения результатов игр. Игра реализована на языке PHP с использованием базы данных SQLite. Пользователям предоставляется возможность просматривать историю игр и воспроизводить ранее сыгранные партии.
Цель игры - открыть все ячейки, не содержащие мины. Если игрок открывает ячейку с миной, он проигрывает. Если ячейка не заминирована, в ней отображается количество мин, соседствующих с этой ячейкой.
Правила игры
- Игрок открывает ячейки, избегая мин. Открыв мину, игрок проигрывает.
 - Если мины нет, ячейка отображает число соседних заминированных ячеек.
 - Если рядом с открытой ячейкой нет мин, открывается область незаминированных ячеек до тех пор, пока не встретится ячейка с цифрой.
 
Игровой процесс
Начало игры
Перед началом партии пользователю будет предложено ввести следующие параметры:
- Размер поля: Укажите размер игрового поля в формате 
ширина высота(например,10 10для поля 10x10). - Количество мин: Укажите общее количество мин на поле (например, 
20). 
Ввод координат
Игрок открывает ячейки, вводя координаты в формате X Y, где:
X— номер столбца (от 1 до ширины поля).Y— номер строки (от 1 до высоты поля).
Пример ввода координат для открытия ячейки на позиции (3, 5):
3 5
Игровые действия
- Открытие ячейки: Введите координаты ячейки, чтобы открыть её.
 - Проигрыш: Если игрок открыл ячейку с миной, игра заканчивается, и выводится сообщение о проигрыше.
 - Выигрыш: Игра завершается, когда все ячейки без мин открыты.
 
Просмотр сохраненных игр
После завершения игры пользователю будет предложено:
- Просмотреть список сохраненных игр, в котором будут указаны дата игры, имя игрока и исход.
 - Повторить ранее сыгранную партию, вводя номер соответствующей игры из списка.
 
Требования
- Размер поля и количество мин: Вводятся пользователем перед началом игры.
 - Сохранение данных: Вся информация об играх и ходах сохраняется в базе данных SQLite.
 - Хранение данных:
- Дата игры
 - Имя игрока
 - Размер поля и количество мин
 - Расположение мин
 - Исход игры
 - Запись ходов в формате: 
номер хода | координаты ячейки | результат (мимо/взорвался/выиграл) 
 - Режимы игры:
- Новая игра
 - Просмотр списка сохраненных игр
 - Повтор сохраненной партии (воспроизведение ходов)
 
 
Окружение и требования для запуска
- 
PHP:
- Версия: 7.4 или выше.
 - Настройки в 
php.ini:- Включите SQLite (
extension=sqlite3). - Убедитесь, что настройки отображения ошибок (
display_errors) включены в режиме разработки. 
 - Включите SQLite (
 
 - 
SQLite:
- Версия: 3.x.
 - Проверьте наличие прав записи в каталоге, где находятся файлы баз данных.
 
 - 
Composer:
- Composer должен быть установлен глобально.
 - Используйте команду 
composerдля управления зависимостями. - Для установки Composer следуйте официальной документации.
 
 
Игровой процесс
Начало игры
Перед началом партии пользователю будет предложено ввести следующие параметры:
- Размер поля: Укажите размер игрового квадратного поля в формате 
размер(например,10для поля 10x10). - Количество мин: Укажите общее количество мин на поле (например, 
20). 
Ввод координат
Игрок открывает ячейки, вводя координаты в формате X, Y, где:
X— номер столбца (от 1 до ширины поля).Y— номер строки (от 1 до высоты поля).
Пример ввода координат для открытия ячейки на позиции (3, 5):
3, 5
Игровые действия
- Открытие ячейки: Введите координаты ячейки, чтобы открыть её.
 - Проигрыш: Если игрок открыл ячейку с миной, игра заканчивается, и выводится сообщение о проигрыше.
 - Выигрыш: Игра завершается, когда все ячейки без мин открыты.
 
Установка и запуск проекта
- 
Склонируйте репозиторий:
git clone https://github.com/Antonizsar13/Minesweeper
 - 
Перейдите в каталог проекта:
cd \...\minesweeper
 - 
Установите зависимости через Composer:
composer install
 - 
Запуск игры: Выполните команду для запуска игры:
php bin/minesweeper.php
- Или если ваш пакет опубликован на Packagist, установите его глобально:
 
composer global require antonizsar13/minesweeper
- И затем выполните команду:
 
minesweeper
- игра поддеживает дургие режимы:
minesweeper -h
 
 
Примечания
- 
Проверьте права на запись в каталог с базой данных SQLite.
 - 
Дополнительную информацию можно найти в документации PHP, SQLite и Composer: