Добро пожаловать в Brain-games!
Реализация кода разделена на 3 ветви: движок игры, сама логика игры и скрипт запуска определенной игры.
В движок игры вынесены основные операции, которые повторяются в играх, т.е. приветствие с просьбой ввести имя игрока, вывод в терминал правила игры, получение правильного ответа и вопроса для игрока и сравнение правильного ответа с ответом игрока. А так же, в движке идет подсчет количества победных раундов. В каждой игре всегда по 3 раунда. Чтобы выиграть надо ответить правильно 3 раза подряд, любая ошибка и игра заканчивается.
К существующим играм, можно добавлять и свою игру, движок их правильно обработает, если соблюдать некоторые правила:
- Сама игра должна возвращать правильный ответ (переменная result) для сравнения с ответом пользователя и вопрос игры (переменная question);
- Переменные result и question должны быть обязательно строковым типом;
- Для описания правил игры можно использовать глобальную константу QUESTION. При запуске игры, после приветствия и ответа пользователя движок выводит в терминал содержимое этой константы;
- Ответ игрока движок ожидает строкового типа, чтобы сравнивать с правильным ответом;
- Ответ игрока не зависит от регистра букв, движок переделывает ответ игрока в строчные буквы. Поэтому при создании игры это надо учитывать.
Игры запускаются через зараннее записанные скрипты. Скрипт вызывает главную функцию из движка (checking_result) и передает в него параметр - название игры, который мы импортирует из папки с играми.
В проекте можно вызывать следующие команды:
- make build - собрать программу
- make publish - отладить
- make package-install - установить программу
- make package-reinstall - переустановка программы
- make install - установка poetry
- make brain-even - запуск игры нахождения четного/нечетного числа
- make brain-calc - запуск игры решения математических выражений
- make brain-gcd - запуск игры нахождения НОД (наименьший общий делитель)
- make brain-progression - запуск игры угадывания пропущенного числа
- make brain-prime - запуск игры проверки на простое число
- make lint - проверка чистоты кода через линтер flake8
Для работы проекта использовались следующие программы и их версии:
- python, версии выше 3.8
- prompt, версии выше 0.4
- poetry, вырсия выше 1.2
- flake8, версия выше 6.0
Ниже приведены аскинемы по запуску, выигрышу и проигрышу в различных играх:
Демонстрация сборки, отладки и переустановки программы:
Игра brain-even. Демонстрация запуска, выигрыша и проигрыша в игре:
Игра brain-calc. Демонстрация запуска, выигрыша и проигрыша в игре:
Игра brain-gcd. Демонстрация запуска, выигрыша и проигрыша в игре:
Игра brain-progression. Демонстрация запуска, выигрыша и проигрыша в игре:
Игра brain-prime. Демонстрация запуска, выигрыша и проигрыша в игре: