파이썬 기초 : 숫자 맞추기 게임을 제작해 보자

 컴퓨터가 무작위로 생성한 숫자를 사용자가 맞추는 게임을 만들어 보겠습니다.



import tkinter as tk
import random

class 숫자_맞추기_게임:
    def __init__(self, master):
        self.master = master
        master.title("숫자 맞추기 게임")

        self.정답 = random.randint(1, 100)
        self.시도_횟수 = 0

        self.label = tk.Label(master, text="1부터 100 사이의 숫자를 맞춰보세요!")
        self.label.pack()

        self.entry = tk.Entry(master)
        self.entry.pack()

        self.button = tk.Button(master, text="확인", command=self.확인_버튼_클릭)
        self.button.pack()

        self.결과_label = tk.Label(master, text="")
        self.결과_label.pack()

    def 확인_버튼_클릭(self):
        try:
            추측 = int(self.entry.get())
            self.시도_횟수 += 1

            if 추측 < self.정답:
                self.결과_label.config(text="너무 작습니다! 더 큰 숫자를 입력하세요.")
            elif 추측 > self.정답:
                self.결과_label.config(text="너무 큽니다! 더 작은 숫자를 입력하세요.")
            else:
                self.결과_label.config(text=f"축하합니다! {self.시도_횟수}번 만에 숫자를 맞추셨습니다.")
                self.button.config(state=tk.DISABLED)  # 버튼 비활성화
                self.entry.config(state=tk.DISABLED) # 입력창 비활성화

        except ValueError:
            self.결과_label.config(text="잘못된 입력입니다. 숫자를 입력해주세요.")

root = tk.Tk()
게임 = 숫자_맞추기_게임(root)
root.mainloop()
-----------------------------------------------
코드 설명:

  1. import random: random 모듈을 가져와 무작위 숫자를 생성합니다.
  2. 숫자_맞추기_게임() 함수: 게임의 전체 로직을 포함합니다.
  3. 정답 = random.randint(1, 100): 1부터 100 사이의 무작위 정수를 정답 변수에 저장합니다.
  4. 시도_횟수 = 0: 사용자의 시도 횟수를 저장하는 변수를 초기화합니다.
  5. print("1부터 100 사이의 숫자를 맞춰보세요!"): 게임 시작 메시지를 출력합니다.
  6. while True:: 무한 루프를 시작하여 사용자가 정답을 맞출 때까지 반복합니다.
  7. try...except ValueError:: 사용자 입력이 숫자가 아닌 경우 ValueError 예외를 처리합니다.
  8. 추측 = int(input("숫자를 입력하세요: ")): 사용자로부터 숫자를 입력받아 정수로 변환합니다.
  9. 시도_횟수 += 1: 시도 횟수를 1 증가시킵니다.
  10. if 추측 < 정답:: 추측한 숫자가 정답보다 작은 경우 "너무 작습니다!" 메시지를 출력합니다.
  11. elif 추측 > 정답:: 추측한 숫자가 정답보다 큰 경우 "너무 큽니다!" 메시지를 출력합니다.
  12. else:: 추측한 숫자가 정답과 같은 경우 "축하합니다!" 메시지를 출력하고 루프를 종료합니다.
  13. 숫자_맞추기_게임(): 게임을 실행합니다.

실행 방법:

  • 위 코드를 파이썬 파일 (예: number_guessing_game.py)로 저장합니다.
  • 터미널 또는 명령 프롬프트에서 해당 파일이 있는 디렉토리로 이동합니다.
  • python number_guessing_game.py 명령어를 실행합니다.

추가 기능:

  1. 난이도 조절: 숫자 범위 (예: 1부터 50, 1부터 200)를 변경하여 난이도를 조절할 수 있습니다.
  2. 시도 횟수 제한: 사용자가 시도할 수 있는 횟수를 제한할 수 있습니다.
  3. 힌트 제공: 사용자가 어려워하는 경우 힌트를 제공할 수 있습니다. (예: "정답은 짝수입니다.")
  4. 게임 재시작: 게임이 종료된 후 다시 시작할 수 있는 기능을 추가할 수 있습니다.

이 코드는 사용자 입력, 조건문, 반복문을 연습하는 데 도움이 될 것입니다. 추가 기능을 구현하여 게임을 더욱 재미있게 만들어 보세요!

Comments