Hola, ¿qué tal? Hace unos dias tengo un problema con el juego que armé. Estuve buscando y no puedo encontrar solución al problema. Se supone que en jugada() según la respuesta el monito debería decir Correcto o Incorrecto pero solo se escucha el sonido de que habla. ¿Alguien podría ayudarme a identificar el problema? Pienso que el problema está en en cambio de escena pero agrege un temporizador con time.sleep(0.5) y tampoco funciona (Edite el post porque escribí el código con menos líneas)
# -*- coding: utf-8 -*-
import pilas, time, random
pilas.iniciar()
lista=None
historia=(
(u"¿En que año comenzó la Primera Guerra Mundial?", "1916","1912","1914",3),
(u"¿Cuándo cayó el Imperio Romano de Occidente?","472","476","486",2),
(u"¿Cuándo fue derrumbado el Muro de Berlín?","1989","1984","1967",1),
(u"¿Cuándo cayó el Imperio Bizantino?","1456","1453","1490",2),
(u"¿En qué año comienza la Revolución Francesa?","1789","1787","1799",1),
(u"¿A quién se le atribuye la frase: \n 'Solo sé que no sé nada'?",u"Platón",u"Aristóteles",u"Sócrates",3),
(u"¿En que año se sanciona la Ley Sáenz Peña?","1914","1912","1916",2),
(u"¿Cuándo se disuelve la banda The Beatles?","1969","1968","1970",3),
(u"¿Contra quién fue la Guerra de la Triple Alianza?","Paraguay","Brasil","Uruguay",1),
(u"¿A qué pueblo pertenecía Gengis Kan?","Persa","Mongol",u"Tártaro",2)
)
geografia=(
(u"¿Dónde se encuentran las Islas Caíman?","Mar Caribe",u"Mar Mediterráneo", u"Oceanía",1),
(u"¿Cómo se llama la capital de Canadá?","Montreal","Washington","Ottawa",3),
(u"¿Cuál es la ciudad con más población?","Nueva York","Tokio","San Pablo",2),
(u"¿En qué continente queda Tombuctú?","Asia",u"África",u"Oceanía",2),
(u"¿Cuál es la capital de Rusia?","Kaliningrado","San Petersburgo",u"Moscú",3),
(u"¿Dónde se encuentra la Cueva de las Manos?","Santa Cruz","Mendoza","Chubut",1),
(u"¿Por cuál país pasa el río Volga?","Suiza","Rusia","Alemania",2),
(u"¿Con cuál de esos países no limita Argentina?",u"Perú","Bolivia","Brasil",1),
(u"¿Dónde se encuentra la ciudad de Helsinki?","Suecia","Dinamarca","Finlandia",3),
(u"¿A qué país pertenece Kaliningrado?","Alemania","Rusia","Bielorrusia",2)
)
numeros=range(0,10)
c=0
puntos=0
rtacorrecta=0
errores=0
def fin():
global puntos
global errores
global c
global numeros
global rtacorrecta
escena_actual = pilas.escena.Normal()
pilas.cambiar_escena(escena_actual)
pilas.fondos.Noche()
mono=pilas.actores.Mono()
mono.x=0
mono.y=0
mono.decir("Gracias por jugar!")
volver=pilas.interfaz.Boton("Inicio")
volver.x=0
volver.y=-200
final=pilas.actores.Texto("Puntaje final:")
final.y=150
final1=pilas.actores.Texto(str(puntos))
final1.y=100
final2=pilas.actores.Texto("Errores:")
final2.y=-100
final3=pilas.actores.Texto(str(errores))
final3.y=-150
numeros=range(0,10)
c=0
puntos=0
rtacorrecta=0
errores=0
volver.conectar(inicio)
def pulsar(evento):
global c
global puntos
global lista
global rtacorrecta
global errores
mono=pilas.actores.Mono()
mono.x=200
mono.y=-150
if (evento.codigo == pilas.simbolos.a and rtacorrecta==1) or (evento.codigo == pilas.simbolos.s and rtacorrecta==2) or (evento.codigo == pilas.simbolos.d and rtacorrecta==3):
mono.decir("Correcto!")
puntos=puntos+1
c=c+1
time.sleep(0.5)
if c<len(lista):
jugada()
else:
fin()
else:
mono.decir("Incorrecto!")
errores=errores+1
time.sleep(0.5)
if errores<=3:
c=c+1
if c<len(lista):
jugada()
else:
fin()
else:
fin()
def jugada():
escena_actual = pilas.escena.Normal()
pilas.cambiar_escena(escena_actual)
if lista==historia:
pilas.fondos.Fondo("historia.jpg")
else:
pilas.fondos.Fondo("geografia.jpg")
global rtacorrecta
global puntos
global errores
global numeros
global lista
z = random.choice(numeros)
numeros.remove(z)
mono=pilas.actores.Mono()
mono.x=200
mono.y=-150
pregunta=pilas.actores.Texto(lista[z][0])
pregunta.y=150
rta1=pilas.actores.Texto(lista[z][1])
rta1.x=-200
rta2=pilas.actores.Texto(lista[z][2])
rta3=pilas.actores.Texto(lista[z][3])
rta3.x=200
rtacorrecta=lista[z][4]
puntajetexto=pilas.actores.Texto("Puntaje: ")
puntajetexto.x=-250
puntajetexto.y=-150
puntaje=pilas.actores.Texto(str(puntos))
puntaje.x=-200
puntaje.y=-150
errortexto=pilas.actores.Texto("Errores: ")
errortexto.x=-250
errortexto.y=-200
error=pilas.actores.Texto(str(errores))
error.x=-200
error.y=-200
pilas.eventos.pulsa_tecla.conectar(pulsar)
def ayuda():
escena_actual = pilas.escena.Normal()
pilas.cambiar_escena(escena_actual)
pilas.fondos.Tarde()
textoayuda=pilas.actores.Texto(u"El juego consiste en responder 10 preguntas. \n Utiliza la tecla 'a' para elegir la primera opción, \n 's' para la segunda y 'd' para la tercera opción.\n Por cada respuesta equivocada se anotará un error, \n y cuando a los 4 errores se termina el juego. \n El puntaje máximo es de 10, si no hay errores.")
mono=pilas.actores.Mono()
mono.x=200
mono.y=-150
mono.decir("Jugamos?")
boton=pilas.interfaz.Boton("Volver")
textoayuda.x=5
textoayuda.y=100
boton.y=-100
boton.conectar(inicio)
def definicion1():
global lista
lista=historia
jugada()
def definicion2():
global lista
lista=geografia
jugada()
def inicio():
escena_actual = pilas.escena.Normal()
pilas.cambiar_escena(escena_actual)
pilas.fondos.Tarde()
opcion1=pilas.interfaz.Boton("Trivia de Historia")
opcion1.y=150
opcion2=pilas.interfaz.Boton(u"Trivia de Geografía")
opcion2.y=50
opcion3=pilas.interfaz.Boton("Ayuda")
opcion3.y=-50
opcion4=pilas.interfaz.Boton("Salir")
opcion4.y=-150
opcion1.conectar(definicion1)
opcion2.conectar(definicion2)
opcion3.conectar(ayuda)
opcion4.conectar(salir)
def salir():
escena_actual = pilas.escena.Normal()
pilas.cambiar_escena(escena_actual)
pilas.fondos.Noche()
mono=pilas.actores.Mono()
mono.decir(u"¡Adiós!")
time.sleep(3)
pilas.terminar()
inicio()
pilas.ejecutar()