Un videojuego inspirado en Pokémon en el que debes recoger todas las Pokeballs y llegar a la cesta del Profesor sin ser atacado por Ditto o Snorlax. Este tiene una estética animada, colorida y ofrece una experiencia de juego muy divertida.
¡Fácil!, el proyecto dispone de un Makefile con diversas instrucciones para hacer esta tarea más fácil.
• Linux
Ejecuta make
en el directorio raíz del proyecto.
Si quisieras forzar un make completo ejecuta make re
.
Además de la ventana de juego se puede observar bastante información interesante durante la ejecución del juego en la línea de comandos.
• Mientras las entity
se desplazan de unas casillas a otras gracias de variables float
para conseguir un efecto fluido en lugar de
un salto de casilla a casilla voy variando sus sprites dando pasos en función de las coordenadas hacia las que se muevan.
• He diseñado una función que almacena una imagen sobre otra sin pintar los píxeles de un color determinado, por lo que consigo transparencia
y así las imagenes no son cargadas como bloques.
• El juego se renderiza de una sola vez almacenando cada uno de los items del mapa en un buffer
e imprime la imagen total
en lugar de ir una a una lo cual podría aumentar significativamente el consumo de recursos. Tras imprimir el mapa hago uso de una función que he
creado para dibujar imagenes con transparencia para poner a las entity
sobre este.
Durante la ejecución del programa se llevan a cabo diversos algoritmos de búsqueda.
En una primera instancia se emplea un Algoritmo DFS para comprobar que existe una ruta válida de punto 'P'
a 'E'
,
después durante todo el juego y en hilos separados los enemigos Ditto
y Snorlax
tratan de encontrar al player
através de un algoritmo de línea recta que respeta coins
, walls
, exit
y a su pokecompañero y se mueven en
intervalos diferentes a distintas velocidades.
He creado un script en bash que consulta todos y cada uno de los ficheros del directorio actual y enumera sus funciones, es bastante útil.