summaryrefslogtreecommitdiff
path: root/src/Controllers/SFMLController/SFMLController.cpp
blob: 5a5960f1c612732e2afd5e2ec4ea59d8b1583f06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include "SFMLController.hpp"




//==================== Constructor and Destructor  ====================

//Constructor
SFMLController::SFMLController() : m_game(), m_MainWindow(600,800, "2P11"){
}

//Destructor
SFMLController::~SFMLController(){

}


//Run controller
void SFMLController::run(){

	//Init keypress
	kbdh::Direction keyPress;

	//First pop
	m_game.popRandomNumber();


	//Start game
	while(m_MainWindow.isOpen()){

		//Check event
		sf::Event event;
		while (m_MainWindow.pollEvent(event))
		{
			// évènement "fermeture demandée" : on ferme la fenêtre
			if (event.type == sf::Event::Closed)
				m_MainWindow.close();
			if (event.type == sf::Event::KeyPressed)
			{
				if (event.key.code == sf::Keyboard::Up)
				{
					m_game.swipe(kbdh::Direction::Up);
				}
				if (event.key.code == sf::Keyboard::Down)
				{
					m_game.swipe(kbdh::Direction::Down);
					// Do something when W is pressed...
				}
				if (event.key.code == sf::Keyboard::Left){

					m_game.swipe(kbdh::Direction::Left);
				}
				if (event.key.code == sf::Keyboard::Right){
					m_game.swipe(kbdh::Direction::Right);
				}

				// And so on.
			}
		}


		//Clear window
		m_MainWindow.clearBG();

		//Draw the game
		m_MainWindow.drawGame(m_game.getGrid(),m_game.isOver(), m_game.getStats());

		//Display the changements
		m_MainWindow.display();

	}


}