Necesito ayuda con este código, no me fuinciona y no se que esta mal

#coding: utf-8
import pilasengine
import sys

sys.path.insert(0, “…”)
pilas = pilasengine.iniciar(titulo=“Pasar por escenas con logica”)
pilas = pilasengine.iniciar(titulo=“Pasar por escenas con logica”)

pilas.fondos.Noche()
nombre = ‘’

puntaje = pilas.actores.Puntaje(color=‘blanco’)
puntaje.x = -300
puntaje.y = 220

def reiniciar():
actores = pilas.actores.listar_actores()

crear_una_nueva_pregunta()
def crear_una_nueva_pregunta()
preg1 = pilas.azar(20,40)
preg2 = pilas.azar(0,20)
pregunta = pilas.actores.Texto("Cuanto es: " + str(preg1) + " - " + str(preg2),
y=180,magnitud=25)

caja1 = pilas.actores.Actor(x = -200, y = 70)
caja1.imagen = “caja.png”
caja1.escala = 2
caja1.esverdadera = False

caja2 = pilas.actores.Actor(x = 0, y = 70)
caja2.imagen = “caja.png”
caja2.escala = 2
caja2.esverdadera = False

caja3 = pilas.actores.Actor(x = 200, y = 70)
caja3.imagen = “caja.png”
caja3.escala = 2
caja3.esverdadera = False

rta_1 = pilas.actores.Texto("",x=-200, y=70)
rta_2 = pilas.actores.Texto("",x = 0, y = 70)
rta_3 = pilas.actores.Texto("",x = 200, y = 70)

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 = str(preg1-preg2)

if caja1.esverdadera:
rta_2.texto = str(pilas.azar(0,100))
rta_3.texto = str(pilas.azar(0,100))
elif caja2.esverdadera:
rta_1.texto = str(pilas.azar(0,100))
rta_3.texto = str(pilas.azar(0,100))
elif caja3.esverdadera:
rta_1.texto = str(pilas.azar(0,100))
rta_2.texto = str(pilas.azar(0,100))

mono = pilas.actores.Mono(y=-150)
mono.aprender(pilas.habilidades.Arrastrable)

cajas = [caja1,caja2,caja3]
pilas.colisiones.agregar(mono,cajas,respuesta)
def respuesta(mono, caja):
if caja.esverdadera:
mono.decir(“MUY BIEN”)
puntaje.aumentar()
pilas.tareas.una_vez(2, reiniciar)
else:
mono.decir(“Vuelve a Intentar”)
pilas.camara.vibrar()
caja.eliminar()

crear_una_nueva_pregunta()
pilas.ejecutar()

Buenas, @Leonel67 !

Antes que nada deberías leerte este post para indexar correctamente tu código.

He copiado tu código en mi editor, pero me sale todo alineado a la izquierda y no puedo ver las indexaciones… Por tanto tampoco puedo saber qué está bien y qué está mal.

Por favor, corrige tu post e indexa tu código correctamente para que podamos revisarlo.

Un saludo! :wink:

EDITO:

Bueno al final pude con un poco de imaginación recomponerlo todo :smirk:

Ahí te dejo el código con las rectificaciones. Por suerte este código es un viejo amigo que vuelve cada año al foro y ya me lo conozco casi de memoria :smile:

Un saludo :wink:

#coding: utf-8

import pilasengine
import sys ###opcional, no necesario
sys.path.insert(0, "..") ###opcional, no necesario

pilas = pilasengine.iniciar(titulo="Pasar por escenas con logica")
#pilas = pilasengine.iniciar(titulo="Pasar por escenas con logica")###Linea duplicada!

mifondo = pilas.fondos.Noche() ###Añadido mifondo =
nombre = ''

puntaje = pilas.actores.Puntaje(color='blanco')
puntaje.x = -300
puntaje.y = 220

def reiniciar():
	actores = pilas.actores.listar_actores()	
	###falta código aqui, hay que definir lo que pasará cuando se reinicie todo:
	#####código nuevo####
	for actor in actores:
		if actor not in[mifondo, puntaje]:
			actor.eliminar()
	crear_una_nueva_pregunta()
	####fin código nuevo####
		
#crear_una_nueva_pregunta() ###Duplicada!!! ###Aún no está creada la def!!!!
def crear_una_nueva_pregunta(): ###faltaban los dos puntos ():
	preg1 = pilas.azar(20,40)
	preg2 = pilas.azar(0,20)
	pregunta = pilas.actores.Texto("Cuanto es: " + str(preg1) + " - " + str(preg2),
	y=180,magnitud=25)

	caja1 = pilas.actores.Actor(x = -200, y = 70)
	caja1.imagen = "caja.png"
	caja1.escala = 2
	caja1.esverdadera = False

	caja2 = pilas.actores.Actor(x = 0, y = 70)
	caja2.imagen = "caja.png"
	caja2.escala = 2
	caja2.esverdadera = False

	caja3 = pilas.actores.Actor(x = 200, y = 70)
	caja3.imagen = "caja.png"
	caja3.escala = 2
	caja3.esverdadera = False

	rta_1 = pilas.actores.Texto("",x=-200, y=70)
	rta_2 = pilas.actores.Texto("",x = 0, y = 70)
	rta_3 = pilas.actores.Texto("",x = 200, y = 70)

	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 = str(preg1-preg2)

	if caja1.esverdadera:
		rta_2.texto = str(pilas.azar(0,100))
		rta_3.texto = str(pilas.azar(0,100))
	elif caja2.esverdadera:
		rta_1.texto = str(pilas.azar(0,100))
		rta_3.texto = str(pilas.azar(0,100))
	elif caja3.esverdadera:
		rta_1.texto = str(pilas.azar(0,100))
		rta_2.texto = str(pilas.azar(0,100))

	mono = pilas.actores.Mono(y=-150)
	mono.aprender(pilas.habilidades.Arrastrable)

	cajas = [caja1,caja2,caja3]

	pilas.colisiones.agregar(mono,cajas,respuesta)

def respuesta(mono, caja):
	if caja.esverdadera:
		mono.decir("MUY BIEN")
		puntaje.aumentar()
		pilas.tareas.una_vez(2, reiniciar)
	else:
		mono.decir("Vuelve a Intentar")
		pilas.camara.vibrar()
		caja.eliminar()
		
crear_una_nueva_pregunta()
pilas.ejecutar()