From 048f1e17b752d2af53db82c1861002283fc300fa Mon Sep 17 00:00:00 2001 From: manzerbredes Date: Fri, 1 May 2015 13:18:26 +0200 Subject: [PATCH] Add some newers things : -Change helper ModelConstants to Keyboard -Now helpers is in folder Helpers -Change direction name to use CamelCase --- src/CMakeLists.txt | 2 +- .../CMakeLists.txt | 0 .../ConsoleController/CMakeLists.txt | 0 .../ConsoleController/ConsoleController.cpp | 24 +++--- .../ConsoleController/ConsoleController.hpp | 3 +- .../Keyboard.hpp} | 11 ++- src/Model/Grid.cpp | 82 ------------------- src/Model/Grid.hpp | 8 +- src/main.cpp | 2 +- 9 files changed, 25 insertions(+), 107 deletions(-) rename src/{Controller => Controllers}/CMakeLists.txt (100%) rename src/{Controller => Controllers}/ConsoleController/CMakeLists.txt (100%) rename src/{Controller => Controllers}/ConsoleController/ConsoleController.cpp (84%) rename src/{Controller => Controllers}/ConsoleController/ConsoleController.hpp (84%) rename src/{Model/ModelConstants.hpp => Helpers/Keyboard.hpp} (62%) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a1c4ccb..da444d2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -15,4 +15,4 @@ include_directories(${SFML_INCLUDE_DIR}) target_link_libraries(2P11 ${SFML_LIBRARIES} Model ConsoleController) add_subdirectory(./Model) -add_subdirectory(./Controller/) +add_subdirectory(./Controllers/) diff --git a/src/Controller/CMakeLists.txt b/src/Controllers/CMakeLists.txt similarity index 100% rename from src/Controller/CMakeLists.txt rename to src/Controllers/CMakeLists.txt diff --git a/src/Controller/ConsoleController/CMakeLists.txt b/src/Controllers/ConsoleController/CMakeLists.txt similarity index 100% rename from src/Controller/ConsoleController/CMakeLists.txt rename to src/Controllers/ConsoleController/CMakeLists.txt diff --git a/src/Controller/ConsoleController/ConsoleController.cpp b/src/Controllers/ConsoleController/ConsoleController.cpp similarity index 84% rename from src/Controller/ConsoleController/ConsoleController.cpp rename to src/Controllers/ConsoleController/ConsoleController.cpp index a2a4a77..4be0375 100644 --- a/src/Controller/ConsoleController/ConsoleController.cpp +++ b/src/Controllers/ConsoleController/ConsoleController.cpp @@ -1,6 +1,6 @@ #include "./ConsoleController.hpp" #include -#include "../../Model/ModelConstants.hpp" +#include "../../Helpers/Keyboard.hpp" ConsoleController::ConsoleController() { @@ -18,7 +18,7 @@ void ConsoleController::play() std::cout << "Use arrows to play !" << std::endl; //Init keyPress - Direction keyPress; + kbdh::Direction keyPress; //Display the first grid m_game->showGrid(); @@ -35,16 +35,16 @@ void ConsoleController::play() //Print keyPress switch(keyPress){ - case UP: + case kbdh::Up: std::cout << "Keypress : Up" << std::endl; break; - case DOWN: + case kbdh::Down: std::cout << "Keypress : Down" << std::endl; break; - case LEFT: + case kbdh::Left: std::cout << "Keypress : Left" << std::endl; break; - case RIGHT: + case kbdh::Right: std::cout << "Keypress : Right" << std::endl; break; } @@ -62,16 +62,16 @@ void ConsoleController::play() -Direction ConsoleController::waitArrowKeyPress() +kbdh::Direction ConsoleController::waitArrowKeyPress() { //Initialise keyPress - Direction keyPress; + kbdh::Direction keyPress; //Wait for keypress while(1){ if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left)) { - keyPress=LEFT; + keyPress=kbdh::Left; while(sf::Keyboard::isKeyPressed(sf::Keyboard::Left)) { //Wait for release @@ -80,7 +80,7 @@ Direction ConsoleController::waitArrowKeyPress() } if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)) { - keyPress=RIGHT; + keyPress=kbdh::Right; while(sf::Keyboard::isKeyPressed(sf::Keyboard::Right)) { //Wait for release @@ -89,7 +89,7 @@ Direction ConsoleController::waitArrowKeyPress() } if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up)) { - keyPress=UP; + keyPress=kbdh::Up; while(sf::Keyboard::isKeyPressed(sf::Keyboard::Up)) { //Wait for release @@ -99,7 +99,7 @@ Direction ConsoleController::waitArrowKeyPress() if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down)) { // la touche "flèche gauche" est enfoncée : on bouge le personnage - keyPress=DOWN; + keyPress=kbdh::Down; while(sf::Keyboard::isKeyPressed(sf::Keyboard::Down)) { //Wait for release diff --git a/src/Controller/ConsoleController/ConsoleController.hpp b/src/Controllers/ConsoleController/ConsoleController.hpp similarity index 84% rename from src/Controller/ConsoleController/ConsoleController.hpp rename to src/Controllers/ConsoleController/ConsoleController.hpp index 317759c..6ce8df9 100644 --- a/src/Controller/ConsoleController/ConsoleController.hpp +++ b/src/Controllers/ConsoleController/ConsoleController.hpp @@ -8,6 +8,7 @@ * Date : 29/04/2915 */ #include +#include "../../Helpers/Keyboard.hpp" #include "../../Model/Game.hpp" class ConsoleController @@ -15,7 +16,7 @@ class ConsoleController private: Game * m_game; - Direction waitArrowKeyPress(); + kbdh::Direction waitArrowKeyPress(); public: ConsoleController(); ~ConsoleController(); diff --git a/src/Model/ModelConstants.hpp b/src/Helpers/Keyboard.hpp similarity index 62% rename from src/Model/ModelConstants.hpp rename to src/Helpers/Keyboard.hpp index 5cbc21b..9d2dfa3 100644 --- a/src/Model/ModelConstants.hpp +++ b/src/Helpers/Keyboard.hpp @@ -6,7 +6,12 @@ * Creators : krilius, manzerbredes * Date : 29/04/2015 */ -enum Direction { UP, DOWN, LEFT, RIGHT }; -typedef enum Direction Direction; +namespace kbdh { -#endif \ No newline at end of file + //Key arrow + enum Direction { Up, Down, Left, Right }; + typedef enum Direction Direction; + +} + +#endif diff --git a/src/Model/Grid.cpp b/src/Model/Grid.cpp index 75c0209..cc9cdb1 100644 --- a/src/Model/Grid.cpp +++ b/src/Model/Grid.cpp @@ -82,86 +82,4 @@ void Grid::setCell(int i, int j, Cell *cell) } -void Grid::move(Direction direction) -{ - switch (direction) - { - case UP: - break; - - case DOWN: - break; - - case LEFT: - break; - - case RIGHT: - break; - - default: - break; - } -} - -void Grid::moveDown() -{/* - for (int i = 0 ; i < m_size; i++) - { - // If the column is full, check the next column - bool columnIsFull = true; - - for (int j = 0; j < m_size; j++) - { - if (m_table[j][i]->isEmpty()) - { - columnIsFull = false; - break; - } - } - - while (!columnIsFull) - { - // Calculate the first line to merge - int firstLine = m_size - 1; - while (m_table[firstLine][i]->isEmpty() && firstLine > 0) - firstLine--; - if (firstLine == 0) - break; - - // Calculate the second line to merge - int secondLine = firstLine - 1; - while (m_table[secondLine][i]->isEmpty() && secondLine > 0) - secondLine--; - - // If there is only one element, pull it down - if (m_table[secondLine][i]->isEmpty() && firstLine != m_size - 1) - { - Cell * originalCell = m_table[firstLine][i]; - Cell * finalCell = m_table[m_size-1][i]; - - m_table[firstLine][i] = finalCell; - m_table[m_size-1][i] = originalCell; - - break; - } - - // If there is only one element which is at the full bottom, break the loop - if (m_table[secondLine][i]->isEmpty()) - break; - - // If there are two "good" elements, begin the merge process - Cell * cell1 = m_table[firstLine][i]; - Cell * cell2 = m_table[secondLine][i]; - - Cell * mergedCell = NULL; - - // If the two cells are the same, merge them - if (cell1->equals(cell2)) - { - int value = std::stoi(cell1->getValue()); - mergedCell = new Cell(std::to_string(value)); - } - } - }*/ -} diff --git a/src/Model/Grid.hpp b/src/Model/Grid.hpp index 2a28559..c431cb3 100644 --- a/src/Model/Grid.hpp +++ b/src/Model/Grid.hpp @@ -10,7 +10,7 @@ #include #include -#include "ModelConstants.hpp" +//#include "ModelConstants.hpp" #include "Cell.hpp" class Grid @@ -19,11 +19,6 @@ class Grid int m_size; std::vector > m_table; - void moveUp(); - void moveDown(); - void moveLeft(); - void moveRight(); - public: Grid(int size); ~Grid(); @@ -33,7 +28,6 @@ class Grid bool gridIsFull(); void setCell(int i, int j, Cell * cell); - void move(Direction direction); }; diff --git a/src/main.cpp b/src/main.cpp index 52444a9..26062a9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -7,7 +7,7 @@ //----- Personnal include ----- #include "./Model/Grid.hpp" -#include "./Controller/ConsoleController/ConsoleController.hpp" +#include "./Controllers/ConsoleController/ConsoleController.hpp" //-----------------------------