summaryrefslogtreecommitdiff
path: root/src/Model/Game.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Model/Game.cpp')
-rw-r--r--src/Model/Game.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/Model/Game.cpp b/src/Model/Game.cpp
index e69de29..1e24b11 100644
--- a/src/Model/Game.cpp
+++ b/src/Model/Game.cpp
@@ -0,0 +1,54 @@
+#include "Game.hpp"
+
+Game::Game()
+{
+ m_grid = new Grid(4);
+}
+
+Game::~Game()
+{
+ delete m_grid;
+}
+
+void Game::play()
+{
+ while(!m_grid->gridIsFull())
+ {
+ m_grid->show();
+
+ pop();
+ std::cout << std::endl;
+ }
+
+ m_grid->show();
+}
+
+void Game::showGrid()
+{
+ m_grid->show();
+ std::cout << std::endl;
+}
+
+void Game::pop()
+{
+ bool cellChosen = false;
+
+ int i;
+ int j;
+
+ while(!cellChosen)
+ {
+ i = rand() % 4;
+ j = rand() % 4;
+
+ if (m_grid->isEmpty(i,j))
+ cellChosen = true;
+ }
+
+ m_grid->setCell(i, j, new Cell("2"));
+}
+
+bool Game::isOver()
+{
+ return m_grid->gridIsFull();
+} \ No newline at end of file