summaryrefslogtreecommitdiff
path: root/src/Controllers/ConsoleController/ConsoleController.cpp
diff options
context:
space:
mode:
authormanzerbredes <loic.guegan_secondary@yahoo.fr>2015-05-02 23:05:44 +0200
committermanzerbredes <loic.guegan_secondary@yahoo.fr>2015-05-02 23:05:44 +0200
commit710cc4001f65ac2fee39e25d79f43a01b9e12512 (patch)
tree2e78e337b0c7d0f79bd68205badc1630326118ed /src/Controllers/ConsoleController/ConsoleController.cpp
parentfec126f0d2d48310109f85c3647b10ce393db5e8 (diff)
parent1d09a0fd3ae35ccf51a3b5f929f77a8c8850712c (diff)
First stable fusionning
Diffstat (limited to 'src/Controllers/ConsoleController/ConsoleController.cpp')
-rw-r--r--src/Controllers/ConsoleController/ConsoleController.cpp97
1 files changed, 97 insertions, 0 deletions
diff --git a/src/Controllers/ConsoleController/ConsoleController.cpp b/src/Controllers/ConsoleController/ConsoleController.cpp
new file mode 100644
index 0000000..d91e807
--- /dev/null
+++ b/src/Controllers/ConsoleController/ConsoleController.cpp
@@ -0,0 +1,97 @@
+#include "./ConsoleController.hpp"
+#include <SFML/Window/Keyboard.hpp>
+#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();
+
+ //First cout grid
+ m_game.coutGrid();
+
+
+ //Start game
+ while (!m_game.isOver())
+ {
+ //Get key press
+ keyPress=this->waitArrowKeyPress();
+
+ //Apply move
+ m_game.swipe(keyPress);
+
+ //Pop a random number on the grid
+ m_game.popRandomNumber();
+
+ //Cout grid
+ m_game.coutGrid();
+
+ }
+ 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;
+}