// GameState.h #ifndef GAMESTATE_HPP #define GAMESTATE_HPP #include #include "snake.hpp" #include "playerinterface.hpp" namespace snakeplusplus { class GameEngine { public: GameEngine(); void Start(void); void Reset(void); sf::Vector2f GetGameBoundaries(void); private: std::vector< std::vector > gameBoard; PlayerOutput graphics; Snake player; Food playerFood; bool isGameOver = 0; void DisplayEndScreen(void); void Loop(void); sf::Vector2f MovePlayer(void); void PlaceNewSnakePart(sf::Vector2f location); void RegenerateFood(void); void PrepareGameBoard(void); void UpdatePlayerSpeed(); }; } #endif