| 
									
										
										
										
											2016-03-28 13:05:18 +00:00
										 |  |  | #ifndef __PTF_GAME_HPP__
 | 
					
						
							|  |  |  | #define __PTF_GAME_HPP__
 | 
					
						
							| 
									
										
										
										
											2016-03-04 15:29:31 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-03 19:05:27 +00:00
										 |  |  | #include "level.hpp"
 | 
					
						
							| 
									
										
										
										
											2016-04-05 23:13:00 +00:00
										 |  |  | #include "editor.hpp"
 | 
					
						
							| 
									
										
										
										
											2016-03-04 15:29:31 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							| 
									
										
										
										
											2016-03-28 13:05:18 +00:00
										 |  |  |  * La classe Game gère l'affichage et les objets | 
					
						
							|  |  |  |  * d'une partie de jeu | 
					
						
							| 
									
										
										
										
											2016-03-04 15:29:31 +00:00
										 |  |  |  */ | 
					
						
							| 
									
										
										
										
											2016-04-03 19:05:27 +00:00
										 |  |  | class Game : public Level { | 
					
						
							| 
									
										
										
										
											2016-03-04 15:29:31 +00:00
										 |  |  | private: | 
					
						
							| 
									
										
										
										
											2016-04-06 13:21:46 +00:00
										 |  |  |     WidgetTimer widget_timer; | 
					
						
							| 
									
										
										
										
											2016-04-03 18:19:48 +00:00
										 |  |  |     sf::Time next_frame_time; | 
					
						
							| 
									
										
										
										
											2016-04-05 23:13:00 +00:00
										 |  |  |     bool test_mode; | 
					
						
							|  |  |  |     std::shared_ptr<View> return_view; | 
					
						
							| 
									
										
										
										
											2016-03-30 12:03:52 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-09 18:35:40 +00:00
										 |  |  |     /**
 | 
					
						
							|  |  |  |      * Met à jour les objets du jeu pour | 
					
						
							| 
									
										
										
										
											2016-03-28 13:05:18 +00:00
										 |  |  |      * qu'ils s'adaptent au nouvel état | 
					
						
							| 
									
										
										
										
											2016-03-09 18:35:40 +00:00
										 |  |  |      */ | 
					
						
							| 
									
										
										
										
											2016-03-30 12:03:52 +00:00
										 |  |  |     void update(); | 
					
						
							| 
									
										
										
										
											2016-03-08 18:51:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-06 13:21:46 +00:00
										 |  |  | protected: | 
					
						
							|  |  |  |     /**
 | 
					
						
							|  |  |  |      * Dessine tous les objets, le fond et | 
					
						
							|  |  |  |      * l'interface de jeu | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     virtual void draw(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-07 22:19:01 +00:00
										 |  |  |     /**
 | 
					
						
							| 
									
										
										
										
											2016-04-08 00:35:17 +00:00
										 |  |  |      * Traite un événement | 
					
						
							| 
									
										
										
										
											2016-04-07 22:19:01 +00:00
										 |  |  |      */ | 
					
						
							| 
									
										
										
										
											2016-04-08 00:35:17 +00:00
										 |  |  |     virtual void processEvent(const sf::Event& event); | 
					
						
							| 
									
										
										
										
											2016-04-07 22:19:01 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-08 22:26:47 +00:00
										 |  |  |     /**
 | 
					
						
							|  |  |  |      * S'assure que la caméra est centrée sur les joueurs | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     void ensureCentered(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-09 18:35:40 +00:00
										 |  |  | public: | 
					
						
							| 
									
										
										
										
											2016-03-30 12:03:52 +00:00
										 |  |  |     Game(Manager& manager); | 
					
						
							| 
									
										
										
										
											2016-03-28 17:57:55 +00:00
										 |  |  |     virtual ~Game(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-05 18:07:58 +00:00
										 |  |  |     /**
 | 
					
						
							|  |  |  |      * Charge un niveau de jeu depuis le fichier donné | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     virtual void load(std::ifstream& file); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-08 18:51:42 +00:00
										 |  |  |     /**
 | 
					
						
							| 
									
										
										
										
											2016-04-08 00:35:17 +00:00
										 |  |  |      * Demande le passage à la frame suivante sur cette vue | 
					
						
							| 
									
										
										
										
											2016-03-08 18:51:42 +00:00
										 |  |  |      */ | 
					
						
							| 
									
										
										
										
											2016-04-08 00:35:17 +00:00
										 |  |  |     virtual void frame(); | 
					
						
							| 
									
										
										
										
											2016-04-05 23:13:00 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /**
 | 
					
						
							|  |  |  |      * Mise en mode test : l'appui sur espace renvoie | 
					
						
							|  |  |  |      * vers l'éditeur donné | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     void setTestMode(std::shared_ptr<View> set_return_view); | 
					
						
							| 
									
										
										
										
											2016-03-04 15:29:31 +00:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 |