v1.0.2
2026-02-07 16:15 UTC
Requires
- wp-cli/php-cli-tools: ^0.12.7
Requires (Dev)
This package is not auto-updated.
Last update: 2026-03-22 14:58:12 UTC
README
GCD Game (Наибольший общий делитель)
Консольная игра на PHP: по двум случайным целым числам нужно вычислить НОД и ввести его в терминале.
Проект выполнен в рамках дисциплины
«Технологии разработки серверных приложений на PHP».
Возможности
- Меню приложения:
- Играть
- Посмотреть прошлые партии
- Выход
- Во время игры:
- запрашивается имя игрока;
- показываются два случайных числа;
- пользователь вводит НОД;
- выводится результат (верно/неверно) и правильный ответ.
- При наличии PDO SQLite результаты сохраняются в базе данных и доступны для просмотра.
Что сохраняется в базе данных
Для каждой партии фиксируется:
- дата и время;
- имя игрока;
- предложенные числа;
- ответ игрока;
- верно/неверно.
Требования
- PHP 8.0+
- Composer
- (опционально) расширение pdo_sqlite — для сохранения истории
Установка (локально из репозитория)
composer install composer dump-autoload -o
Запуск
Из корня проекта:
php bin/GCD
Если файл bin/GCD сделан исполняемым:
./bin/GCD
Установка через Packagist
composer require nevall-von-goodem/gcd
После установки запуск:
./vendor/bin/GCD
Если ставите глобально (
composer global require ...), убедись, что директория Composer globalbinдобавлена вPATH.
Просмотр прошлых партий
Выбери пункт 2 в меню.
Формат вывода: время | игрок | числа | ответ | верно/неверно.
Хранение данных (SQLite)
По умолчанию база создаётся автоматически:
- Linux/macOS:
~/.gcd/gcd.sqlite - Windows:
%USERPROFILE%\.gcd\gcd.sqlite
Структура проекта
GCD/
├── bin/
│ └── GCD # запускной скрипт
├── src/
│ ├── Controller.php # меню и управление сценарием
│ ├── View.php # ввод/вывод
│ ├── Model.php # алгоритм НОД + генерация раундов
│ └── Db.php # SQLite(Pdo) — сохранение/история
├── composer.json
├── README.md
└── .gitignore
Архитектура
Используется MVС подход:
- Controller — сценарий (меню, запуск игры, сохранение результатов)
- View — вывод и ввод в консоли
- Model — логика (НОД, генерация вопросов)
- Db — работа с SQLite через PDO
Стандарты кодирования
Код оформлен по:
- PSR-1
- PSR-12
Локальная проверка (PHP CodeSniffer):
vendor/bin/phpcs --standard=PSR12 src bin
Используемые зависимости
wp-cli/php-cli-tools— удобный ввод/вывод в CLIsquizlabs/php_codesniffer— проверка стиля (dev)
Автор
Nevall von Goodem
GitHub: Nevall-von-Goodem