#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 std::unique_ptr hero; std::unique_ptr 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(); public: explicit Game(); /// Start the game loop int run(); }; #endif // GAME_H