#ifndef GAME_H #define GAME_H #include #include #include #include #include "hero.h" #include "level.h" /// The main class where all the process happens class Game { private: // Game entities HeroPtr hero; LevelPtr level; int current_level; // SFML entities sf::RenderWindow main_window; /// Convert pressed key into a game direction Direction getDirection(sf::Keyboard::Key &key) const; /// Move player by pressed key void onMoving(sf::Keyboard::Key &key); /// Render game state void renderMap(); /// Prepare map and hero for a game level //void loadLevel(int level_index = 1); public: explicit Game(); /// Start the game loop int run(); }; #endif // GAME_H