A continuación realizaremos el comentario del juego "Plataformas":
import pilasengine "Importación del módulo de pilasengine y sus componentes"
pilas = pilasengine.iniciar( ) "Inicio del programa"
pilas.reiniciar_si_cambia(__file__)
mapa = pilas.actores.MapaTiled('plataformas.tmx', densidad=0, "Instrucción para aplicar una física al fondo"
restitucion=0, friccion=0, amortiguacion=0)
caja= pilas.actores.Caja() "Importación del actor (caja)"
caja.aprender('arrastrable') "Habilidad para poder arrastrar al actor (caja)"
pilas.fondos.Tarde() # "Instrucción para aplicar el fondo Tarde"
class Protagonista(pilasengine.actores.Actor): # "Instrucción para crear una nueva clase llamada -Protagonista- donde indicaremos los atributos del actor"
def iniciar(self): "Función para crear el actor aceituna"
self.imagen = "aceituna.png" "Indicación de la imagen que se usará para el actor"
self.figura= pilas.fisica.Circulo(self.x,self.y,17) "Instrucción para darle la física del círculo a la aceituna"
self.figura.sin_rotacion= True "Instrucción para darle al actor el atributo de no (sin) rotación"
self.escala_de_gravedad=2 "Indicación para darle una gravedad de valor 2"
self.sensor_pies=pilas.fisica.Rectangulo(self.x, self.y, 20, sensor=True, dinamica=False)
"Instrucción para que el actor al tocar el suelo, tenga la física del rectángulo"
def actualizar(self): "Función para actualizar los movimientos que hace nuestro actor"
velocidad=10 "Indicación para darle el valor de 10 a la velocidad del actor"
salto=15 "Indicación para darle el valor de 15 al salto del actor"
self.x=self.figura.x "Instrucción para igualar la -x- y la -y- del objeto con el de las figuras"
self.y=self.figura.y
if self.pilas.control.derecha: "Condición para el control de la derecha de la figura"
self.figura.velocidad_x=velocidad "Instrucción para que la -x- de la velocidad tome el valor velocidad"
self.rotacion-=velocidad "Instrucción para quela rotación se decremente con el valor de la velocidad"
elif self.pilas.control.izquierda: "Condición para el control de la izquierda de la figura"
self.figura.velocidad_x=-velocidad "Instrucción para que la -x- de la velocidad tome el valor velocidad"
self.rotacion+=velocidad "Instrucción para que la rotación se incremente con el valor de la velocidad"
else:
self.figura.velocidad_x=0 "Instrucción para que la -x- de la velocidad toma el valor 0 y por tanto, se para"
if self.si_esta_pisando_suelo(): "Condición para cuando el actor este en el suelo"
if self.pilas.control.arriba and (int(self.figura.velocidad_y))<=0:
self.figura.impulsar(0,salto) "Instrucción para que si pulsamos el control arriba y el componente y de la velocidad es negativo, entonces la figura se impulsa con valores 0 y variable salto"
self.sensor_pies.x=self.x "Instrucción para que valor x del sensor de pies tenga el valor x"
self.sensor_pies.y=self.y-20 "Instrucción para que el valor y del sensor de pies tenga el valor y-20"
if self.si_esta_pisando_suelo(): "Condición para cuando el actor este en el suelo"
self.imagen= "aceituna.png" "Instrucción para que si lo esta, introduzca la imagen aceituna"
else:
self.imagen="aceituna_risa.png" "Instrucción para que si no lo esta, introduzca la imagen de la aceituna sonriendo"
def si_esta_pisando_suelo(self): "Función para que el actor pueda pisar el suelo"
return len(self.sensor_pies.figuras_en_contacto)>0
#Programa Principal
pilas.actores.vincular(Protagonista) "Vinculación del actor con la classe protagonista"
paquito=pilas.actores.Protagonista() "Instrucción para llamar al actor protagonista"
pilas.ejecutar() "Indicación para que se ejecute el programa pilasengine"
import pilasengine "Importación del módulo de pilasengine y sus componentes"
pilas = pilasengine.iniciar( ) "Inicio del programa"
pilas.reiniciar_si_cambia(__file__)
mapa = pilas.actores.MapaTiled('plataformas.tmx', densidad=0, "Instrucción para aplicar una física al fondo"
restitucion=0, friccion=0, amortiguacion=0)
caja= pilas.actores.Caja() "Importación del actor (caja)"
caja.aprender('arrastrable') "Habilidad para poder arrastrar al actor (caja)"
pilas.fondos.Tarde() # "Instrucción para aplicar el fondo Tarde"
class Protagonista(pilasengine.actores.Actor): # "Instrucción para crear una nueva clase llamada -Protagonista- donde indicaremos los atributos del actor"
def iniciar(self): "Función para crear el actor aceituna"
self.imagen = "aceituna.png" "Indicación de la imagen que se usará para el actor"
self.figura= pilas.fisica.Circulo(self.x,self.y,17) "Instrucción para darle la física del círculo a la aceituna"
self.figura.sin_rotacion= True "Instrucción para darle al actor el atributo de no (sin) rotación"
self.escala_de_gravedad=2 "Indicación para darle una gravedad de valor 2"
self.sensor_pies=pilas.fisica.Rectangulo(self.x, self.y, 20, sensor=True, dinamica=False)
"Instrucción para que el actor al tocar el suelo, tenga la física del rectángulo"
def actualizar(self): "Función para actualizar los movimientos que hace nuestro actor"
velocidad=10 "Indicación para darle el valor de 10 a la velocidad del actor"
salto=15 "Indicación para darle el valor de 15 al salto del actor"
self.x=self.figura.x "Instrucción para igualar la -x- y la -y- del objeto con el de las figuras"
self.y=self.figura.y
if self.pilas.control.derecha: "Condición para el control de la derecha de la figura"
self.figura.velocidad_x=velocidad "Instrucción para que la -x- de la velocidad tome el valor velocidad"
self.rotacion-=velocidad "Instrucción para quela rotación se decremente con el valor de la velocidad"
elif self.pilas.control.izquierda: "Condición para el control de la izquierda de la figura"
self.figura.velocidad_x=-velocidad "Instrucción para que la -x- de la velocidad tome el valor velocidad"
self.rotacion+=velocidad "Instrucción para que la rotación se incremente con el valor de la velocidad"
else:
self.figura.velocidad_x=0 "Instrucción para que la -x- de la velocidad toma el valor 0 y por tanto, se para"
if self.si_esta_pisando_suelo(): "Condición para cuando el actor este en el suelo"
if self.pilas.control.arriba and (int(self.figura.velocidad_y))<=0:
self.figura.impulsar(0,salto) "Instrucción para que si pulsamos el control arriba y el componente y de la velocidad es negativo, entonces la figura se impulsa con valores 0 y variable salto"
self.sensor_pies.x=self.x "Instrucción para que valor x del sensor de pies tenga el valor x"
self.sensor_pies.y=self.y-20 "Instrucción para que el valor y del sensor de pies tenga el valor y-20"
if self.si_esta_pisando_suelo(): "Condición para cuando el actor este en el suelo"
self.imagen= "aceituna.png" "Instrucción para que si lo esta, introduzca la imagen aceituna"
else:
self.imagen="aceituna_risa.png" "Instrucción para que si no lo esta, introduzca la imagen de la aceituna sonriendo"
def si_esta_pisando_suelo(self): "Función para que el actor pueda pisar el suelo"
return len(self.sensor_pies.figuras_en_contacto)>0
#Programa Principal
pilas.actores.vincular(Protagonista) "Vinculación del actor con la classe protagonista"
paquito=pilas.actores.Protagonista() "Instrucción para llamar al actor protagonista"
pilas.ejecutar() "Indicación para que se ejecute el programa pilasengine"
Comentarios
Publicar un comentario