Consulta sobre juego de matematica

Buenos dias, acabo de entrar al mundo del pilas y necesito un poco de ayuda. Encontre en este foro un codigo sobre un juego de suma, y lo adapte a multipliaciones (ninguna modificacion de otro planeta, solo jugando con la interfaz).

Mis consultas son las siguentes:
1)Como puedo poner un menu que me deje elegir el juego o salir? lo intente con el del manual pero inicia el juego y queda el menu clavado de fondo, no desaparece. Y tampoco logro hacer que el juego “salga” cuando apretas esa opcion.
2)En este juego sumas 1 punto por respuesta correcta y restas 2 por incorrecta. Se empieza con 10 puntos. Mi idea es que al llegar a 20 el juego termine y “gane el jugador” o al llegar a 0 también termine y pierda el jugador. Y al terminar salga un texto y vuelva al menu principal.

La base de esta idea es una vez logre entender esto, no solo sea multiplicacion sino varias operaciones.

Desde ya les agradezco su tiempo, a continuacion les dejo el codigo (no es de mi autoria)

import pilasengine
pilas = pilasengine.iniciar()


puntaje = pilas.actores.Puntaje(texto=10,color='azul')

puntaje.x = -300
puntaje.y = 220


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()

def crear_una_nueva_pregunta():
    #PREGUNTA
    pilas.fondos.Tarde()   #fondo para manzanas
    preg1 = pilas.azar(0,10)
    preg2 = pilas.azar(0,10)
    pregunta = pilas.actores.Texto("Cuanto es: " + str(preg1) + " * " + str(preg2),
                y=180,magnitud=25)

    #aca reemplaze las cajas por manzanas (cajas escala=2, manzanas escala=1)
    caja1 = pilas.actores.Manzana(x = -200, y = 70)
    caja1.imagen = "Manzana.png"
    caja1.escala = 1
    caja1.esverdadera = False


    caja2 = pilas.actores.Manzana(x = 0, y = 70)
    caja2.imagen = "Manzana.png"
    caja2.escala = 1
    caja2.esverdadera = False



    caja3 = pilas.actores.Manzana(x = 200, y = 70)
    caja3.imagen = "Manzana.png"
    caja3.escala = 1
    caja3.esverdadera = False


    #DEFINO RESPUESTAS
    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)

        #caja verdader
    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)
       #cajas falsas

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


    #ACA EL MONO

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


    #COLISIONES
    cajas = [caja1,caja2,caja3]
    pilas.colisiones.agregar(mono,cajas,respuesta)



def respuesta(mono, caja):
    if caja.esverdadera:
        mono.decir("MUY BIEN")

        # Genera una estrella para mostrar que contesto
        # bien
        estrella = pilas.actores.Estrella()
        estrella.x = caja.x
        estrella.y = caja.y
        estrella.escala = 0.2
        estrella.escala = [2, 1] * 2

        # aumenta el puntaje
        puntaje.aumentar()

        # Reinicia el juego pasados los 2 segundos.
        pilas.tareas.una_vez(2, reiniciar)
    else:
        bum=pilas.actores.Explosion()
        bum.x=caja.x
        bum.y=caja.y
        bum.escala= 0.2
        bum.escala = [2,1]*2
        mono.decir("CUALQUIERA")
        pilas.camara.vibrar()
        caja.eliminar()
        puntaje.aumentar(-2)


crear_una_nueva_pregunta()

Hola mcasado, fijate en las imagenes que puse en mi post si te parece bien ese menú.

¿Cómo pongo los codigos acá sin necesidad de reescribir todo?

Sino aca tenes la foto del menú de mi juego.

Espero te sirva de ayuda. De todas maneras vi ese codigo, supongo que si lo entendiste podes darme una mano con lo que necesito hacer.
Un saludo.

El menú está pensado para dividir un juego en escenas… en este caso el juego no está dividido en escenas, de ahí la dificultad de poner un menú.

Recomiendo que revisen el tutorial sobre creación de menus y escenas.

http://foro.pilas-engine.com.ar/t/tutorial-creacion-de-menu-y-escenas-en-8-pasos/

Un saludo. :wink:

def respuesta(mono, caja):
    if caja.esverdadera:
        mono.decir("MUY BIEN")

        # Genera una estrella para mostrar que contesto
        # bien
        estrella = pilas.actores.Estrella()
        estrella.x = caja.x
        estrella.y = caja.y
        estrella.escala = 0.2
        estrella.escala = [2, 1] * 2

        # aumenta el puntaje
        if puntaje.valor < 20:
			puntaje.aumentar()

			# Reinicia el juego pasados los 2 segundos.
			pilas.tareas.una_vez(2, reiniciar)
			
		else:
			pilas.avisar(u'FELICIDADES, HAS GANADO!!!')