Python для начинающих серии (8 части серии)
Добро пожаловать в Python Projects для начинающих сериалов 🙋🏻♂️.
Я Сай Ашиш И сегодня я собираюсь показать вам, как построить традиционную игру Magic 8 Gall, используя Python😍
Насколько у психики вы за эту сборку? Давайте начнем 🚀
Что мы собираемся учиться сегодня?
1. What is the Magic 8 Ball game? 2. Internal Mechanism of Magic 8 Ball 3. The Random Module, the Time module & the Pyfiglet Module 4. Basics of Python: Functions & Recursive Function 5. Implementation of Magic 8 Ball Game using Python with a detailed explanation
1. Что такое волшебный 8 мяч игры?
Волшебный 8-мяч – это пластиковая сфера, сделанная, чтобы выглядеть как восьми шарика, которая используется для того, чтобы рассказывать или искать совет. Пользователь задает вопрос о вашем шаре, затем переворачивает его, чтобы открыть ответ в окне на шаре
Источник: Википедия
2. Внутренний механизм магии 8 мяч
Позвольте мне рассказать вам секретный реальный быстрый На самом деле, волшебный 8 мяч, просто выбирает случайные ответы от пула возможных ответов, встроенных в него. Нет фактической обработки. В этой сборке мы собираемся достичь этой магии с использованием случайного модуля.
3. Случайный модуль, модуль времени и модуль Pyfiglet
a. Случайный модуль
Чтобы помочь нам построить эту игру, мы собираемся использовать удивительный модуль Python, называемый случайным. Случайный модуль генерирует случайные числа для нас. Это попадает в реальное удобное, так как мы не хотим, чтобы наш компьютер быть предвзятым.
b. Модуль времени
Временный модуль обеспечивает различные функции, связанные с временными функциями. Мы используем его, чтобы получить системное время и отобразить его на экране. Вы можете получить доступ к официальной форме документации здесь 📄
c. Модуль pyfiglet.
Прежде чем мы погрузимся в сборку, я хотел бы представить каждому эстетическому модулю Python, модуль Pyfiglet. Эстетический модуль? Что ты имеешь в виду?
Да, эстетика. Модуль Pyfiglet преобразует обычный текст в креативные блоки слов в линейке кода. Примером этого можно увидеть на изображении ниже:
Чтобы установить Pyfiglet в нашу систему, откройте свой терминал и введите следующую команду:
pip install pyfiglet
4. Время К коду
Первый шаг – импортировать необходимые модули:
# importing the required libraries import random import pyfiglet import time
Давайте определим функцию имени Magic8Ball (), которая приветствует игроков игры и принимает свое имя в качестве ввода.
Мы определяем функцию, используя оператор определить как:
# defining function magic8ball() def magic8ball():
Внутри этой функции Magic8Ball (), давайте распечатаем удивительную магию 8 шарикового дизайна, которую мы создали ранее, используя модуль Pyfiglet.
# print aestheic text design print(pyfiglet.figlet_format("Magic 8 Ball"))
Спрашивать игрока для их имени:
# asking for player's name name = input('Hey there, I am the Magic 8 Ball, What is your name?')
Приветствие игрока:
# greeting the player print('Hello ' + name + '!')
Внутри этой функции давайте позвоним другую функцию под названием Magic_Questions ()
# calling the magic_questions() function to ask for question and give magic response magic_questions()
Процесс вызова одной функции внутри другой функции называется рекурсией.
Давайте определим Magic_Questions ()
# defining the function magic_questions() def magic_questions():
Внутри функции Magic_Questions () мы храним 20 ответов по умолчанию, изначально сохраненные внутри Magic8Ball внутри переменных, называемых ответами. Случайный модуль выберет один из ответов сам по себе и отображает его игроку.
# list of answers the ball replies answers = ["It is certain", "It is decidedly so", "Without a doubt", "Yes, definitely", "You may rely on it", "As I see it, yes", "Most Likely", "Outlook Good", "Yes", "Signs point to yes", "Reply hazy, try again", "Ask again later", "Better not tell you now", "Cannot predict now", "Concentrate and ask again", "Don't count on it", "My reply is no", "My sources say no", "Outlook not so good", "Very Doubtful"]
Теперь мы хотим попросить пользователю ввести свой вопрос с целью того, что стремление к заявлению/советам. К сожалению, ответы случайные и не относящиеся к вопросам любым способом. Поэтому мы бы попросили пользователей вклад, но не храним его нигде.
input('Ask me a question ')
Чтобы моделировать ощущение реальной игры, давайте добавим какой-нибудь текст и задержку между ними, чтобы казалось, что компьютер на самом деле думает и генерирует возможный ответ!
# simulating the thinking process print("Thinking...") time.sleep(1) print("Gathering possible answer...") time.sleep(2)
Ответ выбирается случайным образом. Мы используем функцию RARDINT () случайного, чтобы выбрать ответы.
# printing out a random answer from the list of possible answers print (answers[random.randint(0, len(answers)-1)] )
После задержки 3 секунды мы просим игрока, если они хотят играть снова. Воспроизведение будет позаботиться о функции воспроизведения (), которую мы собираемся определить дальше.
time.sleep(3) # calling the Replay to check if the player wants to play again Replay()
Определение воспроизведения функций ():
# defining the Replay function() def Replay():
Мы просим игрока, если они захотят снова воспроизводить и хранить ответ в нижнем регистре, используя функцию ниже ().
# asking the player's interest in playing again print ('Do you have another question? [Yes/No] ') # converting the response to lower case to avoid capitalisation issues reply = input().lower()
Если пользователь хочет сыграть снова, мы перенаправляем его на функцию Magic_Questions (), и игра возобновляет то же самое из этой точки. Если нет, мы остановим выполнение программы, используя функцию EXIT (). Если пользователь вступает в что-нибудь еще, мы просим пользователя повторно ввести свой выбор, так как было не понятно. Преимущество использования нижней части) функции в вышеупомянутой линии заключалась в том, что если игрок вводит свой ответ, но неуклюжий о капитализации, его можно было позаботиться о.
# if yes, resume the game again from the question-answer part if reply == 'yes': magic_questions() # if no, stop the execution of the program elif reply == 'no': exit() # in case of an invalid response, ask the player to enter a valid choice else: print('Apologies, Please enter Yes or a No.') Replay()
Наконец, мы называем функцию Magic8Ball () для выполнения нашей игры.
# calling the magic8ball() function to recursively activate the other functions too magic8ball()
Окончательный исходный код для Magic 8 Ball Build🎱
Давайте попробуем игру!
Выход для Magic 8 Ball Game🎱
Это было снижение 😂, по крайней мере, мои статьи оказывают бы ценность удивительным людям там 💯
В этой сборке мы широко использовали силу рекурсии. Мы разделили нашу программу в небольшие куски, каждый из которых выполняет определенную задачу. Кроме того, мы рекурсивно называли функциями внутри функций для рода автоматизации потока нашей программы. Вместо цикла мы напрямую называем функцию Magic_Questions (), если игрок хочет играть снова.
Вы можете напрямую загрузить исходный код в эту сборку можно скачать с моего Репозиторий GitHub Отказ
И пока вы на этом, подумайте о том, чтобы дать этот блог Максимума любви, которую вы можете, и я обещаю дать вам такие ценные бомбы каждую неделю 💣 До тех пор позаботьтесь 🙋🏻♂️
Если вам понравилась эта статья, я уверен, что вы тоже понравились:
- 5 проектов Python, которые могут быть построены до 5 минут 🔢.
- Постройте сообщение Bomber, используя Python всего за 6 строк кода 📧.
- Как построить ядерное число игры с помощью Python 🤔.
- Как построить цифровые часы времени с помощью Python ⏲
- Как построить будильник с помощью Python ⏳.
- Как построить коробка и расширитель URL-адреса с помощью Python 🔗
Python для начинающих серии (8 части серии)
Оригинал: “https://dev.to/theinsightfulcoder/build-play-the-magic-8-ball-game-using-python-3lb0”