Vamos a explicar todos los pasos para crear un nuevo vídeo-juego:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import pilasengine #Importación de todo el modulo de pilasengine y sus componentes
import random #Importación del modulo para poder realizar acciones aleatorias (podemos colocarlo en el final también)
pilas = pilasengine.iniciar() #Inicio del programa pilasengine
# Variables y Constantes
balas_simples = pilasengine.actores.Bala #Instrucción para indicar el tipo de bala que se quiere
Ovni = [] #Lista vacía del actor del grupo de los enemigos
tiempo=6 #Iniciar la variable tiempo
fin_de_juego=False #Indicación de la variable fin de juego en modo false
#Definiciones#
def Ovni_destruido(disparo, enemigo): #Función de la variable para destruir el ovni
# Eliminar la nave alcanzada
enemigo.eliminar()
disparo.eliminar()
# Actualizar el marcador con un efecto bonito
puntos.escala = 0
puntos.escala = pilas.utils.interpolar(puntos, 'escala', 2, duracion=0.5)
#Instrucción para cambiar el temaño del marcador de una escala 0 a una de 2 cada vez
que se gane un punto y esto ocurre cada 0.5 segundos.
puntos.aumentar(1)
def crear_Ovni(): #Función para crear el enemigo
enemigo = pilas.actores.Ovni() #Indicación para usar el actor ovni como enemigo
enemigo.escala = 0
enemigo.escala =pilas.utils.interpolar(enemigo, 'escala', 1.5, duracion=5)
#Instrucción para cambiar el tamaño del actor de una escala 0 a 1.5 en una duración de 5 segundos
enemigo.aprender(pilas.habilidades.PuedeExplotar) #Habilidad que se le da al actor para explotar
x = random.randrange(-320, 320)
y = random.randrange(-240, 240)
if x >= 0 and x <= 100:
x = 180
elif x <= 0 and x >= -100:
x = -180 #Instrucción que se le da a las coordenadas "x" y "y" para que el
if y >= 0 and y <= 100: actor aparezca según el valor que se le indique (por ejemplo: si se
y = 180 le marca que llega a aparecer en el eje de las "x" siendo mayor a
elif y <= 0 and y >= -100: 0 y menor a 100, tenga que aparecer en la coordenada 180).
y = -180
enemigo.x = x
enemigo.y = y
a=random.randrange(-320, 320)
b=random.randrange(-600, 600)
enemigo.x = [a, b], 1
enemigo.y = [b, a], 1
Ovni.append(enemigo) #Instrucción para que aparezca el actor (enemigo)
if fin_de_juego:
return False #Indicación para marcar el fin de juego
else:
return True
def perder(torreta, enemigo): #Función para la acción de perder
# Indicar fin de juego y eliminar lo que ya no se necesita
global fin_de_juego
torreta.eliminar()
pilas.tareas.eliminar_todas()
fin_de_juego = True #Indicación de que se ha llegado al fin de juego
pilas.avisar("Has perdido. =( Conseguiste %d puntos" % (puntos.obtener()))
#Instrucción que indica cuantos puntos has conseguido al ser eliminado
#Programa principal
fondo = pilas.fondos.Fondo() #Indicación para crear un fondo a través de una imagen descargada
fondo.imagen = pilas.imagenes.cargar('espacio.jpg')
puntos = pilas.actores.Puntaje(x=-250, y=200, color=pilas.colores.rosa) #Instrucción que indica en que posición esta el marcador y su color
puntos.magnitud = 40 #Instrucción para cambiar el tamaño de los puntos del marcador
pilas.actores.Sonido() #Indicación para usar el modulo sonido
pilas.ejecutar()
# Añadir la torreta del jugador
torreta = pilas.actores.Torreta(municion_bala_simple=balas_simples, #Parametros que tiene la enemigos=Ovni, torreta (balas, enemigos al
cuando_elimina_enemigo=Ovni_destruido) que disparar y su eliminación)
pilas.tareas.agregar(1, crear_Ovni) #Instrucción para activar la función crear_ovni cada 1 segundo y por tanto, se crea un enemigo cada 1 segundo
pilas.colisiones.agregar(torreta, Ovni, perder) #Instrucción que define las 3 funciones principales
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import pilasengine #Importación de todo el modulo de pilasengine y sus componentes
import random #Importación del modulo para poder realizar acciones aleatorias (podemos colocarlo en el final también)
pilas = pilasengine.iniciar() #Inicio del programa pilasengine
# Variables y Constantes
balas_simples = pilasengine.actores.Bala #Instrucción para indicar el tipo de bala que se quiere
Ovni = [] #Lista vacía del actor del grupo de los enemigos
tiempo=6 #Iniciar la variable tiempo
fin_de_juego=False #Indicación de la variable fin de juego en modo false
#Definiciones#
def Ovni_destruido(disparo, enemigo): #Función de la variable para destruir el ovni
# Eliminar la nave alcanzada
enemigo.eliminar()
disparo.eliminar()
# Actualizar el marcador con un efecto bonito
puntos.escala = 0
puntos.escala = pilas.utils.interpolar(puntos, 'escala', 2, duracion=0.5)
#Instrucción para cambiar el temaño del marcador de una escala 0 a una de 2 cada vez
que se gane un punto y esto ocurre cada 0.5 segundos.
puntos.aumentar(1)
def crear_Ovni(): #Función para crear el enemigo
enemigo = pilas.actores.Ovni() #Indicación para usar el actor ovni como enemigo
enemigo.escala = 0
enemigo.escala =pilas.utils.interpolar(enemigo, 'escala', 1.5, duracion=5)
#Instrucción para cambiar el tamaño del actor de una escala 0 a 1.5 en una duración de 5 segundos
enemigo.aprender(pilas.habilidades.PuedeExplotar) #Habilidad que se le da al actor para explotar
x = random.randrange(-320, 320)
y = random.randrange(-240, 240)
if x >= 0 and x <= 100:
x = 180
elif x <= 0 and x >= -100:
x = -180 #Instrucción que se le da a las coordenadas "x" y "y" para que el
if y >= 0 and y <= 100: actor aparezca según el valor que se le indique (por ejemplo: si se
y = 180 le marca que llega a aparecer en el eje de las "x" siendo mayor a
elif y <= 0 and y >= -100: 0 y menor a 100, tenga que aparecer en la coordenada 180).
y = -180
enemigo.x = x
enemigo.y = y
a=random.randrange(-320, 320)
b=random.randrange(-600, 600)
enemigo.x = [a, b], 1
enemigo.y = [b, a], 1
Ovni.append(enemigo) #Instrucción para que aparezca el actor (enemigo)
if fin_de_juego:
return False #Indicación para marcar el fin de juego
else:
return True
def perder(torreta, enemigo): #Función para la acción de perder
# Indicar fin de juego y eliminar lo que ya no se necesita
global fin_de_juego
torreta.eliminar()
pilas.tareas.eliminar_todas()
fin_de_juego = True #Indicación de que se ha llegado al fin de juego
pilas.avisar("Has perdido. =( Conseguiste %d puntos" % (puntos.obtener()))
#Instrucción que indica cuantos puntos has conseguido al ser eliminado
#Programa principal
fondo = pilas.fondos.Fondo() #Indicación para crear un fondo a través de una imagen descargada
fondo.imagen = pilas.imagenes.cargar('espacio.jpg')
puntos = pilas.actores.Puntaje(x=-250, y=200, color=pilas.colores.rosa) #Instrucción que indica en que posición esta el marcador y su color
puntos.magnitud = 40 #Instrucción para cambiar el tamaño de los puntos del marcador
pilas.actores.Sonido() #Indicación para usar el modulo sonido
pilas.ejecutar()
# Añadir la torreta del jugador
torreta = pilas.actores.Torreta(municion_bala_simple=balas_simples, #Parametros que tiene la enemigos=Ovni, torreta (balas, enemigos al
cuando_elimina_enemigo=Ovni_destruido) que disparar y su eliminación)
pilas.tareas.agregar(1, crear_Ovni) #Instrucción para activar la función crear_ovni cada 1 segundo y por tanto, se crea un enemigo cada 1 segundo
pilas.colisiones.agregar(torreta, Ovni, perder) #Instrucción que define las 3 funciones principales
Comentarios
Publicar un comentario