buenas! tengo un problema…estoy modificando el codigo que compartio el usuario MaxiAlbarenque, y tengo un problema al ejecutarlo…me sale un error de:
× # SyntaxError:
× #
× # Traza del error (las llamadas mas recientes al final):
× # Archivo “C:\PILAS-~1\pilasengine\interprete\editor.py”,linea 646, en ejecutar
× # exec(contenido, self.interpreterLocals)
× # Archivo actual,linea 63
× # self:fondo_juego = pilas.fondos.Tarde()
× # ^
× # SyntaxError: invalid syntax
× #
quisiera saber si alguien me podria ayudar que no logro detectar el problema…gracias desde ya!..si alguien me lo pide, les paso el codigo…
Buenas, @DeftonBurn!
Se ve muy claro en esa línea de código que has escrito self: (con dos puntos) cuando tiene que ser self. (con un punto)
Un saludo!
muchas gracias no me habia percatado en ningun momento! muchas gracias de verdad!
ya solucione ese problema ahora tengo otro con el comando def…si tenes tiempo y podes verificarlo te lo agradeceria mucho =D
IndentationError:
× #
× # Traza del error (las llamadas mas recientes al final):
× # Archivo “C:\PILAS-~1\pilasengine\interprete\editor.py”,linea 646, en ejecutar
× # exec(contenido, self.interpreterLocals)
× # Archivo actual,linea 99
× # def Preguntando(self):
× # ^
× # IndentationError: expected an indented block
× #
»
Buenas, @DeftonBurn!
def(): no es un comando sinó la manera como se define una FUNCIÓN en Python.
Lo que tienes ahí es muy claramente un problema de IDENTACION.
Python necesita ser identado (tabulado o espaciado) correctamente para poder funcionar y reconocer correctamente el código.
Normalmente este error se da en Pilas cuando copias y pegas código, o usas más de un editor. En los programas escritos en Python nunca deben mezclarse lineas que se identan con espacios con lineas que se identan con tabulación.
Puedes eliminar todos los espacios INICIALES de las líneas de tu código y poner “a mano” los espacios necesarios (normalmente van de 4 en 4… 4, 8, 12, etc) o las tabulaciones, pero sólo una cosa u otra. Los espacios vacíos al final de una línea tambien pueden darte problemas.
En la mayoría de editores (Notepad++, Geany, PyScripter, SublimeText, Atom, Visual Studio Code, etc…) tienes la opción de cambiar todos los espacios por tabulaciones, o todas las tabulaciones por espacios, y eliminar los espacios al final de las líneas de código. Te recomendaría usar el editor que sea más de tu agrado y usar sólo ese. En este foro encontrarás varios posts sobre como usar tu editor favorito con Pilas Engine.
Tambien tienes programas online que te identan correctamente el código que da problemas de identación:
Por tus dos preguntas creo entender (dime si no es así) que no tienes nada de experiencia en Python. Creo que sería recomendablen un pequeño tutorial de lo más básico, para poder identificar este tipo de errores :
Pero anímate, Python es el lenguaje de programación más fácil de aprender! A nada que lo estudies lo más básico vas a ver que empiezas a dominar la sintaxis… Y Pilas está pensado especialmente para aprender a programar de manera divertida
Te animo a investigar un poquito y a seguir haciendo tus propios juegos con Pilas-Engine
Un saludo!
buenas ! logre reparar ya ese error de tabulado pero ahora tengo otro problema y disculpa que moleste tanto es que soy nuevo en esto de programar jajaja…bueno ahora me pasa que se me borraron los actores y solo se ve el fondo, te podria pasar el codigo asi lo verificas y me dices donde esta el error por favor, hace horas me estoy partiendo la cabeza jajaja
este es el codigo: psdata el actor “esta” es uno que cree yo mismo de un extintor para reemplazar al mono que estaba!
class EscenaMenu(pilasengine.escenas.Escena):
def iniciar(self):
self.fondo_menu = pilas.fondos.Volley()
dialogo=pilas.actores.Dialogo()
self.esta = pilas.actores.Esta()
self.esta.x=180
dialogo.decir(self.esta, "Click aqui!")
dialogo.decir(self.esta, "10 respuestas correctas, ganas!, 3 incorrectas, pierdes!")
dialogo.comenzar()
self.Mi_Menu = pilas.actores.Menu(
[
(u"Jugar", self.Ir_al_juego),
(u"Ayuda", self.Ayuda),
(u"Salir", self.Salir_de_Pilas)
])
Nombre_de_juego = pilas.actores.Texto(u"La seguridad primero")
Nombre_de_juego.color = pilas.colores.rojo
Nombre_de_juego.y = 170
def actualizar(self):
pass
def Ayuda(self):
pilas.escenas.EscenaAyuda()
def Salir_de_Pilas(self):
pilas.terminar()
def Ir_al_juego(self):
pilas.escenas.EscenaJuego()
class EscenaAyuda(pilasengine.escenas.Escena):
def iniciar(self):
self.fondo_juego=pilas.fondos.Noche()
self.fondo_juego.imagen="fondodeljuego1.png"
self.Boton_Volver =pilas.interfaz.Boton("Volver al Menu")
self.Boton_Volver.y = 220
self.Boton_Volver.x = 250
self.Boton_Volver.conectar(self.Volver)
def Volver(self):
pilas.escenas.EscenaMenu()
def actualizar(self):
pass
class EscenaJuego(pilasengine.escenas.Escena):
def iniciar(self):
self.nombre=raw_input("Ingrese su nombre: ")
self.lista=[["Con cual de estos elementos hay que combatir un incendio:", "Agua", "Nafta", "Kerosene"],["En caso de notar una hornalla abierta deberias:", "Avisar", "Encenderla", "Dejarla asi"],["Si notamos una fuga de gas deberiamos:", "Llamar un profesional", "Intentar repararla", "Nada"],["Que hay que evitar para no provocar un incendio:", "Jugar con fuego", "Dejar fuego encendido", "Usar cualquier cosa para apagarla"],["Que hacer en caso de presenciar un incendio:", "LLamar a bomberos", "Acercarse y filmarlo", "No hacer nada"],["Que es lo mas importante para evitar un incendio:", "La seguridad", "No darle importancia", "Provocarlo"],["Cual es el uso indebido de la pirotecnia", "Que los niños la usen", "Usarlas en ambientes abiertos", "No usarla"],["Cual es la temperatura ideal de calefaccion", "20°", "35°", "5°"],["Cual es el buen uso del gas natural:", "Para cocinar, calentar agua", "Para jugar", "Por gusto"],["Puedo usar el horno para calentar la casa", "No", "A veces", "Si"],["Como mantener seguro a un niño cerca de gas", "Que los niños no jueguen con instalaciones", "Que juegue con las tuberias", "Ignorar todo"],["Origen del gas natural:", "Fosil", "Quimico", "Tecnologico"],["Puedo hacer mi instalacion de gas:", "No, solo el profesional", "Si puedes", "En algunos casos"],["Es peligroso aspirar gas:", "Si es peligroso", "Depende la persona", "No es peligroso"],["Hay que tener detector de humos en casa:", "Si", "No", "Es innecesario"]]
self.fondo_juego = pilas.fondos.Tarde()
self.puntaje = pilas.actores.Puntaje(color="rojo") #self
self.puntaje.x = -150 #self
self.puntaje.y = -190 #self
self.puntaje.valor = 0 #añadido
self.correctosaparecer=pilas.actores.Texto("Correctos:")
self.correctosaparecer.x=-220
self.correctosaparecer.y=-190
self.error=pilas.actores.Puntaje(color="rojo")
self.error.valor=0
self.error.x=-150
self.error.y=-220
self.incorrectosaparecer=pilas.actores.Texto("Incorrectos:")
self.incorrectosaparecer.x=-230
self.incorrectosaparecer.y=-220
self.esta = pilas.actores.Esta()
self.esta.escala = 0.8 #añadido, el mono era muy grande
self.esta.aprender('arrastrable') #modificado
self.esta.aprender('MoverseConElTeclado') #modificado
self.esta.decir("Bienvenido/a "+ self.nombre + " puedes arrastrarme")
self.esta.x=[0,200],1
self.Boton_Volver =pilas.interfaz.Boton("Volver al Menu")
self.Boton_Volver.y = -220
self.Boton_Volver.x = 250
self.Boton_Volver.conectar(self.Volver)
#Agrego las colisiones
pilas.colisiones.agregar('banana', 'esta', self.el_esta_come)#añadido
#Agrego tarea
pilas.tareas.agregar(3, self.Preguntando)
def Reiniciar(self):
# 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 [self.puntaje, self.fondo_juego, self.mono,self.error,self.correctosaparecer,self.incorrectosaparecer,self.Boton_Volver]:
actor.eliminar()
# Genera una pregunta nueva
self.Preguntando()
def Preguntando(self):
self.b1=pilas.actores.Banana()
self.b1.x=-300
self.b1.y=100
self.b1.esverdadera=False
self.b2=pilas.actores.Banana()
self.b2.x=-300
self.b2.y=0
self.b2.esverdadera=False
self.b3=pilas.actores.Banana()
self.b3.x=-300
self.b3.y=-100
self.b3.esverdadera=False
self.poslista=pilas.azar(0,19)
self.encuentrapreg=self.lista[self.poslista][0]
self.mostrar_pregunta=pilas.actores.Texto(self.encuentrapreg)
self.mostrar_pregunta.y=220
self.mostrar_pregunta.escala=0.8
self.respuesta_correcta = self.lista[self.poslista][1] #Respuesta Correcta
self.respuesta_incorrecta_1 = self.lista[self.poslista][2] #Respuesta incorrecta 1
self.respuesta_incorrecta_2 = self.lista[self.poslista][3] #Respuesta incorrecta 2
self.rta_1 = pilas.actores.Texto("")
self.rta_1.x=-250
self.rta_1.y=100
self.rta_2 = pilas.actores.Texto("")
self.rta_2.x=-250
self.rta_2.y=0
self.rta_3 = pilas.actores.Texto("")
self.rta_3.x=-250
self.rta_3.y=-100
#Banana verdadera
self.bananas_posibles = [self.b1,self.b2,self.b3]
self.textos_posibles = [self.rta_1,self.rta_2,self.rta_3]
self.indiceok=pilas.azar(0,2)
self.banana_verdadera=self.bananas_posibles[self.indiceok]
self.banana_verdadera.esverdadera=True
self.texto_respuesta_verdadera=self.textos_posibles[self.indiceok]
self.texto_respuesta_verdadera.texto=str(self.respuesta_correcta)
if self.b1.esverdadera:
self.rta_1.texto=str(self.respuesta_correcta)
self.rta_2.texto = str(self.respuesta_incorrecta_1)
self.rta_3.texto = str(self.respuesta_incorrecta_2)
elif self.b2.esverdadera:
self.rta_2.texto=str(self.respuesta_correcta)
self.rta_1.texto = str(self.respuesta_incorrecta_1)
self.rta_3.texto = str(self.respuesta_incorrecta_2)
elif self.b3.esverdadera:
self.rta_3.texto= str(self.respuesta_correcta)
self.rta_1.texto = str(self.respuesta_incorrecta_1)
self.rta_2.texto = str(self.respuesta_incorrecta_2)
def ganaste(self):
actores = pilas.actores.listar_actores()
# Elimina todos los actores excepto el fondo y el puntaje
for actor in actores:
if actor not in [self.mono]:
actor.eliminar()
self.fondo_juego=pilas.fondos.Noche()
self.Boton_Volver =pilas.interfaz.Boton("Volver al Menu")
self.Boton_Volver.y = 220
self.Boton_Volver.x = 250
self.Boton_Volver.conectar(self.Volver)
self.puntajefinal=pilas.actores.Texto(str(self.puntaje.valor))
self.puntajefinal.escala=2
self.cartelfelicidades=pilas.actores.Texto("Felicidades "+self.nombre+" has ganado")
self.cartelfelicidades.y=220
self.cartelfelicidades=pilas.actores.Texto("Comelon esta feliz y lleno")
self.cartelfelicidades.y=150
self.cartelpuntaje=pilas.actores.Texto("Tu puntaje es: ")
self.cartelpuntaje.x=-100
self.errorestotales=pilas.actores.Texto(str(self.error.valor))
self.errorestotales.y=-100
self.errorestotales.escala=2
self.cartelerror=pilas.actores.Texto("Cantidad de errores: ")
self.cartelerror.x=-150
self.cartelerror.y=-100
def perdiste(self):
actores = pilas.actores.listar_actores()
# Elimina todos los actores excepto el fondo y el puntaje
for actor in actores:
if actor not in [self.mono]:
actor.eliminar()
self.fondo_juego=pilas.fondos.Noche()
self.Boton_Volver =pilas.interfaz.Boton("Volver al Menu")
self.Boton_Volver.y = 220
self.Boton_Volver.x = 250
self.Boton_Volver.conectar(self.Volver)
self.puntajefinal=pilas.actores.Texto(str(self.puntaje.valor))
self.puntajefinal.escala=2
self.cartelfelicidades=pilas.actores.Texto(self.nombre+ " PERDISTE :(")
self.cartelfelicidades.y=220
self.cartelfelicidades=pilas.actores.Texto("Comelon se enfermo")
self.cartelfelicidades.y=150
self.cartelpuntaje=pilas.actores.Texto("Tu puntaje es: ")
self.cartelpuntaje.x=-100
self.errorestotales=pilas.actores.Texto(str(self.error.valor))
self.errorestotales.y=-100
self.errorestotales.escala=2
self.cartelerror=pilas.actores.Texto("Cantidad de errores: ")
self.cartelerror.x=-150
self.cartelerror.y=-100
def Volver(self):
pilas.escenas.EscenaMenu()
def actualizar(self):
pass
def el_esta_come(self, bananas, esta):
if not bananas.esverdadera: #bananas es la banana colisionada
if self.error.valor<2:
pilas.camara.vibrar()
bananas.eliminar()
esta.decir("MAL MAL MAL")
self.error.aumentar() #aumenta 1 error. En total puede ser hasta 3 errores.
pilas.tareas.agregar(3, self.Reiniciar)
else:
pilas.avisar("Fin del juego")
self.error.aumentar()
self.perdiste()
else:
if self.puntaje.valor<9:
bananas.eliminar() #hay que eliminar la banana colisionada
esta.rotacion=[0,360]
esta.decir("Muy bien")
estrella = pilas.actores.Estrella()
estrella.x = bananas.x
estrella.y = bananas.y
estrella.escala = 0.2
estrella.escala = [2, 1] * 2
self.puntaje.aumentar()
pilas.tareas.agregar(3, self.Reiniciar)
else:
pilas.avisar("Felicidades has ganado")
self.puntaje.aumentar()
self.ganaste()
def Volver(self):
pilas.escenas.EscenaMenu()
def actualizar(self):
pass
pilas.escenas.vincular(EscenaAyuda)
pilas.escenas.vincular(EscenaMenu)
pilas.escenas.vincular(EscenaJuego)
pilas.escenas.EscenaMenu()
pilas.ejecutar()
Buenas, @DeftonBurn!
Buenotu código es MUY largo…
Ahora mismo como que es muy tarde y no tengo tiempo de revisarlo a fondo, pero en un primer vistazo veo algún problema que puede que sea lo que te causa el error
Como puedes comprobrar, eliminas todos los actores menos los que estan en esa lista, pero en esa lista sale un tal “self.mono” (que debe ser el actor original del ejemplo) pero NO sale el “self.esta” (que es tu actor), por lo que tu personaje se borra
Mira a ver si es eso y si no mañana por la mañana ya me lo miro más a fondo, ok?
Un saludo!
sisi muchas gracias jordi me estas dando una mano enorme!! ya mismo me pongo a revisarlo…de verdad muchas gracias, tuve varios inconvenientes en la materia por que mi profesor no muy aplicado a la hora de enseñar jaja faltaba mucho, se iba antes de tiempo y esas cosas me afectaron a mi y a demas compañeros…pero bueno en fin si no hay ningun inconveniente, revisalo cuando tengas tu tiempo sin problema y como dije ya muchas pero muchas gracias por todo =D
Buenas, @DeftonBurn!
Tenías un par de errores básicos:
El primero, que definías el pilas.azar en (0,19), pero tú solo tenías 15 preguntas. Por tanto, cuando el azar daba un número superior a 14 se producía un error. Eso se corrige usando la propiedad len(lista)-1, que nos devuelve los valores correctos de la lista, tanto si es de 4 elementos como si es de 400.
El segundo error estaba en los caracteres ASCII de las preguntas y respuestas. En las preguntas donde salía la palabra “niño” esa Ñ daba problemas. Eso se soluciona añadiendo una “u” antes de cada texto con caracteres latinos (niños) o tildes (política):
[u"los niños", u"política", u"los niños no entienden de política presupuestaria"]
Tambien he borrado un par de líneas que no hacían nada de nada, estaban por estar:
#self.texto_respuesta_verdadera=self.textos_posibles[self.indiceok]
#self.texto_respuesta_verdadera.texto=(self.respuesta_correcta)
y he quitado unos str() innecesarios, ya que las respuestas ya son strings de por sí y no necesitan ser redefinidas a string.:
if self.b1.esverdadera:
self.rta_1.texto=(self.respuesta_correcta)
self.rta_2.texto = (self.respuesta_incorrecta_1)
self.rta_3.texto = (self.respuesta_incorrecta_2)
elif self.b2.esverdadera:
self.rta_2.texto=(self.respuesta_correcta)
self.rta_1.texto =(self.respuesta_incorrecta_1)
self.rta_3.texto =(self.respuesta_incorrecta_2)
elif self.b3.esverdadera:
self.rta_3.texto= (self.respuesta_correcta)
self.rta_1.texto =(self.respuesta_incorrecta_1)
self.rta_2.texto =(self.respuesta_incorrecta_2)
Tu código rectificado es este (no incluiste tu actor Esta y he tenido que crearlo yo):
# -*- coding: utf-8
import pilasengine
pilas = pilasengine.iniciar()
class Esta(pilasengine.actores.Actor):
def iniciar(self):
self.imagen="aceituna.png"
pilas.actores.vincular(Esta)
class EscenaMenu(pilasengine.escenas.Escena):
def iniciar(self):
self.fondo_menu = pilas.fondos.Volley()
dialogo=pilas.actores.Dialogo()
self.esta = pilas.actores.Aceituna()
self.esta.x=180
dialogo.decir(self.esta, "Click aqui!")
dialogo.decir(self.esta, "10 respuestas correctas, ganas!, 3 incorrectas, pierdes!")
dialogo.comenzar()
self.Mi_Menu = pilas.actores.Menu(
[
(u"Jugar", self.Ir_al_juego),
(u"Ayuda", self.Ayuda),
(u"Salir", self.Salir_de_Pilas)
])
Nombre_de_juego = pilas.actores.Texto(u"La seguridad primero")
Nombre_de_juego.color = pilas.colores.rojo
Nombre_de_juego.y = 170
def actualizar(self):
pass
def Ayuda(self):
pilas.escenas.EscenaAyuda()
def Salir_de_Pilas(self):
pilas.terminar()
def Ir_al_juego(self):
pilas.escenas.EscenaJuego()
class EscenaAyuda(pilasengine.escenas.Escena):
def iniciar(self):
self.fondo_juego=pilas.fondos.Noche()
#self.fondo_juego.imagen="fondodeljuego1.png"
self.Boton_Volver =pilas.interfaz.Boton("Volver al Menu")
self.Boton_Volver.y = 220
self.Boton_Volver.x = 250
self.Boton_Volver.conectar(self.Volver)
def Volver(self):
pilas.escenas.EscenaMenu()
def actualizar(self):
pass
class EscenaJuego(pilasengine.escenas.Escena):
def iniciar(self):
self.nombre=raw_input("Ingrese su nombre: ")
self.lista=[["Con cual de estos elementos hay que combatir un incendio:", "Agua", "Nafta", "Kerosene"],
["En caso de notar una hornalla abierta deberias:", "Avisar", "Encenderla", "Dejarla asi"],
["Si notamos una fuga de gas deberiamos:", "Llamar un profesional", "Intentar repararla", "Nada"],
["Que hay que evitar para no provocar un incendio:", "Jugar con fuego", "Dejar fuego encendido", "Usar cualquier cosa para apagarla"],
["Que hacer en caso de presenciar un incendio:", "LLamar a bomberos", "Acercarse y filmarlo", "No hacer nada"],
["Que es lo mas importante para evitar un incendio:", "La seguridad", "No darle importancia", "Provocarlo"],
["Cual es el uso indebido de la pirotecnia", u"Que los niños la usen", "Usarlas en ambientes abiertos", "No usarla"],
["Cual es la temperatura ideal de calefaccion", "20°", "35°", "5°"],
["Cual es el buen uso del gas natural:", "Para cocinar, calentar agua", "Para jugar", "Por gusto"],
["Puedo usar el horno para calentar la casa", "No", "A veces", "Si"],
[u"Como mantener seguro a un niño cerca de gas", u"Que los ninos no jueguen con instalaciones", "Que juegue con las tuberias", "Ignorar todo"],
["Origen del gas natural:", "Fosil", "Quimico", "Tecnologico"],
["Puedo hacer mi instalacion de gas:", "No, solo el profesional", "Si puedes", "En algunos casos"],
["Es peligroso aspirar gas:", "Si es peligroso", "Depende la persona", "No es peligroso"],
["Hay que tener detector de humos en casa:", "Si", "No", "Es innecesario"]]
self.fondo_juego = pilas.fondos.Tarde()
self.puntaje = pilas.actores.Puntaje(color="rojo") #self
self.puntaje.x = -150 #self
self.puntaje.y = -190 #self
self.puntaje.valor = 0 #añadido
self.correctosaparecer=pilas.actores.Texto("Correctos:")
self.correctosaparecer.x=-220
self.correctosaparecer.y=-190
self.error=pilas.actores.Puntaje(color="rojo")
self.error.valor=0
self.error.x=-150
self.error.y=-220
self.incorrectosaparecer=pilas.actores.Texto("Incorrectos:")
self.incorrectosaparecer.x=-230
self.incorrectosaparecer.y=-220
self.esta = pilas.actores.Esta()
self.esta.escala = 0.8 #añadido, el mono era muy grande
self.esta.aprender('arrastrable') #modificado
self.esta.aprender('MoverseConElTeclado') #modificado
self.esta.decir("Bienvenido/a "+ self.nombre + " puedes arrastrarme")
self.esta.x=[0,200],1
self.Boton_Volver =pilas.interfaz.Boton("Volver al Menu")
self.Boton_Volver.y = -220
self.Boton_Volver.x = 250
self.Boton_Volver.conectar(self.Volver)
#Agrego las colisiones
pilas.colisiones.agregar('banana', 'esta', self.el_esta_come)#añadido
#Agrego tarea
pilas.tareas.agregar(3, self.Preguntando)
def Reiniciar(self):
# 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 [self.puntaje, self.fondo_juego, self.esta,self.error,self.correctosaparecer,self.incorrectosaparecer,self.Boton_Volver]:
actor.eliminar()
# Genera una pregunta nueva
self.Preguntando()
def Preguntando(self):
self.b1=pilas.actores.Banana()
self.b1.x=-300
self.b1.y=100
self.b1.esverdadera=False
self.b2=pilas.actores.Banana()
self.b2.x=-300
self.b2.y=0
self.b2.esverdadera=False
self.b3=pilas.actores.Banana()
self.b3.x=-300
self.b3.y=-100
self.b3.esverdadera=False
self.poslista=pilas.azar(0,len(self.lista)-1)
self.encuentrapreg=self.lista[self.poslista][0]
self.mostrar_pregunta=pilas.actores.Texto(self.encuentrapreg)
self.mostrar_pregunta.y=220
self.mostrar_pregunta.escala=0.8
self.respuesta_correcta = self.lista[self.poslista][1] #Respuesta Correcta
self.respuesta_incorrecta_1 = self.lista[self.poslista][2] #Respuesta incorrecta 1
self.respuesta_incorrecta_2 = self.lista[self.poslista][3] #Respuesta incorrecta 2
#self.respuesta_incorrecta_2 ="ping"
self.rta_1 = pilas.actores.Texto("")
self.rta_1.x=-250
self.rta_1.y=100
self.rta_2 = pilas.actores.Texto("")
self.rta_2.x=-250
self.rta_2.y=0
self.rta_3 = pilas.actores.Texto("")
self.rta_3.x=-250
self.rta_3.y=-100
#Banana verdadera
self.bananas_posibles = [self.b1,self.b2,self.b3]
self.textos_posibles = [self.rta_1,self.rta_2,self.rta_3]
self.indiceok=pilas.azar(0,2)
self.banana_verdadera=self.bananas_posibles[self.indiceok]
self.banana_verdadera.esverdadera=True
#self.texto_respuesta_verdadera=self.textos_posibles[self.indiceok]
#self.texto_respuesta_verdadera.texto=(self.respuesta_correcta)
if self.b1.esverdadera:
self.rta_1.texto=(self.respuesta_correcta)
self.rta_2.texto = (self.respuesta_incorrecta_1)
self.rta_3.texto = (self.respuesta_incorrecta_2)
elif self.b2.esverdadera:
self.rta_2.texto=(self.respuesta_correcta)
self.rta_1.texto =(self.respuesta_incorrecta_1)
self.rta_3.texto =(self.respuesta_incorrecta_2)
elif self.b3.esverdadera:
self.rta_3.texto= (self.respuesta_correcta)
self.rta_1.texto =(self.respuesta_incorrecta_1)
self.rta_2.texto =(self.respuesta_incorrecta_2)
def ganaste(self):
actores = pilas.actores.listar_actores()
# Elimina todos los actores excepto el fondo y el puntaje
for actor in actores:
if actor not in [self.esta]:
actor.eliminar()
self.fondo_juego=pilas.fondos.Noche()
self.Boton_Volver =pilas.interfaz.Boton("Volver al Menu")
self.Boton_Volver.y = 220
self.Boton_Volver.x = 250
self.Boton_Volver.conectar(self.Volver)
self.puntajefinal=pilas.actores.Texto(str(self.puntaje.valor))
self.puntajefinal.escala=2
self.cartelfelicidades=pilas.actores.Texto("Felicidades "+self.nombre+" has ganado")
self.cartelfelicidades.y=220
self.cartelfelicidades=pilas.actores.Texto("Comelon esta feliz y lleno")
self.cartelfelicidades.y=150
self.cartelpuntaje=pilas.actores.Texto("Tu puntaje es: ")
self.cartelpuntaje.x=-100
self.errorestotales=pilas.actores.Texto(str(self.error.valor))
self.errorestotales.y=-100
self.errorestotales.escala=2
self.cartelerror=pilas.actores.Texto("Cantidad de errores: ")
self.cartelerror.x=-150
self.cartelerror.y=-100
def perdiste(self):
actores = pilas.actores.listar_actores()
# Elimina todos los actores excepto el fondo y el puntaje
for actor in actores:
if actor not in [self.esta]:
actor.eliminar()
self.fondo_juego=pilas.fondos.Noche()
self.Boton_Volver =pilas.interfaz.Boton("Volver al Menu")
self.Boton_Volver.y = 220
self.Boton_Volver.x = 250
self.Boton_Volver.conectar(self.Volver)
self.puntajefinal=pilas.actores.Texto(str(self.puntaje.valor))
self.puntajefinal.escala=2
self.cartelfelicidades=pilas.actores.Texto(self.nombre+ " PERDISTE :(")
self.cartelfelicidades.y=220
self.cartelfelicidades=pilas.actores.Texto("Comelon se enfermo")
self.cartelfelicidades.y=150
self.cartelpuntaje=pilas.actores.Texto("Tu puntaje es: ")
self.cartelpuntaje.x=-100
self.errorestotales=pilas.actores.Texto(str(self.error.valor))
self.errorestotales.y=-100
self.errorestotales.escala=2
self.cartelerror=pilas.actores.Texto("Cantidad de errores: ")
self.cartelerror.x=-150
self.cartelerror.y=-100
def Volver(self):
pilas.escenas.EscenaMenu()
def actualizar(self):
pass
def el_esta_come(self, bananas, esta):
if not bananas.esverdadera: #bananas es la banana colisionada
if self.error.valor<2:
pilas.camara.vibrar()
bananas.eliminar()
esta.decir("MAL MAL MAL")
self.error.aumentar() #aumenta 1 error. En total puede ser hasta 3 errores.
pilas.tareas.agregar(3, self.Reiniciar)
else:
pilas.avisar("Fin del juego")
self.error.aumentar()
self.perdiste()
else:
if self.puntaje.valor<9:
bananas.eliminar() #hay que eliminar la banana colisionada
esta.rotacion=[0,360]
esta.decir("Muy bien")
estrella = pilas.actores.Estrella()
estrella.x = bananas.x
estrella.y = bananas.y
estrella.escala = 0.2
estrella.escala = [2, 1] * 2
self.puntaje.aumentar()
pilas.tareas.agregar(3, self.Reiniciar)
else:
pilas.avisar("Felicidades has ganado")
self.puntaje.aumentar()
self.ganaste()
def Volver(self):
pilas.escenas.EscenaMenu()
def actualizar(self):
pass
pilas.escenas.vincular(EscenaAyuda)
pilas.escenas.vincular(EscenaMenu)
pilas.escenas.vincular(EscenaJuego)
pilas.escenas.EscenaMenu()
pilas.ejecutar()
Un saludo!
muchisimas gracias jordi!! eres un genio !!! me salvaste jajaj de verdad mil gracias =D funciona perfecto!!!