dmitryeskin1/guess-number

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

v1.3 2022-12-04 16:30 UTC

This package is auto-updated.

Last update: 2024-05-04 19:38:36 UTC


README

Написать программу для игры "Угадай число" (guess-number). Компьютер загадывает число в диапазоне от 1 до максимального числа, заданного в настройках. Игрок должен угадать это число за несколько попыток (максимальное количество попыток задано в настройках). После каждой попытки компьютер сообщает, было ли введенное числе больше или меньше загаданного.

  • В программе реализованы шесть режимов, которым соответствуют ключи:

    • --new. Новая игра.
    • --list. Вывод списка всех сохраненных игр.
    • --list winners. Вывод списка всех игр, в которых победил человек.
    • --list looser. Вывод списка всех игр, в которых человек проиграл.
    • --top. Вывод статистики по игрокам. Для каждого игрока нужно считается количество побед и проигрышей, список сортируется по количеству побед (первые позиции занимают игроки с наибольшим количеством побед).
    • --replay id. Повтор игры с идентификатором id.
  • Информация о датах и исходах всех партий, а также о всех попытках, сделанных во время игры, должна сохраняться в базе данных.

  • Для каждой игры в базе должна храниться следующая информация:

    • Дата игры
    • Имя игрока
    • Максимально возможное число
    • Загаданное компьютером число
    • Исход игры (угадал/не угадал)
    • Запись попыток в формате: номер попытки | предложенное число | ответ компьютера
  • В программе должны быть реализованы шесть режимов:

    • Новая игра.
    • Вывод списка всех сохраненных игр.
    • Вывод списка всех игр, в которых победил человек.
    • Вывод списка всех игр, в которых человек проиграл.
    • Вывод статистики по игрокам. Для каждого игрока нужно считается количество побед и проигрышей, список сортируется по количеству побед (первые позиции занимают игроки с наибольшим количеством побед).
    • Повтор любой сохранённой партии (то есть повтор всех ходов из этой партии).

    База данных

  • Информация об играх и всех ходах сохраняется автоматически в базу данных GN.db, находящуюся в каталоге bin.

  • Для просмотра данных из БД используйте командную строку и запускайте файл guess-number.php находящийся в каталоге bin со следующими коммандами:

    • Для просмотра всех игр используйте комманду --list.
    • --list winners. Вывод списка всех игр, в которых победил человек.
    • --list looser. Вывод списка всех игр, в которых человек проиграл.
    • --top. Вывод статистики по игрокам. Для каждого игрока нужно считается количество побед и проигрышей, список сортируется по количеству побед (первые позиции занимаю игроки с наибольшим количеством побед).
    • --replay id. Повтор игры с идентификатором id.

    Требования

    Минимальная версия PHP: 7.4 и выше
    Минимальная версия Composer: 2.1.6
    Установленный RedBean ORM

    Инструкция по установке и запуску игры

    Из Github:

  1. Склонировать проект на локальную машину;
  2. Установить composer, если он не установлен;
  3. Перейти в корневой каталог;
  4. Выполнить в консоли команду composer install для установки RedBean ORM;
  5. Выполнить в консоли команду composer update;
  6. Перейти в каталог bin из корнегого каталога и запустить файл guess-number.bat.

Из Packagist:

  1. Установить composer, если он не установлен;
  2. Перейти в каталог, в который вы будете клонировать проект;
  3. Выполнить команду composer require dmitryeskin1/guess-number;
  4. Перейти в каталог vendor/bin;
  5. Запустить файл guess-number.bat.

Ссылки

Packagist: https://packagist.org/packages/dmitryeskin1/guess-number