Hacé con software Libre: programando un juego Parte 1

Escribí este tutorial para la página de Huayra, dentro del Programa Conectar Igualdad, y se los comparto en el blog. Hoy toca una actividad muy divertida: la programación. Y para probar vamos a crear un juego simple con PILAS-Engine.

Para comenzar a trabajar,  vamos a crear una carpeta donde estará todo nuestro proyecto.  Creamos la carpeta «ejemploPILAS» y dentro creamos un archivos de texto plano y lo llamamos «juego.py» ( botón derecho -> crear un documento -> archivo nuevo )

juego-pilas_01

Vamos a editar el archivo con la aplicación «Geany»,  aunque podés usar tu editor preferido, como Pluma o cualquier otro.  Dentro del archivo vamos a escribir el siguiente código:

# -*- coding: utf-8
import pilasengine

pilas = pilasengine.iniciar()

pilas.ejecutar()

juego-pilas_02

Vamos a probar esta estructurá básica del engine PILAS,  solo nos debería mostrar una ventana vacía de color azul, característica de PILAS.   Para ejecutar lo que hicimos hasta ahora,  abrimos una Terminal ( CTRL + ALT + T )  o usamos la que trae incluida Geany.   Escribimos $ python [ ruta hasta el archivo ]/juego.py.   En nuestro ejemplo la carpeta de nuestro juego está en el escritorio, entonces sería:

$ python /home/alumno/Escritorio/ejemploPILAS/juego.py

juego-pilas_03

Avancemos agregando algunas cosas al juego, por ejemplo un contador de vidas o puntos y un fondo animado. Para eso agregamos las siguientes líneas a nuestro código, justo después de pilas = pilasengine.iniciar()  y antes de pilas.ejecutar()

# -*- coding: utf-8
import pilasengine

pilas = pilasengine.iniciar()
puntaje = pilas.actores.Puntaje(280, 200, color=pilas.colores.blanco)
fondo = pilas.fondos.Galaxia(dx=-2, dy=0)

pilas.ejecutar()


Al mejor estilo programa de cocina,  tenemos «acá preparadas» un par de imágenes que nos servirán para nuestro ejemplo.  se trata de una nave espacial (original, no?)  y una estrella. Nótese que son archivos en formato PNG con Alfa, esto quiere decir que el fondo de la imagen es transparente.

lanave

La nave espacial es la protagonista en este ejemplo, vamos a incorporarla al juego.  Primero copiamos los archivos a una carpeta «imagenes» dentro de «ejemploPILAS».   Luego, agregamos el siguiente código a nuestra aplicación.

primero vamos a ajustar el tamaño de la ventana, y agregarle un título.  Modificamos esta línea:
pilas = pilasengine.iniciar()
para que quede así:
pilas = pilasengine.iniciar(ancho=900, alto=550, titulo=’De la tierra a la luna’)

ahora agregamos el código para crear un «actor» en PILAS. El código completo del programa sería:

# -*- coding: utf-8
import pilasengine

pilas = pilasengine.iniciar(ancho=900, alto=550, titulo=’De la tierra a la luna’)

puntaje = pilas.actores.Puntaje(280, 200, color=pilas.colores.blanco)
fondo = pilas.fondos.Galaxia(dx=-2, dy=0)

class Nave(pilasengine.actores.Actor):

def iniciar(self):
self.imagen = «imagenes/lanave.png»

minave = Nave(pilas);
minave.escala = 0.7

pilas.ejecutar()

juego-pilas_04

En la próxima entrega veremos cómo interactuarán los actores dentro del juego.  Nos vemos!
Copyleft · Diego Accorinti para Huayra gnu/linux.
Licencia Creative Commons CC-BY

Libro sobre programación orientada a objetos y patrones de diseño

Diseño evolucionado de sistemas informáticos orientados a objetos, desde el lenguaje natural. Incluye una gran colección de ejemplos en Python y PHP.
Una nueva forma de aplicar el paradigma de la programación orientada a objetos, yendo desde lo más básico a conceptos avanzados.
Tipos de objetos (basados en caso de uso real). Patrones de diseño (Singleton, Factory y Composite).

Link de descarga

Link alternativo