darkflade / tic-tac-toe
game
Installs: 10
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:project
pkg:composer/darkflade/tic-tac-toe
Requires
- gabordemooij/redbean: ^5.7.5
- wp-cli/php-cli-tools: ^0.12.6
README
Консольная игра «Крестики-нолики» на PHP.
- работает через командную строку;
- использует символы "X" и "O" для отображения фигур;
- координаты ячеек вводятся через два числа, разделённых пробелом (номер строки и номер столбца);
- режимы работы приложения определяются через аргументы командной строки:
--new(-n) — новая игра (режим по умолчанию);--list(-l) — вывод списка всех сохранённых партий;--replay id(-r id) — воспроизведение игры с указанным идентификатором;--help(-h) — краткая справка о формате ввода и доступных ключах.
Все ходы и результаты партий сохраняются в базу данных SQLite, что позволяет просматривать историю игр и воспроизводить их.
Требования окружения
-
PHP ≥ 8.4
Проверено на версии: PHP 8.4.12 (cli) (ZTS Visual C++ 2022 x64) Zend Engine v4.4.12 -
Composer ≥ 2.8
Проверено на версии: Composer - Dependency Manager for PHP - version 2.8.11
Установка и запуск
- Клонировать репозиторий:
git clone https://github.com/darkflade/tic-tac-toe.git
cd tic-tac-toe
- Включить поддержку sqlite3 драйвера. В директории с php должен быть файл php.ini в нем надо раскоментировать две строки, убрать ; в начале строки Будет:
;extension=pdo_sqlite ... ;extension=sqlite3
Должно быть
extension=pdo_sqlite ... extension=sqlite3
- Установить зависимости:
composer install
- Сгенерировать автозагрузку:
composer dump-autoload -o
- Запустить игру:
php bin/tic-tac-toe
- Возможен запуск напрямую через Packagist:
- Локально c директорию
composer composer create-project darkflade/tic-tac-toe
- Глобально в путь composer
composer global require wp-cli/wp-cli composer global dump-autoload -o
Игровой процесс
Перед началом партии необходимо выбрать размер игрового поля (от 3 до 10). Игра ведётся крестиками и ноликами: первый ход выполняет игрок, выбранный случайным образом, и ему присваиваются крестики, второму — нолики.
Координаты ячеек вводятся через пробел в формате:
<номер строки> <номер столбца>
Нумерация начинается с 1. Пример ввода для верхнего левого угла поля:
1 1
Если ввод некорректен (например, пробелы лишние, символ не число или ячейка уже занята), программа попросит ввести координаты заново.
Используемые библиотеки
wp-cli/php-cli-tools