From 048f1e17b752d2af53db82c1861002283fc300fa Mon Sep 17 00:00:00 2001 From: manzerbredes Date: Fri, 1 May 2015 13:18:26 +0200 Subject: Add some newers things : -Change helper ModelConstants to Keyboard -Now helpers is in folder Helpers -Change direction name to use CamelCase --- .../ConsoleController/ConsoleController.cpp | 112 +++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 src/Controllers/ConsoleController/ConsoleController.cpp (limited to 'src/Controllers/ConsoleController/ConsoleController.cpp') diff --git a/src/Controllers/ConsoleController/ConsoleController.cpp b/src/Controllers/ConsoleController/ConsoleController.cpp new file mode 100644 index 0000000..4be0375 --- /dev/null +++ b/src/Controllers/ConsoleController/ConsoleController.cpp @@ -0,0 +1,112 @@ +#include "./ConsoleController.hpp" +#include +#include "../../Helpers/Keyboard.hpp" + +ConsoleController::ConsoleController() +{ + m_game = new Game(); +} + +ConsoleController::~ConsoleController() +{ + delete m_game; +} + +void ConsoleController::play() +{ + //Intruction msg + std::cout << "Use arrows to play !" << std::endl; + + //Init keyPress + kbdh::Direction keyPress; + + //Display the first grid + m_game->showGrid(); + + //Start game + while (!m_game->isOver()) + { + //Get key press + keyPress=this->waitArrowKeyPress(); + + //New line for the console print arrow press + std::cout << std::endl; + + + //Print keyPress + switch(keyPress){ + case kbdh::Up: + std::cout << "Keypress : Up" << std::endl; + break; + case kbdh::Down: + std::cout << "Keypress : Down" << std::endl; + break; + case kbdh::Left: + std::cout << "Keypress : Left" << std::endl; + break; + case kbdh::Right: + std::cout << "Keypress : Right" << std::endl; + break; + } + + //Show the Grid + m_game->showGrid(); + std::cout << std::endl; + + + //Pop new number + m_game->pop(); + + } +} + + + +kbdh::Direction ConsoleController::waitArrowKeyPress() +{ + //Initialise keyPress + kbdh::Direction keyPress; + + //Wait for keypress + while(1){ + if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left)) + { + keyPress=kbdh::Left; + while(sf::Keyboard::isKeyPressed(sf::Keyboard::Left)) + { + //Wait for release + } + break; + } + if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)) + { + keyPress=kbdh::Right; + while(sf::Keyboard::isKeyPressed(sf::Keyboard::Right)) + { + //Wait for release + } + break; + } + if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up)) + { + keyPress=kbdh::Up; + while(sf::Keyboard::isKeyPressed(sf::Keyboard::Up)) + { + //Wait for release + } + break; + } + if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down)) + { + // la touche "flèche gauche" est enfoncée : on bouge le personnage + keyPress=kbdh::Down; + while(sf::Keyboard::isKeyPressed(sf::Keyboard::Down)) + { + //Wait for release + } + break; + } + } + + return keyPress; +} -- cgit v1.2.3