Problemas al ejecutar

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) :slight_smile:

Un saludo! :wink:

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. :confused:

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:
https://www.tutorialspoint.com/online_python_formatter.htm

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 :
https://www.w3schools.com/python/

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 :slight_smile:

Te animo a investigar un poquito y a seguir haciendo tus propios juegos con Pilas-Engine :smile:

Un saludo! :wink:

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… :slight_smile:

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 :smile:

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! :wink:

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! :wink:

muchisimas gracias jordi!! eres un genio !!! me salvaste jajaj de verdad mil gracias =D funciona perfecto!!!