#include "./ConsoleController.hpp" #include #include "../../Helpers/Keyboard.hpp" ConsoleController::ConsoleController() { } ConsoleController::~ConsoleController() { } void ConsoleController::run() { //Init keyPress kbdh::Direction keyPress; //Intruction msg std::cout << "Use arrows to play !" << std::endl; //Pop a random number on the grid m_game.popRandomNumber(); this->coutStats(); //First cout grid m_game.coutGrid(); //Start game while (!m_game.isOver()) { //Get key press keyPress=this->waitArrowKeyPress(); //Apply move bool moveDone=m_game.swipe(keyPress); this->coutStats(); //Cout grid m_game.coutGrid(); } this->coutStats(); m_game.coutGrid(); } 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; } void ConsoleController::clearScreen(){ for(int i;i<100;i++){ std::cout << std::endl; } } void ConsoleController::coutStats(){ std::cout << std::endl << "Score : " << m_game.getScore() << std::endl; std::cout << "Nombre de coups : " << m_game.getNbMove() << std::endl; }