kirillzharkov / tic-tac-toe
Requires
- wp-cli/php-cli-tools: ^0.11.21
This package is auto-updated.
Last update: 2025-06-19 14:17:57 UTC
README
Описание проекта
Проект включает разработку игры "Крестики-нолики" (Tic-Tac-Toe) с использованием реляционной базы данных для сохранения результатов игр. Игра реализована на языке PHP с использованием базы данных SQLite. Пользователям предоставляется возможность просматривать историю игр и воспроизводить ранее сыгранные партии.
Правила игры
- Начинают ходить всегда крестики, кем играет человек определяется случайным образом.
- Информация о датах и исходах всех партий, а также о всех ходах, сделанных во время игры, должна сохраняться в базе данных.
- Для каждой партии в базе должна храниться следующая информация:
- Размер поля
- Дата игры
- Имя игрока
- Какой фигурой играл человек
- Какая фигура выиграла в партии
- Запись ходов в формате:
номер хода | координата X | координата O
- В программе должны быть реализованы три режима:
- Новая игра.
- Вывод списка всех сохраненных партий.
- Повтор любой сохраненной партии (то есть повтор всех ходов из этой партии).
Требования
Минимальная версия PHP: 8._ Минимальная версия Composer: 2._
Игровой процесс
Начало игры
- Режим игры: Человек против компьютера: Один игрок играет против компьютера.
- Размер поля: Доступен стандартный размер 3x3.
Ввод координат
Игрок добавляет в поля Х или О, вводя координаты в формате X Y
, где:
X
— номер столбца (от 1 до ширины поля).Y
— номер строки (от 1 до высоты поля).
Пример ввода координат для открытия ячейки на позиции (3, 5):
3 5
Ход игры
- Определение первого игрока: В режиме "Человек против компьютера" игрок может быть выбран случайным образом.
- Ход игрока: Игрок выбирает ячейку на поле,вводя координаты (например, "1 1", " 3 2").
- Ход компьютера: Если играет компьютер, он выбирает ячейку, используя определенную стратегию (рандомную). Ячейка заполняется символом компьютера.
- Проверка на победу: После каждого хода проверяется, есть ли у одного из игроков три символа в ряд (по горизонтали, вертикали или диагонали).Если да, игра заканчивается победой этого игрока.
- Проверка на ничью: Если все ячейки заполнены, а ни у одного из игроков нет трех символов в ряд, игра заканчивается в ничью.
- Продолжение игры: Если игра не окончена, ход переходит к следующему игроку.
- Окончание игры: Выводится сообщение о победе одного из игроков или о ничьей.
Окружение и требования для запуска
-
PHP:
- Версия: 7.4 или выше.
- Настройки в
php.ini
:- Включите SQLite (
extension=sqlite3
). - Убедитесь, что настройки отображения ошибок (
display_errors
) включены в режиме разработки.
- Включите SQLite (
-
SQLite:
- Версия: 3.x.
- Проверьте наличие прав записи в каталоге, где находятся файлы баз данных.
-
Composer:
- Composer должен быть установлен глобально.
- Используйте команду
composer
для управления зависимостями. - Для установки Composer следуйте официальной документации.
Установка и запуск проекта
-
Склонируйте репозиторий:
git clone https://github.com/KirillZharkov/tic-tac-toe.git
-
Перейдите в каталог проекта:
cd C:\...\tic-tac-toe
-
Установите зависимости через Composer:
composer install
-
Запуск игры: Выполните команду для запуска игры:
php bin/tic-tac-toe.php
- Или если ваш пакет опубликован на Packagist, установите его глобально:
composer global require KirillZharkov/tic-tac-toe
- И затем выполните команду:
tic-tac-toe
Примечания
-
Проверьте права на запись в каталог с базой данных SQLite.
-
Дополнительную информацию можно найти в документации PHP, SQLite и Composer: