Pré-requisito: Python GUI Tkinter

O TKinter é amplamente utilizado para o desenvolvimento de aplicativos GUI. Junto com os aplicativos, também podemos usar a GUI do Tkinter para desenvolver jogos.

Vamos tentar fazer um jogo usando o Tkinter. Neste jogo, o jogador deve inserir a cor da palavra que aparece na tela e, portanto, a pontuação aumenta em um, o tempo total para jogar este jogo é de 30 segundos. As cores usadas neste jogo são Vermelho, Azul, Verde, Rosa, Preto, Amarelo, Laranja, Branco, Roxo e Marrom. A interface exibirá o nome de cores diferentes em cores diferentes. O jogador deve identificar a cor e inserir o nome correto da cor para ganhar o jogo.
 
Abaixo está a implementação do jogo acima:

import tkinter 
import random 
colours = ['Red','Blue','Green','Pink','Black', 
           'Yellow','Orange','White','Purple','Brown'] 
score = 0
timeleft = 30
def startGame(event): 
      
    if timeleft == 30: 
        
        countdown() 
          
    
    
    nextColour() 
def nextColour(): 
  
    
    
    global score 
    global timeleft 
  
    
    if timeleft > 0: 
        e.focus_set() 
      if e.get().lower() == colours[1].lower(): 
                score += 1
        e.delete(0, tkinter.END) 
        random.shuffle(colours) 
        
      label.config(fg = str(colours[1]), text = str(colours[0])) 
        
        scoreLabel.config(text = "Score: " + str(score)) 
  
  
def countdown(): 
  
    global timeleft 
  
    
    if timeleft > 0: 
        timeleft -= 1
        
        timeLabel.config(text = "Time left: "
                               + str(timeleft)) 
                               
        timeLabel.after(1000, countdown) 
  
  
  
root = tkinter.Tk() 
root.title("COLORGAME") 
root.geometry("375x200") 
instructions = tkinter.Label(root, text = "Type in the colour"
                        "of the words, and not the word text!", 
                                      font = ('Helvetica', 12)) 
instructions.pack()  
scoreLabel = tkinter.Label(root, text = "Press enter to start", 
                                      font = ('Helvetica', 12)) 
scoreLabel.pack() 
timeLabel = tkinter.Label(root, text = "Time left: " +
              str(timeleft), font = ('Helvetica', 12)) 
                
timeLabel.pack() 
label = tkinter.Label(root, font = ('Helvetica', 60)) 
label.pack() 
e = tkinter.Entry(root) 
root.bind('<Return>', startGame) 
e.pack() 
e.focus_set() 
root.mainloop() 

Resultado :

Nota: O código acima pode não funcionar no IDE online por causa do módulo TKinter.