Laboratorio de Computación II UTN – FRGP Universidad Tecnológica Nacional – Facultad Regional Gral. Pacheco Trabajo Práctico Final Carrera: Técnico Superior en Programación Cátedra: Laboratorio de Computación II Tema seleccionado: Plataforma para el desarrollo de un juego de combate Grupo de Trabajo: - Chapo Andrés - Dirube Matías Docentes: - Liliana - Abel - Angel 1 Laboratorio de Computación II UTN – FRGP Anime Fight Anime Fight consiste en una base de desarrollo, programada en C++ con el uso de las librerias de SDL, para la creación de un juego de pelea. Anime Fight también es un programa ya terminado, al cual se le pueden agregar personajes y funciones a gusto, todo con el uso de herramientas interactivas creadas para dicho fin. Éstas herramientas son, principalmente, el Collition Maker y el File Player Maker, los cuales describiremos en detalle luego. El programa es de Código Abierto y, a contuniación, explicaremos brevemente las clases y cómo es el software propiamente dicho. El código El codigo del programa comienza, como suele ser, con un “main”, con el nombre de main.cpp (cabe destacar que el juego fue codificado enteramente con el compilador codeblocks, por lo que hay un archivo de workspace y de code blocks proyect pertenecientes a dicho compilador). En el main nos encontramos con los llamados a las clases necesarias para que el programa funcione correctamente, las cuales se encargan del manejo de las imágenes, de los controles, ya sea teclado o joystick y del sonido. En el main también se encuentra el Game Loop, que es el ciclo que se encarga de “plasmar” por asi decir el juego en la pantalla y el progreso del mismo. 2 Laboratorio de Computación II UTN – FRGP Las Clases: CFrame: es la clase encargada de cargar los cuadros (frames) pertenecientes al programa. Cinput: es una clase que permite tomar texto, es como el “cin>>” del C++ pero para SDL. CommandButton: es la clase que administra los botones pertenecientes al Collition Maker. Life: es la clase que se encarga de la “barra de vida” de nuestro personaje. Rect: esta clase permite manejar los cuadrados imaginarios que se usan para que las imágenes de los personajes colisionen o no al realizar un ataque. Csprite: se encarga del manejo de los sprites (las tiras de dibujos que luego pasan a ser la animación de nuestro personaje). Ctext: permite manejar el texto dentro del programa. DataFile: es la clase que permite el manejo de los archivos de datos. Éstos archivos son usados para administrar los fondos y otros factores ajenos a los personajes. DataPassFile: maneja una cadena de caracteres asociada al DataFile. FilePlayer: es la clase que permite guardar información sobre el manejo de todo lo referido a los personajes. 3 Laboratorio de Computación II UTN – FRGP KeysFile: es el archivo donde se almacena la información de las teclas usadas para comandar al personaje. Player: es la clase que utiliza la información de FilePlayer y permite su ejecución. SoundAction: como su nombre lo indica, es la clase que maneja el sonido tras cada acción del personaje. CollitionRect: es la clase encargada de los rectángulos que generan las colisiones entre los personajes. FullActionFile: es la clase madre del programa, la encargada de almacenar la información de todos los jugadores. FullAction: no es una clase, pero es el método principal del programa. Pertenece a la clase “player”. Es el que permite reproducir las animaciones de los ataques, caminar, saltar y cada acción que realiza el personaje. Su desarrollo fue una medida de “economizar” código reiterativo, ya que se tenia que repetir código muy similar para cada acción del personaje por lo que se desarrollo éste método. El método paso de ser una rutina externa a un método polimórfico, para luego dar lugar a la creación del FilePlayer o archivo de personaje el cual carga las instancias de un archivo y permite que FullAction las reproduzca. 4 Laboratorio de Computación II UTN – FRGP El juego El juego se instala solo mediante el archivo auntoinstalable. Para jugar, es preciso hacer doble click en el botón que aparecerá en el escritorio el cual es similar a ésta imagen. 5 UTN – FRGP Laboratorio de Computación II Menú de selección de Jugadores Recuadro: estas imágenes son las pertenecientes al personaje que uno selecciona con los recuadros verde o azul que se pueden apreciar en la imagen en las caras de los personajes. Recuadro: las pequeñas imágenes dentro de éste rectángulo son las pertenecientes a los personajes disponibles para ser elegidos, los cuales se seleccionan con los cuadrados verde y azul, pertenecientes a cada uno de los personajes. Recuadro: lo que se ve comprendido en este rectángulo es la grilla donde se pueden agregar las imágenes correspondientes a los personajes que luego puedan incluir al juego. Menú de selección de Fondos 6 UTN – FRGP Laboratorio de Computación II En éste menú, uno puede seleccionar el fondo que desee, el que uno elija es el que se ve en la zona central. Para ver los diferentes fondos uno debe cambiarlos con el uso de las flechas direccionales de arriba y abajo. El juego en si 7 UTN – FRGP Laboratorio de Computación II Recuadro: éstas son las barras de vida de cada uno de los personajes, corresponden al personaje que aparece en cada lado. Recuadro: éstos son los personajes que hemos seleccionado para jugar. 8