파이톤으로 마법 8구 구축 및 플레이

어서 오세요Python Projects for Beginners Series🙋🏻‍♂️
오늘 파이톤으로 전통적인 매직 8 구기 게임을 구축하는 방법을 보여드리겠습니다.😍
너는 이 몸매에 대해 얼마나 흥분했니?시작해보도록 하겠습니다.🚀

우리 오늘 뭐 배울 거예요?


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구는 점치나 조언을 구하는 데 쓰이는 플라스틱 공으로 8구처럼 보인다.사용자는 공에 "예"또는 "아니오"의 문제를 묻고 공을 뒤집어 공의 창에 답을 표시한다🎱
자료 출처: Wikipedia

2. 판타지 8번 공의 내부 메커니즘


빨리 비밀 하나 알려드릴게요.🤫 실제로 마법 8구는 그 안에 박힌 가능한 답안 중 무작위로 답을 골라낸다.실제 처리와 관련이 없다.이 구축에서 우리는 랜덤 모듈을 사용하여 이 마법을 실현할 것이다.

3. 랜덤 모듈, 시간 모듈 및 Pyfiglet 모듈


a, 랜덤 모드


이 게임을 구축하는 데 도움을 주기 위해서, random이라는 파이톤 놀라운 모듈을 사용할 것입니다.랜덤 모듈은 우리를 위해 랜덤 수를 생성한다.이것은 매우 편리하다. 왜냐하면 우리는 우리의 컴퓨터에 편견이 있기를 원하지 않기 때문이다.

b. 시간 모듈


시간 모듈은 각종 시간과 관련된 기능을 제공한다.시스템 시간을 검색하고 화면에 표시합니다.공식 파일 양식here📄에 액세스할 수 있습니다.

c, Pyfiglet 모듈


구축을 시작하기 전에 파이톤의 미학 모듈인 Pyfiglet 모듈을 소개하고 싶습니다.미학 모듈?무슨 뜻이에요?
네, 미학입니다.Pyfiglet 모듈은 코드 한 줄만 있으면 일반적인 텍스트를 창조적인 단어 블록으로 변환할 수 있습니다.다음 그림은 예를 보여 줍니다.

pyfiglet을 시스템에 설치하려면 터미널을 열고 다음 명령을 입력합니다.
pip install pyfiglet

4. 인코딩 시간



첫 번째 단계는 필수 모듈을 가져오는 것입니다.
# importing the required libraries
import random
import pyfiglet
import time
게임 유저에게 인사를 하고 그들의 이름을 입력으로 하는magic8ball()이라는 함수를 정의합시다.
다음과 같이 define 문을 사용하여 함수를 정의합니다.
# defining function magic8ball()
def magic8ball():
이magic8ball () 함수에서 Pyfiglet 모듈로 만든 신기한 8구 디자인을 출력합니다.
# 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()
다른 함수에서 한 함수를 호출하는 과정을 귀속이라고 한다.
신기한 질문을 정의합시다()
# defining the function magic_questions()
def  magic_questions():
magic questions() 함수에서 Magic8Ball에 처음 저장된 20개의 기본 답안을 answers라는 변수에 저장합니다.랜덤 모듈은 스스로 답을 선택하여 유저에게 표시합니다.
# 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)
답은 무작위로 고른 것이다.우리는 random의randint () 함수를 사용하여 답을 선택합니다.
# printing out a random answer from the list of possible answers
print (answers[random.randint(0, len(answers)-1)] )
3초 지연 후, 우리는 유저에게 다시 시합하고 싶은지 물었다.replay는 다음에 정의할 replay () 함수로 처리됩니다.
time.sleep(3)
# calling the Replay to check if the player wants to play again
Replay()
함수 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에 구축된 최종 소스 코드🎱



우리 이 게임을 한번 해 봅시다!

마술 8 구기 경기의 출력🎱



그것은 인격을 욕되게 하는 것이다😂 적어도 나의 문장은 그 미숙한 사람들에게 가치를 제공할 것이다💯
이 구축에서 우리는 귀속 기능을 광범위하게 사용했다.우리는 이미 우리의 프로그램을 몇 개의 작은 부분으로 나누어 각 부분마다 특정한 임무를 집행했다.그 밖에 우리는 함수에서 함수를 반복해서 호출하여 프로그램 절차의 자동화를 실현한다.만약 유저가 다시 놀고 싶다면, 우리는 순환이 아니라magic questions () 함수를 직접 호출합니다.
원본 코드를 직접 다운로드할 수 있습니다. 이 버전은 myGitHub Repository에서 다운로드할 수 있습니다.
네가 이렇게 할 때, 네가 할 수 있는 대로 이 블로그에 줄 수 있는 가장 큰 사랑을 생각해 봐라. 나는 매주 너에게 이런 가치 폭탄을 줄 것을 보증한다💣 그 전에 조심해야 한다🙋🏻‍♂️

만약 네가 이 문장을 좋아한다면, 나는 너도 좋아할 것이라고 믿는다.


  • 5 Python Projects That Can Be Built Under 5 Minutes 🔢

  • Build a Message Bomber Using Python in Just 6 Lines of Code 📧

  • How to Build a Guessing Number Game Using Python 🤔

  • How to Build a Digital Time Clock Using Python

  • How to Build an Alarm Clock Using Python

  • How to Build an URL Shortener & Expander Using Python 🔗
  • 좋은 웹페이지 즐겨찾기