kirillzharkov/tic-tac-toe

There is no license information available for the latest version (v1.0.2) of this package.

v1.0.2 2024-10-20 13:36 UTC

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._

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

Начало игры

  1. Режим игры: Человек против компьютера: Один игрок играет против компьютера.
  2. Размер поля: Доступен стандартный размер 3x3.

Ввод координат

Игрок добавляет в поля Х или О, вводя координаты в формате X Y, где:

  • X — номер столбца (от 1 до ширины поля).
  • Y — номер строки (от 1 до высоты поля).

Пример ввода координат для открытия ячейки на позиции (3, 5):

3 5

Ход игры

  1. Определение первого игрока: В режиме "Человек против компьютера" игрок может быть выбран случайным образом.
  2. Ход игрока: Игрок выбирает ячейку на поле,вводя координаты (например, "1 1", " 3 2").
  3. Ход компьютера: Если играет компьютер, он выбирает ячейку, используя определенную стратегию (рандомную). Ячейка заполняется символом компьютера.
  4. Проверка на победу: После каждого хода проверяется, есть ли у одного из игроков три символа в ряд (по горизонтали, вертикали или диагонали).Если да, игра заканчивается победой этого игрока.
  5. Проверка на ничью: Если все ячейки заполнены, а ни у одного из игроков нет трех символов в ряд, игра заканчивается в ничью.
  6. Продолжение игры: Если игра не окончена, ход переходит к следующему игроку.
  7. Окончание игры: Выводится сообщение о победе одного из игроков или о ничьей.

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

  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/KirillZharkov/tic-tac-toe.git
  2. Перейдите в каталог проекта:

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

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

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

Примечания