diff --git a/src/gamestate.cpp b/src/gamestate.cpp index dee0df1..2201ad8 100755 --- a/src/gamestate.cpp +++ b/src/gamestate.cpp @@ -110,8 +110,7 @@ namespace snakeplusplus void GameEngine::UpdatePlayerSpeed(void) { - PlayerDirection input = controls.GetPlayerInput(); - switch (input) { + switch (GetPlayerInput()) { case kUp: player.speed.x = 0; player.speed.y = -1; diff --git a/src/gamestate.hpp b/src/gamestate.hpp index 238aa4b..19ce5e1 100755 --- a/src/gamestate.hpp +++ b/src/gamestate.hpp @@ -17,7 +17,6 @@ namespace snakeplusplus sf::Vector2f GetGameBoundaries(void); private: std::vector< std::vector > gameBoard; - PlayerInput controls; PlayerOutput graphics; Snake player; Food playerFood; diff --git a/src/playerinterface.cpp b/src/playerinterface.cpp index c2465ce..f5ea26d 100755 --- a/src/playerinterface.cpp +++ b/src/playerinterface.cpp @@ -5,22 +5,17 @@ namespace snakeplusplus { - PlayerInput::PlayerInput(void) - { - lastPlayerInput = kNone; - } - - PlayerDirection PlayerInput::GetPlayerInput(void) + PlayerDirection GetPlayerInput(void) { if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left)) - lastPlayerInput = kLeft; + return kLeft; if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up)) - lastPlayerInput = kUp; + return kUp; if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down)) - lastPlayerInput = kDown; + return kDown; if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)) - lastPlayerInput = kRight; - return lastPlayerInput; + return kRight; + return kNone; } bool PlayerOutput::IsOpen(void) diff --git a/src/playerinterface.hpp b/src/playerinterface.hpp index f4267ca..26e12f5 100755 --- a/src/playerinterface.hpp +++ b/src/playerinterface.hpp @@ -8,14 +8,7 @@ const int kGridSize = 25; namespace snakeplusplus { - class PlayerInput - { - public: - PlayerInput(void); - PlayerDirection GetPlayerInput(void); - private: - PlayerDirection lastPlayerInput; - }; + PlayerDirection GetPlayerInput(void); class PlayerOutput { diff --git a/src/snake.cpp b/src/snake.cpp index 9871cb5..c0dec4b 100755 --- a/src/snake.cpp +++ b/src/snake.cpp @@ -17,6 +17,8 @@ namespace snakeplusplus void Snake::Reset(void) { while (!body.empty()) Pop(); + speed.x = 0; + speed.y = 0; } Food::Food(void)