Рубрики
Без рубрики

Build & Play Magic 8 Ball Game с помощью Python

Добро пожаловать в проекты Python для начинающих серии🙋🏻♂️🙋🏻♂️ Я Sai Ashish и сегодня я собираюсь показать вам … Помечено новичками, компьютерами, Python, программированием.

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 Отказ

И пока вы на этом, подумайте о том, чтобы дать этот блог Максимума любви, которую вы можете, и я обещаю дать вам такие ценные бомбы каждую неделю 💣 До тех пор позаботьтесь 🙋🏻♂️

Если вам понравилась эта статья, я уверен, что вы тоже понравились:

Python для начинающих серии (8 части серии)

Оригинал: “https://dev.to/theinsightfulcoder/build-play-the-magic-8-ball-game-using-python-3lb0”