piratthebest/guess-number

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

v0.4 2022-01-19 19:29 UTC

This package is auto-updated.

Last update: 2024-04-20 00:19:17 UTC


README

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

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

Ход игры

  1. Сначала вам нужно будет ввести свое имя;
  2. Далее компьютер загадает число от 1 до числа указанного в настройках игры;
  3. За определенное кол-во попыток вам необходимо будет отгадать число;
  4. В зависимости отгадали вы число или нет игра вам предложит "попробуем еще раз?" и вам необходимо будет ввести "n" - согласен или "y" - не согласен.
  • Информация о датах и исходах всех партий, а также о всех попытках, сделанных во время игры, должна сохраняться в базе данных.
  • Для каждой игры в базе должна храниться следующая информация:
    • Дата игры
    • Имя игрока
    • Загаданное компьютером число
    • Исход игры (угадал/не угадал)
    • Запись попыток в формате: Номер попытки | Выбранное число | Ответ компьютера
  • Режим работы приложения должны определяться при запуске по аргументам командной строки:
    • --new. Новая игра.
    • --list. Вывод списка всех сохраненных игр.
    • --list win. Вывод списка всех игр, в которых победил человек.
    • --list loose. Вывод списка всех игр, в которых человек проиграл.
    • --top. Вывод статистики по игрокам. Для каждого игрока нужно посчитать количество побед и проигрышей, список отсортировать по количеству побед (чемпионы располагаются вверху списка).
    • --replay id. Повтор игры с идентификатором id.

База данных

  • Информация об играх и всех ходах сохраняется автоматически в базу данных gameGuessNumber.db, находящуюся в каталоге bin.
  • Для просмотра данных из БД используйте командную строку и запускайте файл guess-number.php находящийся в каталоге bin со следующими коммандами:
    • Для просмотра всех игр используйте комманду --list.
    • --list win. Вывод списка всех игр, в которых победил человек.
    • --list loose. Вывод списка всех игр, в которых человек проиграл.
    • --top. Вывод статистики по игрокам. Для каждого игрока нужно посчитать количество побед и проигрышей, список отсортировать по количеству побед (чемпионы располагаются вверху списка).
    • --replay id. Повтор игры с идентификатором id.

Требования

Минимальная версия PHP: 7.4.7
Минимальная версия Composer: 1.9.3

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

Из Github:

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

Из Packagist:

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

Ссылки

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