hola me falta agregarle que finalice cuando cumpla cierta cantidad de vueltas se que se puede hacer con un for o while pero nose donde ubicarlos para que no me hagan bucles infinitos y se tilde. les mando el código correcto. Desde ya muchas gracias. Ayuda por favor!
# coding: utf-8
import pilasengine
pilas = pilasengine.iniciar()
puntaje = pilas.actores.Puntaje(color='negro')
puntaje.x = -300
puntaje.y = 220
mi_mensaje=pilas.actores.Texto("Presione Esc para volver al menu", y=-210)
mi_mensaje.color=pilas.colores.Color(0,0,0)
def aumentar():
puntaje=puntaje+15
def reiniciar():
# Obtiene todos los actores de la pantalla.
actores = pilas.actores.listar_actores()
# Elimina todos los actores excepto el fondo y el puntaje
for actor in actores:
if actor not in [puntaje, pilas.escena.fondo]:
actor.eliminar()
# Genera una pregunta nueva
crear_una_nueva_pregunta()
class PantallaBienvenida(pilasengine.escenas.Escena):
def iniciar(self):
self.fondo = self.pilas.fondos.Volley()
puntaje = pilas.actores.Puntaje(color='negro')
puntaje.x = -300
puntaje.y = 220
crear_una_nueva_pregunta()
pilas.eventos.pulsa_tecla_escape.conectar(self.regresar)
def ejecutar(self):
pass
def regresar(self, evento):
pilas.escenas.PantallaMenu()
class PantallaMenu(pilasengine.escenas.Escena):
def iniciar(self):
pilas.fondos.Selva()
pilas.actores.Menu(
[
('iniciar juego', iniciar_juego),
('salir', salir_del_juego),
])
def iniciar_juego():
print("Tengo que iniciar el Juego")
pilas.escenas.PantallaBienvenida()
def crear_una_nueva_pregunta():
puntaje = pilas.actores.Puntaje(color='negro')
puntaje.x = -300
puntaje.y = 220
mi_mensaje=pilas.actores.Texto("Presione Esc para volver al menu", y=-210)
mi_mensaje.color=pilas.colores.Color(0,0,0)
#defino palabra al azar
lista_palabras=["leche", "union", "gramatica", "institucion", "arroz", "libros", "heladera", "tambien", "pantalla", "cuchara", "madera", "aceite", "espejo", "plastico", "vitina", "rojo", "tipica", "cuaderno", "fuente", "practica"]
posicion=pilas.azar(0, len(lista_palabras)-1)
evalua=lista_palabras[posicion]
pregunta=pilas.actores.Texto(u"Defina según la asentuación: " + evalua, y=150, x=0)
#defino los globos
globo1=pilas.actores.Actor(x=-150, y=0)
globo1.imagen="globo.png"
globo1.escala=1
globo1.esverdadera= False
globo2=pilas.actores.Actor(x=0, y=0)
globo2.imagen="globo.png"
globo2.escala=1
globo2.esverdadera= False
globo3=pilas.actores.Actor(x=150, y=0)
globo3.imagen="globo3.png"
globo3.escala=1
globo3.esverdadera= False
#defino respuestas
rta_1=pilas.actores.Texto("aguda", x=-150, y=0)
rta_1.color = pilas.colores.Color(0, 0, 0)
rta_1.aprender(pilas.habilidades.PuedeExplotarConHumo)
rta_2=pilas.actores.Texto("grave", x=0, y=0)
rta_2.color = pilas.colores.Color(0, 0, 0)
rta_2.aprender(pilas.habilidades.PuedeExplotarConHumo)
rta_3=pilas.actores.Texto("esdrujula", x=150, y=0)
rta_3.color = pilas.colores.Color(0, 0, 0)
rta_3.aprender(pilas.habilidades.PuedeExplotarConHumo)
#defino pingu
pingu = pilas.actores.Pingu()
pingu.y=-195
pingu.aprender(pilas.habilidades.LimitadoABordesDePantalla)
#colisiones
globos= [globo1,globo2,globo3]
pilas.colisiones.agregar(pingu,globos,respuesta)
#globo verdadero
list_resp_ver=["grave", "aguda", "esdrujula", "aguda", "aguda", "grave", "grave", "aguda", "grave", "grave", "grave", "aguda", "grave", "esdrujula", "grave", "grave", "esdrujula", "grave", "grave", "esdrujula"]
globos_posibles=[globo1,globo2,globo3]
textos_posibles=["aguda", "grave", "esdrujula"]
if list_resp_ver[posicion]==textos_posibles[0]:
respuesta_verdadera = globos_posibles[0]
respuesta_verdadera.esverdadera = True
texto_de_respuestaok = textos_posibles[0]
elif list_resp_ver[posicion]==textos_posibles[1]:
respuesta_verdadera = globos_posibles[1]
respuesta_verdadera.esverdadera = True
texto_de_respuestaok = textos_posibles[1]
elif list_resp_ver[posicion]== textos_posibles[2]:
respuesta_verdadera = globos_posibles[2]
respuesta_verdadera.esverdadera = True
texto_de_respuestaok = textos_posibles[2]
def aumentar():
puntaje=puntaje+15
def respuesta(pingu, globo):
if globo.esverdadera:
pingu.decir("MUY BIEN")
# Genera una estrella para mostrar que contesto
# bien
estrella = pilas.actores.Estrella()
estrella.x = globo.x
estrella.y = globo.y
estrella.escala = 0.2
estrella.escala = [2, 1] * 2
# aumenta el contador del for
# aumenta el puntaje
puntaje.aumentar(10)
# Reinicia el juego.
pilas.tareas.una_vez(2, reiniciar)
else:
pingu.decir("CUALQUIERA")
pilas.camara.vibrar()
globo.eliminar()
def salir_del_juego():
print("Tengo que salir...")
pilas.terminar()
pilas.escenas.vincular(PantallaMenu)
pilas.escenas.vincular(PantallaBienvenida)
pilas.escenas.PantallaMenu()
pilas.ejecutar()