forked from jaildesigner-jailgames/jaildoctors_dilemma
Commit to continue on other pc
This commit is contained in:
57
source/main.cpp
Normal file
57
source/main.cpp
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
Código fuente creado por JailDesigner (2020)
|
||||
Empezado en Castalla el 15/07/2020.
|
||||
|
||||
Descripción del enfoque utilizado para crear el juego.
|
||||
|
||||
El programa contine una serie de clases/objetos básicos: la clase sprite
|
||||
permite dibujar partes de un fichero png en pantalla. La clase AnimatedSprite
|
||||
contiene funcionalidad adicional para crear animaciones. La clase text permite
|
||||
dibujar letras de un png en pantalla a partir de una cadena de texto. La clase
|
||||
menu permite crear una estructura con diferentes elementos, escribirlos en
|
||||
pantalla y seleccionar uno de ellos.
|
||||
|
||||
A continuación tenemos las clases enfocadas a la lógica del juego, la clase player
|
||||
contiene la información del jugador, la clase balloon la de los enemigos y la
|
||||
clase bullet para las balas que dispara el jugador. La clase background es
|
||||
muy simple y sirve para pintar el fondo de la pantalla. Por ultimo, la clase
|
||||
mDirector es la que realiza toda la lógica y se encarga de hacer interactuar
|
||||
al resto de objetos entre si.
|
||||
|
||||
El objeto mDirector tiene tres estados: titulo, juego y pausa. Segun su estado
|
||||
el bucle que recorre es distinto. En el bucle juego, el objeto mDirector
|
||||
tiene un objeto jugador, un vector con los objetos globo y un vector con los
|
||||
objetos bala. Se encarga de comprobar las entradas de teclado o gamepad para
|
||||
cerrar la aplicacion, saltar al estado de pausa y para mover al jugador. Recorre
|
||||
el vector de globos y de balas y si tienen algun tipo asignado las gestiona.
|
||||
Comprueba las colisiones entre los globos y el jugador y entre las balas y los
|
||||
globos. Tiene ademas un nivel de amenaza que calcula en funcion del numero de globos
|
||||
en pantalla y que se va incrementando conforme aumenta la puntuación del jugador.
|
||||
|
||||
Los objetos globo tienen varios contadores para alternar de un estado a otro.
|
||||
|
||||
En los vectores que contienen objetos, se considera activos los objetos que tienen
|
||||
un tipo asociado diferente a NO_KIND
|
||||
*/
|
||||
|
||||
#include "director.h"
|
||||
#include <stdio.h>
|
||||
|
||||
int main(int argc, char *args[])
|
||||
{
|
||||
printf("Starting the game...\n\n");
|
||||
|
||||
// Crea el objeto Director
|
||||
Director *mDirector = new Director(args[0]);
|
||||
|
||||
// Bucle principal
|
||||
mDirector->run();
|
||||
|
||||
// Destruye el objeto Director
|
||||
delete mDirector;
|
||||
mDirector = nullptr;
|
||||
|
||||
printf("\nShutting down the game...\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user