#ifndef GUARD_GAME_H #define GUARD_GAME_H #include #include "mingl/mingl.h" #include "pixel_manager.h" #include "utils.h" #include "player_def.h" #include "player.h" #include "play_mode.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; void managePlayers(); bool manageInvaders(); void display(); // collision thingies void remCollidingProjectiles(); void moveMissiles(); void moveTorpedos(); bool checkMissilesAndPlayers(); bool checkTorpedosAndInvaders(); bool invadersTouchPlayer(); void manageOnePlayer(unsigned); 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