Hola gente, tengo problemas para hacer que vuelva a aparecer el puntaje y el tiempo…
Mi juego se trata de que aparezca un triangulo por vez y debo elegir que tipo de triangulo es, la estructura del juego está solo tengo unos pequeños problemas.
- Cada vez que se termina el tiempo, el puntaje no vuelve a aparecer
- Necesito reemplazar el mono y las colisiones por hacer que se pueda elegir la opcion correcta mediante un click
- Alterno al click tengo que asignar cada caja a un boton del teclado (Ej: ‘z’, ‘x’, & ‘c’)
import pilasengine
pilas = pilasengine.iniciar()
tiempo = 5
contador = pilas.actores.Texto("…")
contador.x = -295
contador.y = 190
vueltas = 0
contavueltas = pilas.actores.Texto("…")
contavueltas.x = -295
contavueltas.y = 165
puntaje = pilas.actores.Puntaje(color=‘blanco’)
puntaje.x = -300
puntaje.y = 220
def reiniciar():
# Obtiene todos los actores de la pantalla.
actores = pilas.actores.listar_actores()
global vueltas
vueltas=vueltas+1
# Elimina todos los actores excepto el fondo y el puntaje
for actor in actores:
if actor not in [puntaje, pilas.escena.fondo,contador]:
actor.eliminar()
# Genera una pregunta nueva
crear_una_nueva_pregunta()
def finalizar(pts):
texto = pilas.actores.Texto("Puntos obtenidos: "+str(pts))
def crear_una_nueva_pregunta():
global tiempo
tiempo = tiempo - 1
# Si puede seguir jugando, reducimos el contador.
if tiempo > 0:
contador.texto = str(tiempo)
#Obtiene todos los actores de la pantalla.
actores = pilas.actores.listar_actores()
# Si es tiempo de perder. if tiempo == 0: # Elimina todos los actores excepto el fondo y el puntaje for actor in actores: if actor not in [ pilas.escena.fondo]: actor.eliminar()
finalizar(puntaje.texto) pilas.tareas.una_vez(4, reiniciar)
global vueltas vueltas=vueltas+1 contavueltas.texto = str(vueltas)
#pregunta import random listatriangulos = ("isoceles.png","isocelesss.png","isocelesss.png","escaleno.png","escalenoo.png","escalenooo.png","equilatero.png","equilateroo.png","equilaterooo.png", "acutanguloo.png", "acutanguloo.png", "acutangulooo.png","obtusangulo.png","obtusanguloo.png","obtusangulooo.png","rectangulo.png","rectanguloo.png","rectangulooo.png") nombrestriangulos = ("isoceles","isoceles","isoceles","escaleno","escaleno","escaleno","equilatero","equilatero","equilatero", "acutangulo", "acutangulo", "acutangulo","obtusangulo","obtusangulo","obtusangulo","rectangulo","rectangulo","rectangulo") indiceazar = pilas.azar(0,5) trimagen = pilas.actores.Actor(x = 0, y = 100) trimagen.imagen = listatriangulos [indiceazar] trianguloazar = nombrestriangulos[indiceazar] pregunta = pilas.actores.Texto("Que triangulo es: ", y=215,magnitud=25)
#cajas caja1 = pilas.actores.Actor(x = -200, y = -40) caja1.imagen = "caja.png" caja1.escala = 2 caja1.esverdadera = False
caja2 = pilas.actores.Actor(x = 0, y = -40) caja2.imagen = "caja.png" caja2.escala = 2 caja2.esverdadera = False
caja3 = pilas.actores.Actor(x = 200, y = -40) caja3.imagen = "caja.png" caja3.escala = 2 caja3.esverdadera = False
#respuestas rta_1 = pilas.actores.Texto("",x=-235, y=-40,magnitud=13) rta_2 = pilas.actores.Texto("",x = -30, y = -40,magnitud=13) rta_3 = pilas.actores.Texto("",x = 165, y = -40,magnitud=13)
#caja verdader cajas_posibles = [caja1,caja2,caja3] textos_posibles = [rta_1,rta_2,rta_3] indiceok = pilas.azar(0,2) respuesta_verdadera = cajas_posibles[indiceok] respuesta_verdadera.esverdadera = True texto_de_respuestaok = textos_posibles[indiceok] texto_de_respuestaok.texto = trianguloazar
#cajas falsas if caja1.esverdadera: rta_2.texto = random.choice(nombrestriangulos) rta_3.texto = random.choice(nombrestriangulos) elif caja2.esverdadera: rta_1.texto = random.choice(nombrestriangulos) rta_3.texto = random.choice(nombrestriangulos) elif caja3.esverdadera: rta_1.texto = random.choice(nombrestriangulos) rta_2.texto = random.choice(nombrestriangulos)
mono = pilas.actores.Mono(y=-160) mono.aprender(pilas.habilidades.Arrastrable) cajas = [caja1,caja2,caja3] pilas.colisiones.agregar(mono,cajas,respuesta)
def respuesta(mono, caja):
if caja.esverdadera:
mono.decir(“BIEN”)
estrella = pilas.actores.Estrella()
estrella.x = caja.x
estrella.y = caja.y
estrella.escala = 0.2
estrella.escala = [2, 1] * 2
puntaje.aumentar()
pilas.tareas.una_vez(2, reiniciar)
else:
mono.decir(“ERROR”)
pilas.camara.vibrar()
caja.eliminar()
# Reinicia el juego pasados los 2 segundos.
pilas.tareas.una_vez(1, reiniciar)
pilas.tareas.siempre(1, descontar_tiempo)
crear_una_nueva_pregunta()