Juego Pygame

Este pequeño juego se podría considerar para practicar colores en inglés, ya que mustra un texto de un color y se debe ingresar el nombre del color del texto, juntando la mayor cantidad de puntos en 30 segundos, debido a que el lenguaje de python esta basado en inglés, es necesario escribir el nombre del color en inglés.


import tkinter
import random

# lista de posibles colores
colores = ['Red', 'Blue', 'Green', 'Pink', 'Black', 'Yellow', 'Orange', 'White', 'Purple', 'Brown']
# el puntaje del jugador comienza en cero
puntaje = 0
# la duracion del juego es de 30 segundos
tiempo = 30


# funcion que inicia el juego
def iniciarjuego(event):
    if tiempo == 30:
        # se inicia la cuenta regresiva
        cuentaregresiva()

    # se inicializa la proxima funcion
    siguientecolor()


# funcion que ecoge y muestra el siguiente color
def siguientecolor():
    # se utilizan las variables iniciales
    global puntaje
    global tiempo

    # si el juego esta en funcionamiento...
    if tiempo > 0:
        # ...reactiva la caja de texto
        entrada.focus_set()
        # si el color escrito es igual al del texto...
        if entrada.get().lower() == colores[1].lower():
            # ...se suma un punto
            puntaje += 1

        # despues de ingresar la respuesta, se borra el texto en la caja
        entrada.delete(0, tkinter.END)
        # se barajean los nuevos colores
        random.shuffle(colores)
        # se muestra el nombre del color con texto de distinto color
        etiqcolor.config(fg=str(colores[1]), text=str(colores[0]))
        # actualiza la puntuacion
        etiqpuntaje.config(text="Puntaje: " + str(puntaje))


# funcion que realiza una cuenta regresiva
def cuentaregresiva():
    global tiempo
    # si el juego esta en funcionamiento...
    if tiempo > 0:
        # ...se disminuye el tiempo
        tiempo -= 1
        # se va actualizando el tiempo restante
        etiqtiempo.config(text="Tiempo restante: " + str(tiempo))
        # reinicia la funcion
        etiqtiempo.after(1000, cuentaregresiva)


# VENTANA TK
ventana = tkinter.Tk()
ventana.title("Juego de Colores")
ventana.geometry("510x250")
ventana.config(bg='misty rose')

# ETIQUETA DE INSTRUCCIONES
instrucciones = tkinter.Label(ventana, text="Escribe en ingles el color de la palabra, no el texto que aparece!",font=('Century Gothic', 12, "bold",),background="misty rose")
instrucciones.pack()

# ETIQUETA DE PUNTAJE
etiqpuntaje = tkinter.Label(ventana, text="Presiona Enter para comenzar", font=('Century Gothic', 12,"bold"),background="misty rose")
etiqpuntaje.pack()

# ETIQUETA DE TIEMPO
etiqtiempo = tkinter.Label(ventana, text="Tempo restante: " + str(tiempo), font=('Century Gothic', 12,"bold"),background="misty rose")
etiqtiempo.pack()

# ETIQUETA QUE MUESTRA LOS COLORES
etiqcolor = tkinter.Label(ventana, font=('Century Gothic', 60,"bold"),background="misty rose")
etiqcolor.pack()

# ENTRADA PARA LA RESPUESTA
entrada = tkinter.Entry(ventana)
# comenzar el juego cuando se la click a enter
ventana.bind('<Return>', iniciarjuego)
entrada.pack()
# enfocarse en la caja de texto
entrada.focus_set()

# iniciar el programa
ventana.mainloop()








Comentarios

Entradas populares de este blog

3. Suma, resta y multiplicaión en Tkinter

2. Creación de figuras con Tkinter

Evaluación de la Unidad 1: Introducción a los ambientes de graficación (TEORÍA)