me salta error de sintaxis en la parte del código que hago al “globo verdadero” con los if no se el motivo por favor ayuda que me falta poco para terminar el juego. acá les mando el código gracias!
Si borramos la parte del código de “globo verdadero” se ejecuta el juego hasta las colisiones falsas, en caso verdadero no lo puedo hacer andar hasta que arregle eso:
# coding: utf-8
import pilasengine
pilas = pilasengine.iniciar()
class PantallaBienvenida(pilasengine.escenas.Escena):
def iniciar(self):
self.fondo = self.pilas.fondos.Volley()
#defino puntaje
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():
pilas.escenas.PantallaBienvenida()
def crear_una_nueva_pregunta():
#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)
#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=[rta_1,rta_2,rta_3]
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]
#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)
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 puntaje
puntaje.aumentar()
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()