summaryrefslogtreecommitdiff
path: root/src/Model
diff options
context:
space:
mode:
Diffstat (limited to 'src/Model')
-rw-r--r--src/Model/CMakeLists.txt2
-rw-r--r--src/Model/Game.cpp14
-rw-r--r--src/Model/Game.hpp8
-rw-r--r--src/Model/Stats.cpp29
-rw-r--r--src/Model/Stats.hpp30
5 files changed, 68 insertions, 15 deletions
diff --git a/src/Model/CMakeLists.txt b/src/Model/CMakeLists.txt
index 888589e..4ebe544 100644
--- a/src/Model/CMakeLists.txt
+++ b/src/Model/CMakeLists.txt
@@ -1,2 +1,2 @@
#Make Model lib
-add_library(Model Grid.cpp Game.cpp)
+add_library(Model Grid.cpp Game.cpp Stats.cpp)
diff --git a/src/Model/Game.cpp b/src/Model/Game.cpp
index 9c67184..5781f54 100644
--- a/src/Model/Game.cpp
+++ b/src/Model/Game.cpp
@@ -4,7 +4,7 @@
//==================== Constructor and Destructor ====================
//Constructor
-Game::Game() : Grid(), m_nbMove(0), m_score(0){
+Game::Game() : Grid(), m_stats(){
}
//Destructor
@@ -35,8 +35,8 @@ bool Game::swipe(kbdh::Direction direction){
}
if(moveDone){
- m_score+=m_lastMoveScore;
- m_nbMove++;
+ m_stats.incScore(m_lastMoveScore);
+ m_stats.incnbMove();
this->popRandomNumber();
}
@@ -75,14 +75,10 @@ void Game::popRandomNumber(){
//==================== Getters and Setter ====================
//Retrieve the Score
-int Game::getScore(){
- return m_score;
+Stats Game::getStats(){
+ return m_stats;
}
-//Retrieve the number of moves
-int Game::getNbMove(){
- return m_nbMove;
-}
//std::vector<std::vector<int> > Game::getGrid(){
//return m_grid.getGrid();
diff --git a/src/Model/Game.hpp b/src/Model/Game.hpp
index 77be7d7..e468176 100644
--- a/src/Model/Game.hpp
+++ b/src/Model/Game.hpp
@@ -11,6 +11,7 @@
#include <string>
#include "../Helpers/Keyboard.hpp"
#include "Grid.hpp"
+#include "Stats.hpp"
#include <tuple>
class Game : public Grid
@@ -18,9 +19,7 @@ class Game : public Grid
private:
//Members
//Grid m_grid;
- int m_score;
- int m_nbMove;
-
+ Stats m_stats;
public:
//Constructor and Destructor
Game();
@@ -33,8 +32,7 @@ class Game : public Grid
//bool isOver();
//Getters and Setters
- int getScore();
- int getNbMove();
+ Stats getStats();
//int maxStrLenInGrid();
//std::vector<std::vector<int> > getGrid();
};
diff --git a/src/Model/Stats.cpp b/src/Model/Stats.cpp
new file mode 100644
index 0000000..8bada78
--- /dev/null
+++ b/src/Model/Stats.cpp
@@ -0,0 +1,29 @@
+#include "Stats.hpp"
+
+
+Stats::Stats() :
+ m_score(0),
+ m_nbMove(0)
+{
+
+}
+
+Stats::~Stats(){
+}
+
+
+
+void Stats::incScore(int value){
+ m_score+=value;
+}
+void Stats::incnbMove(){
+ m_nbMove++;
+}
+
+
+int Stats::getScore(){
+ return m_score;
+}
+int Stats::getNbMove(){
+ return m_nbMove;
+}
diff --git a/src/Model/Stats.hpp b/src/Model/Stats.hpp
new file mode 100644
index 0000000..49c7356
--- /dev/null
+++ b/src/Model/Stats.hpp
@@ -0,0 +1,30 @@
+#ifndef __STATS__
+#define __STATS__
+
+#include <iostream>
+
+
+
+
+
+class Stats{
+
+ private:
+ int m_score;
+ int m_nbMove;
+ public:
+
+ Stats();
+ ~Stats();
+ void incScore(int value);
+ void incnbMove();
+
+
+ int getScore();
+ int getNbMove();
+
+
+
+};
+
+#endif