quiero poner a mi juego lo siguiente
un menu con tres opciones
inicio
dificulta
tutorial
salir
en dificulta que pueda coger entre un nivel facil o dificil
y hacer que mi personaje gane cuando llegue a cierto punto de puntaje gracias de antemano
he probado todo y no puedo soy nuevo en esto
aqui esta mi codigo del juego
import pilasengine
import random
pilas = pilasengine.iniciar()
sonido_de_menu = pilas.sonidos.cargar('Sonidos1/menu.wav')
sonido_de_juego = pilas.sonidos.cargar('Sonidos1/juego.wav')
sonido_de_gameover = pilas.sonidos.cargar('Sonidos1/fin.wav')
sonido_intro = pilas.sonidos.cargar('Sonidos1/intro.wav')
sonido_de_recolectar = pilas.sonidos.cargar('Sonidos1/recolectar.wav')
class Escena_Menu(pilasengine.escenas.Escena):
def iniciar(self):
FondoMenu = pilas.fondos.Fondo()
FondoMenu.imagen = pilas.imagenes.cargar("Imagenes/fondomenu.png")
texto = pilas.actores.Texto("Iniciar Juego")
texto.x = 0
texto.y = 50
self.pilas.eventos.click_de_mouse.conectar(self.iniciar_juego)
sonido_intro.reproducir()
def iniciar_juego(self, evento):
self.pilas.escenas.Escena_Juego()
sonido_de_menu.reproducir()
sonido_de_juego.reproducir()
sonido_intro.detener()
class Actor_Principal(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = pilas.imagenes.cargar_grilla( "Imagenes/naruto.png")
self.x = 0
self.y = -170
self.aprender(pilas.habilidades.LimitadoABordesDePantalla)
self.radio_de_colision = 70
def actualizar(self):
if pilas.control.izquierda:
self.x -= 8
self.espejado = False
self.imagen.avanzar(velocidad = 10)
if pilas.control.derecha:
self.x += 8
self.espejado = True
self.imagen.avanzar(velocidad = 10)
class Boton_Regresar(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = "Imagenes/regresar.png"
self.cuando_hace_click = self.volver_a_escena_principal
self.y = -213
self.x = -283
self.escala = 0.8
def volver_a_escena_principal(self, evento):
self.pilas.escenas.Escena_Menu()
sonido_de_juego.detener()
sonido_intro.reproducir()
class Nuez1(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = "Imagenes/ramen1.jpg"
self.aprender(pilas.habilidades.PuedeExplotarConHumo)
self.x = pilas.azar(-1390, 1390) * 0.2
self.y = 290
self.velocidad = 0
self.radio_de_colision = 14
def actualizar(self):
self.velocidad += 0.02
self.y -= self.velocidad
self.rotacion += 2
if self.y < -300:
self.eliminar()
class Nuez2(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = "Imagenes/ramen2.jpg"
self.aprender(pilas.habilidades.PuedeExplotarConHumo)
self.x = pilas.azar(-1390, 1390) * 0.2
self.y = 290
self.velocidad = 0
self.radio_de_colision = 14
def actualizar(self):
self.velocidad += 0.03
self.y -= self.velocidad
self.rotacion += 2
if self.y < -300:
self.eliminar()
class Nuez3(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = "Imagenes/ramen3.jpg"
self.aprender(pilas.habilidades.PuedeExplotarConHumo)
self.x = pilas.azar(-1390, 1390) * 0.2
self.y = 290
self.velocidad = 0
self.radio_de_colision = 14
def actualizar(self):
self.velocidad += 0.04
self.y -= self.velocidad
self.rotacion += 2
if self.y < -300:
self.eliminar()
class Nuez4(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = "Imagenes/ramen4.jpg"
self.aprender(pilas.habilidades.PuedeExplotarConHumo)
self.x = pilas.azar(-1390, 1390) * 0.2
self.y = 290
self.velocidad = 0
rectangulo = pilas.fisica.Rectangulo(0, 0, 40, 10, sensor=True, dinamica=False)
self.figura_de_colision = rectangulo
def actualizar(self):
self.velocidad += 0.05
self.y -= self.velocidad
self.rotacion += 0
if self.y < -300:
self.eliminar()
class Enemigo(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = "Imagenes/kunai.png"
self.x = pilas.azar(-1390, 1390) * 0.2
self.y = 290
self.velocidad = 0
rectangulo = pilas.fisica.Rectangulo(0, 0, 90, 40, sensor=True, dinamica=False)
self.figura_de_colision = rectangulo
def actualizar(self):
self.velocidad += 0.08
self.y -=self.velocidad
if self.y < -300:
self.eliminar()
class Escena_Juego(pilasengine.escenas.Escena):
def iniciar(self):
self.Tex()
self.pilas.actores.Actor_Principal()
self.pilas.tareas.siempre(1, self.crear_un_actor_Nuez1)
self.pilas.tareas.siempre(3, self.crear_un_actor_Nuez2)
self.pilas.tareas.siempre(5, self.crear_un_actor_Nuez3)
self.pilas.tareas.siempre(7, self.crear_un_actor_Nuez4)
self.pilas.tareas.siempre(9, self.crear_un_actor_Enemigo)
self.pilas.actores.Boton_Regresar()
self.pilas.colisiones.agregar('Actor_Principal','Nuez1', self.colision1)
self.pilas.colisiones.agregar('Actor_Principal','Nuez2', self.colision2)
self.pilas.colisiones.agregar('Actor_Principal','Nuez3', self.colision3)
self.pilas.colisiones.agregar('Actor_Principal','Nuez4', self.colision4)
self.pilas.colisiones.agregar('Actor_Principal','Enemigo', self.colision5)
def Tex(self):
FondoJuego = pilas.fondos.Fondo()
FondoJuego.imagen = pilas.imagenes.cargar("Imagenes/fondo.png")
self.puntaje = pilas.actores.Puntaje(-20, 200, color=pilas.colores.Color(0,204,255))
self.puntaje.escala = 1.5
def crear_Principal1(self):
self.pilas.actores.Actor_Principal()
def crear_un_actor_Nuez1(self):
self.pilas.actores.Nuez1()
def crear_un_actor_Nuez2(self):
self.pilas.actores.Nuez2()
def crear_un_actor_Nuez3(self):
self.pilas.actores.Nuez3()
def crear_un_actor_Nuez4(self):
self.pilas.actores.Nuez4()
def crear_un_actor_Enemigo(self):
self.pilas.actores.Enemigo()
def colision1(self, Pr, Nue1):
Nue1.eliminar()
self.puntaje.aumentar(100)
print(self.puntaje.valor)
pilas.utils.interpolar(self.puntaje, 'escala', 1.5, duracion=0.5, tipo='elastico')
self.puntaje.rotacion = random.randint(0, 60)
self.puntaje.rotacion = [0], 0.6
sonido_de_recolectar.reproducir()
def colision2(self, Pr, Nue2):
Nue2.eliminar()
self.puntaje.aumentar(50)
pilas.utils.interpolar(self.puntaje, 'escala', 1.5, duracion=0.5, tipo='elastico')
self.puntaje.rotacion = random.randint(30, 60)
self.puntaje.rotacion = [0], 0.6
sonido_de_recolectar.reproducir()
def colision3(self, Pr, Nue3):
Nue3.eliminar()
self.puntaje.aumentar(25)
pilas.utils.interpolar(self.puntaje, 'escala', 1.5, duracion=0.5, tipo='elastico')
self.puntaje.rotacion = random.randint(30, 60)
self.puntaje.rotacion = [0], 0.6
sonido_de_recolectar.reproducir()
def colision4(self, Pr, Nue4):
Nue4.eliminar()
self.puntaje.aumentar(10)
pilas.utils.interpolar(self.puntaje, 'escala', 1.5, duracion=0.5, tipo='elastico')
self.puntaje.rotacion = random.randint(30, 60)
self.puntaje.rotacion = [0], 0.6
sonido_de_recolectar.reproducir()
def colision5(self, Pr, Enem):
Enem.eliminar()
Pr.eliminar()
pilas.escena_actual().tareas.eliminar_todas()
t1 = pilas.actores.Texto("RECAUDASTE\n\n\n")
t1.x = 20
t1.y = 100
t2 = pilas.actores.Texto("FIN DEL JUEGO")
t2.x = 20
t2.y = 0
sonido_de_juego.detener()
sonido_de_gameover.reproducir()
pilas.escenas.vincular(Escena_Menu)
pilas.escenas.vincular(Escena_Juego)
pilas.actores.vincular(Boton_Regresar)
pilas.actores.vincular(Actor_Principal)
pilas.actores.vincular(Nuez1)
pilas.actores.vincular(Nuez2)
pilas.actores.vincular(Nuez3)
pilas.actores.vincular(Nuez4)
pilas.actores.vincular(Enemigo)
pilas.escenas.Escena_Menu()
pilas.ejecutar()