alexsimonovgit / gcd
Requires
- wp-cli/php-cli-tools: ^0.12.8
Requires (Dev)
This package is auto-updated.
Last update: 2026-03-18 09:01:40 UTC
README
Консольное PHP-приложение (GCD) GCD Game (Наибольший общий делитель) Консольная игра на 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 alexsimonovgit/gcd После установки запуск:
./vendor/bin/GCD Если ставите глобально (composer global require ...), убедитесь, что директория Composer global bin добавлена в 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 — удобный ввод/вывод в CLI squizlabs/php_codesniffer — проверка стиля (dev) Автор AlexSimonovGit GitHub: AlexSimonovGit