Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 Tkinter를 사용한 컬러 게임

<시간/>

GUI 애플리케이션 개발을 위해 tkinter는 매우 유명하고 쉽습니다. tkinter를 사용하면 GUI 게임을 쉽게 개발할 수 있습니다.

여기에서도 우리는 컬러 게임을 개발하려고 노력하고 있습니다. 이 게임에서 플레이어는 화면에 나타나는 단어의 색상을 입력해야 하므로 점수가 1 증가합니다. 이 게임을 하는 데 걸리는 총 시간은 30초이고 이 게임에서 사용되는 색상은 빨강, 파랑, 녹색, 분홍색, 블랙, 옐로우, 오렌지, 화이트, 퍼플, 브라운. 인터페이스는 다른 색상의 다른 색상 이름을 표시합니다. 게임에서 승리하려면 사용자가 색상을 식별하고 올바른 색상 이름을 입력해야 합니다.

예시 코드

import tkinter
import random
# list of colour.
my_colours = ['Red','Blue','Green','Pink','Black','Yellow','Orange','White','Purple','Brown']
my_score = 0
my_timeleft = 30
def my_startGame(event):
   if my_timeleft == 30:
      # start the countdown timer.
      my_countdown()
   my_nextColour()
def my_nextColour():
   global my_score
   global my_timeleft
   # if a game is currently in play
   if my_timeleft > 0:
      e.focus_set()
      if e.get().lower() == my_colours[1].lower():
         my_score += 1
      # clear the text entry box.
      e.delete(0, tkinter.END)
      random.shuffle(my_colours)
      label.config(fg = str(my_colours[1]), text = str(my_colours[0]))
      # update the score.
      my_scoreLabel.config(text = "Score: " + str(my_score))
# Countdown timer function
def my_countdown():
   global my_timeleft
   # if a game is in play
   if my_timeleft > 0:
      # decrement the timer.
      my_timeleft -= 1
      # update the time left label
      timeLabel.config(text = "Time left: "+ str(my_timeleft))
      # run the function again after 1 second.
      timeLabel.after(1000, my_countdown)
# Driver Code
root = tkinter.Tk()
root.title("COLORGAME")
root.geometry("375x200")
my_instructions = tkinter.Label(root, text = "Type in the color" "of the words, and not the word text!",
   font = ('Helvetica', 12))
my_instructions.pack()
my_scoreLabel = tkinter.Label(root, text = "Press enter to start",
   font = ('Helvetica', 12))
my_scoreLabel.pack()
my_timeLabel = tkinter.Label(root, text = "Time left: " +
   str(my_timeleft), font = ('Helvetica', 12))
my_timeLabel.pack()
label = tkinter.Label(root, font = ('Helvetica', 60))
label.pack()
e = tkinter.Entry(root)
root.bind('<Return>', my_startGame)
e.pack()
e.focus_set()
# start the GUI
root.mainloop()

출력

<중앙> Python에서 Tkinter를 사용한 컬러 게임 <중앙> Python에서 Tkinter를 사용한 컬러 게임