#ifndef GUARD_GAME_H #define GUARD_GAME_H #include #include "mingl/mingl.h" #include "pixelManager.h" #include "utils.h" #include "playerDef.h" #include "player.h" #include "playMode.h" #include "configData.h" #include "projectiles.h" using namespace std; class Game { private: MinGL window; PixelManager pm; ConfigData confData; Position basePos; InvadersGrid grid; bool direction = true; vector missiles; vector torpedos; PlayMode playMode; vector players; // invaders related variables unsigned fireCooldown=120; // basic methods void display(); // managers void managePlayers(); void manageOnePlayer(unsigned); bool manageInvaders(); // collision things void remCollidingProjectiles(); void moveMissiles(); void moveTorpedos(); bool checkMissilesAndPlayers(); bool checkTorpedosAndInvaders(); bool invadersTouchPlayer(); public: // in case someone wants to mess with the code, here's a minimal API, costs nothing to us Game(); void managedGames(); WinValue playGame(); PlayMode initialMenuHandler(); bool deathMenuHandler(); bool reloadConfig(); }; #endif