Pagina de prueba

import tkinter as tk import random # Datos de los animales con su especie y ambiente animales = { "León": ("Mamífero", "Sabana"), "Tiburón": ("Pez", "Océano"), "Águila": ("Ave", "Montañas"), "Elefante": ("Mamífero", "Sabana"), "Pingüino": ("Ave", "Regiones polares"), "Serpiente": ("Reptil", "Selva"), "Cocodrilo": ("Reptil", "Ríos y pantanos"), "Ballena": ("Mamífero", "Océano"), "Lobo": ("Mamífero", "Bosques"), "Camaleón": ("Reptil", "Selva"), "Caballo": ("Mamífero", "Praderas"), "Gorila": ("Mamífero", "Selva"), "Delfín": ("Mamífero", "Océano"), "Cóndor": ("Ave", "Montañas"), "Rana": ("Anfibio", "Humedales"), "Pulpo": ("Molusco", "Océano"), "Jaguar": ("Mamífero", "Selva"), "Canguro": ("Mamífero", "Desierto"), "Tortuga": ("Reptil", "Océano"), "Zorro": ("Mamífero", "Bosques") } # Generar preguntas def generar_preguntas(): preguntas_especie = [] preguntas_ambiente = [] animales_lista = list(animales.keys()) for _ in range(30): animal = random.choice(animales_lista) especie_correcta, ambiente_correcto = animales[animal] opciones_especie = list(set(especie for especie, _ in animales.values())) opciones_especie.remove(especie_correcta) alternativas_especie = random.sample(opciones_especie, 2) + [especie_correcta] random.shuffle(alternativas_especie) opciones_ambiente = list(set(ambiente for _, ambiente in animales.values())) opciones_ambiente.remove(ambiente_correcto) alternativas_ambiente = random.sample(opciones_ambiente, 2) + [ambiente_correcto] random.shuffle(alternativas_ambiente) preguntas_especie.append((animal, especie_correcta, alternativas_especie)) preguntas_ambiente.append((animal, ambiente_correcto, alternativas_ambiente)) return preguntas_especie, preguntas_ambiente # Función para verificar respuestas def verificar_respuesta(indice, seleccion, tipo): global correctas, incorrectas, fase correcta = preguntas_especie[indice][1] if tipo == "especie" else preguntas_ambiente[indice][1] for boton in botones: if boton["text"] == correcta: boton.config(bg="lightgreen") # Respuesta correcta en verde elif boton["text"] == seleccion: boton.config(bg="lightcoral") # Respuesta incorrecta en rojo if seleccion == correcta: correctas += 1 else: incorrectas += 1 ventana.after(1000, lambda: siguiente_pregunta(indice + 1, tipo)) # Espera 1 segundo antes de la siguiente pregunta # Mostrar siguiente pregunta def siguiente_pregunta(indice, tipo): global fase for boton in botones: boton.config(bg="SystemButtonFace") # Restablecer color de los botones if tipo == "especie": if indice < len(preguntas_especie): pregunta_label.config(text=f"¿A qué especie pertenece {preguntas_especie[indice][0]}?") for i, boton in enumerate(botones): boton.config(text=preguntas_especie[indice][2][i], command=lambda i=i: verificar_respuesta(indice, preguntas_especie[indice][2][i], "especie")) else: fase = "ambiente" siguiente_pregunta(0, "ambiente") elif tipo == "ambiente": if indice < len(preguntas_ambiente): pregunta_label.config(text=f"¿En qué ambiente se desarrolla {preguntas_ambiente[indice][0]}?") for i, boton in enumerate(botones): boton.config(text=preguntas_ambiente[indice][2][i], command=lambda i=i: verificar_respuesta(indice, preguntas_ambiente[indice][2][i], "ambiente")) else: pregunta_label.config(text=f"Juego terminado.\nCorrectas: {correctas}\nIncorrectas: {incorrectas}") for boton in botones: boton.pack_forget() # Configuración de la ventana ventana = tk.Tk() ventana.title("Quiz de Animales by orlas.cl mayo 2025") pregunta_label = tk.Label(ventana, text="", font=("Arial", 50)) pregunta_label.pack(pady=10) botones = [tk.Button(ventana, text="", font=("Arial", 50), width=20) for _ in range(3)] for boton in botones: boton.pack(pady=5) # Iniciar el juego preguntas_especie, preguntas_ambiente = generar_preguntas() correctas = 0 incorrectas = 0 fase = "especie" siguiente_pregunta(0, "especie") ventana.mainloop()