Gracias por la ayuda comparto mi juego

ola gracias por contestar no ya resolví quería saber si lo puedo compartir ya que me guié de muchas partes del foro si me dejas subir aquí eta el codigo

> # -*- encoding: utf-8 -*-
> import pilasengine
> import random
> 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')

> pilas = pilasengine.iniciar()



> class EscenaMenu(pilasengine.escenas.Escena):
>     def iniciar(self):

>         self.fondo = self.pilas.fondos.Fondo("Imagenes/fondoinicio.png")
>         self.Mi_Menu = pilas.actores.Menu(
>             [
>                 (u"Jugar", self.Opcciones),
>                 (u"Ayuda", self.Ayuda),
>                 (u"Salir", self.Salir_de_Pilas)
>                 
>             ])

>         Nombre_de_juego = pilas.actores.Texto(u"Menu Principal")
>         Nombre_de_juego.color = pilas.colores.amarillo
>         Nombre_de_juego.y = 50

>     def actualizar(self):
>         pass

>     def Ayuda(self):
>         pilas.escenas.EscenaAyuda()

>     def Opcciones(self):
>         pilas.escenas.Opcciones()
>         
>     def Salir_de_Pilas(self):
>         pilas.terminar()
>         
> class Opcciones(pilasengine.escenas.Escena):
>     def iniciar(self):


>         self.fondo_juego = pilas.fondos.Noche()
>         self.fondo_juego.imagen = "Imagenes/opccion.png"
>         self.pilas.actores.Boton_Regresar()
>         self.Mi_Menu = pilas.actores.Menu(
>             [
>                 (u"Facil", self.Ir_al_juego),
>                 (u"Dificil", self.nivel)
>                 
>             ])

>         Nombre_de_juego = pilas.actores.Texto(u"Elige nivel")
>         Nombre_de_juego.color = pilas.colores.amarillo
>         Nombre_de_juego.y = 50



>         
>     def nivel(self):
>         pilas.escenas.Escena_Juego1()

>     def Ir_al_juego(self):
>         pilas.escenas.Escena_Juego()



> class EscenaAyuda(pilasengine.escenas.Escena):
>     def iniciar(self):
>         self.fondo_juego = pilas.fondos.Noche()
>         self.fondo_juego.imagen = "Imagenes/fondo.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 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.EscenaMenu()
>         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 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 Enemigo1(pilasengine.actores.Actor):
>     def iniciar(self):
>         self.imagen = "Imagenes/kunai.png"
>         self.x = pilas.azar(-1390, 1390) * 0.2
>         self.y = 290
>         self.velocidad = 10
>         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(1, self.crear_un_actor_Nuez2)
>         self.pilas.tareas.siempre(4, 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', 'Enemigo', self.colision5)

>     def Tex(self):
>         FondoJuego = pilas.fondos.Fondo()
>         FondoJuego.imagen = pilas.imagenes.cargar("Imagenes/fondomenu.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_Enemigo(self):
>         self.pilas.actores.Enemigo()
>     def regresar(self, evento):
>         pilas.escenas.PantallaMenu()
>     

>     def colision1(self, Pr, Nue1):
>         Nue1.eliminar()
>         self.puntaje.aumentar(5)
>         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(5)
>         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
>         if self.puntaje.valor < 100:
>                 self.puntaje.aumentar(1)
>         else:
>                 pilas.avisar("Haz Ganado!!!")
>                 Pr.eliminar()
>                 pilas.escena_actual().tareas.eliminar_todas()
>         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()



> class Escena_Juego1(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(2, self.crear_un_actor_Enemigo1)
>         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', 'Enemigo1', self.colision6)
>         self.pilas.colisiones.agregar(
>             'Actor_Principal', 'Enemigo', self.colision5)

>         

>     def Tex(self):
>         FondoJuego = pilas.fondos.Fondo()
>         FondoJuego.imagen = pilas.imagenes.cargar("Imagenes/fondodificil.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_Enemigo1(self):
>         self.pilas.actores.Enemigo1()
>     
>     def crear_un_actor_Enemigo(self):
>         self.pilas.actores.Enemigo()

>     def colision1(self, Pr, Nue1):
>         Nue1.eliminar()
>         self.puntaje.aumentar(1)
>         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(1)
>         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
>         if self.puntaje.valor < 10:
>                 self.puntaje.aumentar(1)
>         else:
>                 pilas.avisar("Haz Ganado!!!")
>                 Pr.eliminar()
>                 pilas.escena_actual().tareas.eliminar_todas()
>                 
>         sonido_de_recolectar.reproducir()
>     def colision5(self, Pr, Enem):
>         Enem.eliminar()
>         pilas.utils.interpolar(self.puntaje, 'escala',
>                                4.5, duracion=0.5, tipo='elastico')
>         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()

>     def colision6(self, Pr, Enem):
>         Enem.eliminar()
>         pilas.utils.interpolar(self.puntaje, 'escala',
>                                4.5, duracion=0.5, tipo='elastico')
>         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(EscenaMenu)
> pilas.escenas.vincular(Escena_Juego)
> pilas.escenas.vincular(Escena_Juego1)
> 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.actores.vincular(Enemigo1)


> pilas.escenas.vincular(EscenaAyuda)
> pilas.escenas.vincular(Opcciones)

> pilas.escenas.EscenaMenu()

> pilas.ejecutar()

el menu seria asi

la ayuda seria asi

cuando das a jugar seria elegir entre dos niveles

facil:conseguir 100 puntos para ganar
difil:conseguir 50 para ganar
y este seria la pantalla del modo facil

y este del dificil

y eso seria todo el juego
gracias por la ayuda

4 Likes

Hola, podrías compartir las imágenes y audios?
Soy demasiado novato en esto y quisiera tener juegos como este de ejemplo.
Gracias por compartir tu juego