From 0688a2d5015636273303d517296e5c021b58af30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matt=C3=A9o=20Delabre?= Date: Sat, 9 Apr 2016 15:53:12 +0200 Subject: [PATCH] =?UTF-8?q?Renommage=20::View=20=3D>=20State=20pour=20?= =?UTF-8?q?=C3=A9viter=20les=20confusions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/editor.hpp | 4 ++-- include/game.hpp | 9 ++++----- include/level.hpp | 15 +++++++-------- include/manager.hpp | 16 ++++++++-------- include/menu.hpp | 9 ++++----- include/{view.hpp => state.hpp} | 18 +++++++++--------- src/editor.cpp | 4 ++-- src/game.cpp | 8 ++++---- src/level.cpp | 4 ++-- src/main.cpp | 2 +- src/manager.cpp | 30 +++++++++++++++--------------- src/menu.cpp | 10 +++++----- src/{view.cpp => state.cpp} | 16 ++++++++-------- 13 files changed, 71 insertions(+), 74 deletions(-) rename include/{view.hpp => state.hpp} (71%) rename src/{view.cpp => state.cpp} (51%) diff --git a/include/editor.hpp b/include/editor.hpp index ca38331..7e19f09 100644 --- a/include/editor.hpp +++ b/include/editor.hpp @@ -84,13 +84,13 @@ public: virtual ~Editor(); /** - * Appelé par le manager lorsque la vue commence à + * Appelé par le manager lorsque l'état commence à * être utilisée */ virtual void begin(); /** - * Demande le passage à la frame suivante sur cette vue + * Demande le passage à la frame suivante sur cet état */ virtual void frame(const std::vector& events); }; diff --git a/include/game.hpp b/include/game.hpp index c58770d..a1cf32e 100644 --- a/include/game.hpp +++ b/include/game.hpp @@ -13,7 +13,7 @@ private: WidgetTimer widget_timer; sf::Time next_frame_time; bool test_mode; - std::shared_ptr return_view; + std::shared_ptr return_state; /** * Met à jour les objets du jeu pour @@ -43,13 +43,12 @@ public: virtual ~Game(); /** - * Appelé par le manager lorsque la vue commence à - * être utilisée + * Appelé par le manager lorsque le jeu commence */ virtual void begin(); /** - * Demande le passage à la frame suivante sur cette vue + * Demande le passage à la frame suivante du jeu */ virtual void frame(const std::vector& events); @@ -57,7 +56,7 @@ public: * Mise en mode test : l'appui sur espace renvoie * vers l'éditeur donné */ - void setTestMode(std::shared_ptr set_return_view); + void setTestMode(std::shared_ptr set_return_state); }; #endif diff --git a/include/level.hpp b/include/level.hpp index 9a8d67e..53a54f4 100644 --- a/include/level.hpp +++ b/include/level.hpp @@ -1,9 +1,9 @@ -#ifndef __PTF_OBJECT_VIEW_HPP__ -#define __PTF_OBJECT_VIEW_HPP__ +#ifndef __PTF_LEVEL_HPP__ +#define __PTF_LEVEL_HPP__ #include #include -#include "view.hpp" +#include "state.hpp" #include "object.hpp" #include "manager.hpp" #include "resource_manager.hpp" @@ -14,9 +14,9 @@ enum class GravityDirection {NORTH, EAST, SOUTH, WEST}; /** * La classe Level est une abstraction des * classes affichant une collection d'objets, comme - * les classe de l'éditeur et du jeu + * les classes de l'éditeur et du jeu */ -class Level : public View { +class Level : public State { private: sf::View camera; sf::String name; @@ -67,13 +67,12 @@ public: virtual void save(); /** - * Appelé par le manager lorsque la vue commence à - * être utilisée + * Appelé par le manager lorsque l'état commence à être utilisé */ virtual void begin(); /** - * Demande le passage à la frame suivante sur cette vue + * Demande le passage à la frame suivante sur cet état */ virtual void frame(const std::vector& events); diff --git a/include/manager.hpp b/include/manager.hpp index 12fb7df..40c1853 100644 --- a/include/manager.hpp +++ b/include/manager.hpp @@ -2,11 +2,11 @@ #define __PTF_MANAGER_HPP__ #include "resource_manager.hpp" -#include "view.hpp" +#include "state.hpp" #include /** - * Gestionnaire principal de toutes les vues et + * Gestionnaire principal de tous les états, vues et * ressources du jeu */ class Manager { @@ -19,8 +19,8 @@ private: ResourceManager resource_manager; std::vector events; - std::shared_ptr view; - std::shared_ptr next_view; + std::shared_ptr state; + std::shared_ptr next_state; bool running; @@ -38,14 +38,14 @@ public: void quit(); /** - * Renvoie la vue actuelle du jeu + * Renvoie l'état actuel du jeu */ - std::shared_ptr getView(); + std::shared_ptr getState(); /** - * Charge la vue donnée dans le jeu + * Charge l'état donné dans le jeu */ - void setView(std::shared_ptr set_view); + void setState(std::shared_ptr set_state); /** * Renvoie la fenêtre actuellement utilisée pour le dessin diff --git a/include/menu.hpp b/include/menu.hpp index 7b7812c..ea50948 100644 --- a/include/menu.hpp +++ b/include/menu.hpp @@ -2,7 +2,7 @@ #define __PTF_MENU_HPP__ #include "manager.hpp" -#include "view.hpp" +#include "state.hpp" #include #include @@ -11,7 +11,7 @@ * et permet de choisir entre jouer, lire les règles * et quitter. */ -class Menu : public View { +class Menu : public State { private: std::vector choices; std::vector labels; @@ -49,13 +49,12 @@ public: virtual ~Menu(); /** - * Appelé par le manager lorsque la vue commence à - * être utilisée + * Appelé par le manager lorsque le menu est affiché */ virtual void begin(); /** - * Dessine le menu + * Dessine la prochaine frame du menu */ virtual void frame(const std::vector& events); diff --git a/include/view.hpp b/include/state.hpp similarity index 71% rename from include/view.hpp rename to include/state.hpp index 79babce..bb7bf13 100644 --- a/include/view.hpp +++ b/include/state.hpp @@ -1,5 +1,5 @@ -#ifndef __PTF_VIEW_HPP__ -#define __PTF_VIEW_HPP__ +#ifndef __PTF_STATE_HPP__ +#define __PTF_STATE_HPP__ #include @@ -8,9 +8,9 @@ class Manager; class Object; /** - * Classe abstraite pour les vues + * Classe abstraite pour les états de jeu */ -class View { +class State { private: Manager& manager; @@ -21,17 +21,17 @@ protected: virtual void processEvent(const sf::Event& event) = 0; public: - View(Manager& manager); - virtual ~View(); + State(Manager& manager); + virtual ~State(); /** - * Appelé par le manager lorsque la vue commence à - * être utilisée + * Appelé par le manager lorsque l'état commence à + * être utilisé */ virtual void begin() = 0; /** - * Demande le passage à la frame suivante sur cette vue + * Demande le passage à la frame suivante sur cet état */ virtual void frame(const std::vector& events); diff --git a/src/editor.cpp b/src/editor.cpp index d032381..5a5df52 100644 --- a/src/editor.cpp +++ b/src/editor.cpp @@ -378,6 +378,6 @@ void Editor::test() { } // mise en mode test - game->setTestMode(getManager().getView()); - getManager().setView(game); + game->setTestMode(getManager().getState()); + getManager().setState(game); } diff --git a/src/game.cpp b/src/game.cpp index 6bd5c47..3f8a5d5 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -8,7 +8,7 @@ const float CAMERA_TOLERANCE_RATIO = 2.f / 3.f; Game::Game(Manager& manager) : Level(manager), widget_timer(manager, false), next_frame_time(manager.getCurrentTime()), - test_mode(false), return_view(nullptr) {} + test_mode(false), return_state(nullptr) {} Game::~Game() {} @@ -53,7 +53,7 @@ void Game::processEvent(const sf::Event& event) { // appui sur espace en mode test : retour à l'éditeur if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Space && test_mode) { test_mode = false; - getManager().setView(return_view); + getManager().setState(return_state); } } @@ -128,7 +128,7 @@ void Game::update() { } } -void Game::setTestMode(std::shared_ptr set_return_view) { - return_view = set_return_view; +void Game::setTestMode(std::shared_ptr set_return_state) { + return_state = set_return_state; test_mode = true; } diff --git a/src/level.cpp b/src/level.cpp index 39151ca..2b5e382 100644 --- a/src/level.cpp +++ b/src/level.cpp @@ -21,7 +21,7 @@ std::map> object_type_map {GravityBlock::TYPE_ID, GravityBlock::load} }; -Level::Level(Manager& manager) : View(manager), gravity(0, GRAVITY) {} +Level::Level(Manager& manager) : State(manager), gravity(0, GRAVITY) {} Level::~Level() {} void Level::load(std::ifstream& file) { @@ -128,7 +128,7 @@ void Level::begin() { void Level::frame(const std::vector& events) { // traitement des événements - View::frame(events); + State::frame(events); } void Level::processEvent(const sf::Event& event) { diff --git a/src/main.cpp b/src/main.cpp index ea24dd9..7379410 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -12,7 +12,7 @@ int main() { std::shared_ptr editor = std::shared_ptr(new Editor(manager)); try { - manager.setView(menu); + manager.setState(menu); manager.start(); } catch (const std::exception& exception) { std::cerr << "Le programme a quitté après une erreur d'exécution." << std::endl; diff --git a/src/manager.cpp b/src/manager.cpp index 4002555..f298f18 100644 --- a/src/manager.cpp +++ b/src/manager.cpp @@ -4,7 +4,7 @@ Manager::Manager() : window( sf::VideoMode(704, 480), "Skizzle", sf::Style::Default, sf::ContextSettings(0, 0, 2) ), default_view(window.getDefaultView()), title(sf::String(L"")), -view(NULL), next_view(NULL), running(false) {} +state(NULL), next_state(NULL), running(false) {} void Manager::start() { running = true; @@ -13,11 +13,11 @@ void Manager::start() { sf::Event event; std::vector events; - // si un changement de vue a été demandé, on l'effectue maintenant - if (next_view != nullptr) { - view = next_view; - next_view->begin(); - next_view = nullptr; + // si un changement d'état a été demandé, on l'effectue maintenant + if (next_state != nullptr) { + state = next_state; + next_state->begin(); + next_state = nullptr; } // traitement des évènements reçus @@ -37,13 +37,13 @@ void Manager::start() { events.push_back(event); } - // demande à la vue de se mettre à jour sur + // demande à l'état de se mettre à jour sur // la prochaine frame - if (view == NULL) { - throw std::runtime_error("Aucune vue à afficher pour le jeu"); + if (state == NULL) { + throw std::runtime_error("Aucune état à afficher pour le jeu"); } - view->frame(events); + state->frame(events); window.display(); } } @@ -52,14 +52,14 @@ void Manager::quit() { running = false; } -std::shared_ptr Manager::getView() { - return view; +std::shared_ptr Manager::getState() { + return state; } -void Manager::setView(std::shared_ptr set_view) { - // on ne change pas immédiatement la vue, on attend +void Manager::setState(std::shared_ptr set_state) { + // on ne change pas immédiatement l'état, on attend // la prochaine frame pour éviter toute erreur de segmentation - next_view = set_view; + next_state = set_state; } sf::RenderWindow& Manager::getWindow() { diff --git a/src/menu.cpp b/src/menu.cpp index 4012009..19b7e10 100644 --- a/src/menu.cpp +++ b/src/menu.cpp @@ -5,7 +5,7 @@ const float MAX_WIDTH_PROPORTION = 1.f / 3.f; -Menu::Menu(Manager& manager) : View(manager) {} +Menu::Menu(Manager& manager) : State(manager) {} Menu::~Menu() {} void Menu::begin() { @@ -20,7 +20,7 @@ void Menu::begin() { void Menu::frame(const std::vector& events) { // traitement des événements - View::frame(events); + State::frame(events); // titre de la fenêtitre getManager().setTitle(""); @@ -164,8 +164,8 @@ void Menu::loadRules() { } void Menu::launchEditor() { - std::shared_ptr editor = std::shared_ptr(new Editor(getManager())); - getManager().setView(editor); + std::shared_ptr editor = std::shared_ptr(new Editor(getManager())); + getManager().setState(editor); } void Menu::launchGame(std::string name) { @@ -177,7 +177,7 @@ void Menu::launchGame(std::string name) { game->load(file); file.close(); - getManager().setView(game); + getManager().setState(game); } void Menu::quit() { diff --git a/src/view.cpp b/src/state.cpp similarity index 51% rename from src/view.cpp rename to src/state.cpp index 018d88d..c46e684 100644 --- a/src/view.cpp +++ b/src/state.cpp @@ -1,29 +1,29 @@ -#include "view.hpp" +#include "state.hpp" #include "manager.hpp" -View::View(Manager& manager) : manager(manager) {} -View::~View() {} +State::State(Manager& manager) : manager(manager) {} +State::~State() {} -void View::frame(const std::vector& events) { +void State::frame(const std::vector& events) { // traitement des événements for (unsigned int i = 0; i < events.size(); i++) { processEvent(events[i]); } } -Manager& View::getManager() { +Manager& State::getManager() { return manager; } // raccourcis vers des méthodes du gestionnaire -ResourceManager& View::getResourceManager() { +ResourceManager& State::getResourceManager() { return manager.getResourceManager(); } -sf::RenderWindow& View::getWindow() { +sf::RenderWindow& State::getWindow() { return manager.getWindow(); } -bool View::isKeyPressed(sf::Keyboard::Key key) const { +bool State::isKeyPressed(sf::Keyboard::Key key) const { return manager.isKeyPressed(key); }