코드네임 :

[GUI🐟] 숫자 up-down 게임 만들기🔢 🎮 본문

프로그래밍/Python

[GUI🐟] 숫자 up-down 게임 만들기🔢 🎮

비엔 Vien 2023. 5. 17. 14:59

GUI로 숫자 up-down game을 만들어 보았습니도..🐟

 

코드는 아래와 같음

try-except문이랑 justify는 학교에서 안 배웠지만

좀 정갈?? 깔끔??해보이는 결과를 원해서 걍 직접 찾아서 썼다 후후..

 

## updown_GUI.py

import random

from tkinter import *

# 게임 윈도우 생성 및 설정
window = Tk()
window.title("Up-Down 게임")
secret_number = random.randint(1, 100)

num_guesses = 0

# 사용자가 입력한 숫자를 확인하고 결과를 출력하는 함수
def guess_num():
    global num_guesses
    message = ""
    # 정수가 아닌 다른 값을 입력했을 경우 정수를 입력하라는 문구가 뜨도록 try-except문 사용
    try:
        guess = int(entry.get())
    except ValueError:
        message = "정수를 입력해주세요."
        result_label.config(text=message)
        return

    num_guesses += 1

    if guess < 1 or guess > 100:
        message = "1~100 사이의 숫자를 입력해주세요."
    elif guess > secret_number:
        message = "Down! 너무 높아요!!"
    elif guess < secret_number:
        message = "Up! 너무 낮아요!!"
    else:
        message = f"축하합니다! {num_guesses}번 만에 성공했네요"
    
    result_label.config(text=message)

# 게임을 다시 시작하는 함수
def restart_game():
    global secret_number
    global num_guesses
    secret_number = random.randint(1, 100)
    num_guesses = 0
    entry.delete(0, END)
    result_label.config(text="")

# 입력창, 버튼 및 추가 디자인..
title = Label(window, text="  [~ Up-Down Game ~]  ", font=("Impact", 22))
title.pack(pady=8)

instruction = Label(window, text="숫자를 맞춰보세요 (1~100)", font=("Consolas", 13))
instruction.pack(pady=10)

entry = Entry(window, font=("Consolas", 14), justify='center') # 입력 시 숫자가 입력창 중간에 써지도록
entry.pack(pady=5)

result_label = Label(window, text="", fg= 'darkslateblue', font=("Segoe UI Semibold", 13))
result_label.pack(pady=5)

submit = Button(window, text="Submit", font=("Bahnschrift Semibold Condensed", 14), command=guess_num)
submit.pack(pady=1)

restart = Button(window, text="Restart", font=("Bahnschrift Semibold Condensed", 14), command=restart_game)
restart.pack(pady=10)

window.mainloop()

 

 

 

그래서 결과는??

짜잔~~~~ 깔끔해 보이기 위해서 노력한 게 보인당 힛

 

 

정수가 아닌 문자 입력하니 정수 쓰라고 혼낸다

의도한대로 아주 잘 되고 있당

 

빠르게 답을 찾기 위해 중앙값부터 집어넣었다

낮다구?

 

어디까지 가려고 하는거니..;

아직도..?

 

오 80에서 내리라구 한다! 범위가 좁혀졌군..

답 좀 맞춰~

77도 입력했는데 up이라길래 78 입력했더니 6번만에 성공했당🥳

 

 

 

추가로 100 넘어가는 숫자 입력하면 이렇게 뜬다

 

 

그는 좋은 구이🐟였습니다..