summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Controller/ConsoleController/ConsoleController.cpp73
-rw-r--r--src/Model/Grid.cpp1
2 files changed, 64 insertions, 10 deletions
diff --git a/src/Controller/ConsoleController/ConsoleController.cpp b/src/Controller/ConsoleController/ConsoleController.cpp
index f4d6b4d..81e16f4 100644
--- a/src/Controller/ConsoleController/ConsoleController.cpp
+++ b/src/Controller/ConsoleController/ConsoleController.cpp
@@ -1,4 +1,6 @@
#include "./ConsoleController.hpp"
+#include <SFML/Window/Keyboard.hpp>
+#include "../../Model/ModelConstants.hpp"
ConsoleController::ConsoleController()
{
@@ -12,35 +14,88 @@ ConsoleController::~ConsoleController()
void ConsoleController::play()
{
+
+ std::cout << "Use arrows to play !" << std::endl;
+
+ //Init keyPress
+ Direction keyPress;
+
+ //Display the first grid
+ m_game->showGrid();
+
+ //Start game
while (!m_game->isOver())
{
- m_game->showGrid();
- char moveChoice = ' ';
+ //Wait for keypress
+ while(1){
+ if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left))
+ {
+ keyPress=LEFT;
+ while(sf::Keyboard::isKeyPressed(sf::Keyboard::Left))
+ {
+ //Wait for release
+ }
+ break;
+ }
+ if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right))
+ {
+ keyPress=RIGHT;
+ while(sf::Keyboard::isKeyPressed(sf::Keyboard::Right))
+ {
+ //Wait for release
+ }
+ break;
+ }
+ if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
+ {
+ keyPress=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=DOWN;
+ while(sf::Keyboard::isKeyPressed(sf::Keyboard::Down))
+ {
+ //Wait for release
+ }
+ break;
+ }
+ }
- std::cin >> moveChoice;
- switch (moveChoice)
+ //Check for keypress
+ switch (keyPress)
{
- case 'z':
+ case UP:
std::cout << "up" << std::endl;
break;
- case 's':
+ case DOWN:
std::cout << "down" << std::endl;
break;
- case 'q':
+ case LEFT:
std::cout << "left" << std::endl;
break;
- case 'd':
+ case RIGHT:
std::cout << "right" << std::endl;
break;
- default:
+ default:
break;
}
+ //Show the Grid
+ m_game->showGrid();
std::cout << std::endl;
+
+ //Pop new number
m_game->pop();
+
}
}
diff --git a/src/Model/Grid.cpp b/src/Model/Grid.cpp
index e484fc3..75c0209 100644
--- a/src/Model/Grid.cpp
+++ b/src/Model/Grid.cpp
@@ -29,7 +29,6 @@ Grid::~Grid()
}
}
-
void Grid::show()
{
std::cout << "_________________" << std::endl;