컴퓨터가 무작위로 생성한 숫자를 사용자가 맞추는 게임을 만들어 보겠습니다.
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()
-----------------------------------------------
코드 설명:
- import random: random 모듈을 가져와 무작위 숫자를 생성합니다.
- 숫자_맞추기_게임() 함수: 게임의 전체 로직을 포함합니다.
- 정답 = random.randint(1, 100): 1부터 100 사이의 무작위 정수를 정답 변수에 저장합니다.
- 시도_횟수 = 0: 사용자의 시도 횟수를 저장하는 변수를 초기화합니다.
- print("1부터 100 사이의 숫자를 맞춰보세요!"): 게임 시작 메시지를 출력합니다.
- while True:: 무한 루프를 시작하여 사용자가 정답을 맞출 때까지 반복합니다.
- try...except ValueError:: 사용자 입력이 숫자가 아닌 경우 ValueError 예외를 처리합니다.
- 추측 = int(input("숫자를 입력하세요: ")): 사용자로부터 숫자를 입력받아 정수로 변환합니다.
- 시도_횟수 += 1: 시도 횟수를 1 증가시킵니다.
- if 추측 < 정답:: 추측한 숫자가 정답보다 작은 경우 "너무 작습니다!" 메시지를 출력합니다.
- elif 추측 > 정답:: 추측한 숫자가 정답보다 큰 경우 "너무 큽니다!" 메시지를 출력합니다.
- else:: 추측한 숫자가 정답과 같은 경우 "축하합니다!" 메시지를 출력하고 루프를 종료합니다.
- 숫자_맞추기_게임(): 게임을 실행합니다.
실행 방법:
- 위 코드를 파이썬 파일 (예: number_guessing_game.py)로 저장합니다.
- 터미널 또는 명령 프롬프트에서 해당 파일이 있는 디렉토리로 이동합니다.
- python number_guessing_game.py 명령어를 실행합니다.
추가 기능:
- 난이도 조절: 숫자 범위 (예: 1부터 50, 1부터 200)를 변경하여 난이도를 조절할 수 있습니다.
- 시도 횟수 제한: 사용자가 시도할 수 있는 횟수를 제한할 수 있습니다.
- 힌트 제공: 사용자가 어려워하는 경우 힌트를 제공할 수 있습니다. (예: "정답은 짝수입니다.")
- 게임 재시작: 게임이 종료된 후 다시 시작할 수 있는 기능을 추가할 수 있습니다.
이 코드는 사용자 입력, 조건문, 반복문을 연습하는 데 도움이 될 것입니다. 추가 기능을 구현하여 게임을 더욱 재미있게 만들어 보세요!
댓글 없음:
댓글 쓰기