Implémentation initiale de l'éditeur
This commit is contained in:
parent
6baf647cd7
commit
388decc3b6
|
@ -0,0 +1,22 @@
|
|||
#ifndef __PTF_GAME_HPP__
|
||||
#define __PTF_GAME_HPP__
|
||||
|
||||
#include "level.hpp"
|
||||
|
||||
/**
|
||||
* La classe Editor permet l'édition de
|
||||
* niveaux du jeu
|
||||
*/
|
||||
class Editor : public Level {
|
||||
public:
|
||||
Editor(Manager& manager);
|
||||
virtual ~Editor();
|
||||
|
||||
/**
|
||||
* Demande le passage à la frame suivante sur
|
||||
* cette vue
|
||||
*/
|
||||
void frame();
|
||||
};
|
||||
|
||||
#endif
|
|
@ -0,0 +1,15 @@
|
|||
#include "editor.hpp"
|
||||
#include "constants.hpp"
|
||||
|
||||
Editor::Editor(Manager& manager) : Level(manager) {
|
||||
// activation de la synchronisation verticale
|
||||
// car, dans l'éditeur, nous n'avons besoin que de dessiner
|
||||
// (pas de mise à jour physique)
|
||||
manager.getWindow().setVerticalSyncEnabled(true);
|
||||
}
|
||||
|
||||
Editor::~Editor() {}
|
||||
|
||||
void Editor::frame() {
|
||||
draw();
|
||||
}
|
10
src/game.cpp
10
src/game.cpp
|
@ -1,8 +1,14 @@
|
|||
#include "game.hpp"
|
||||
#include "constants.hpp"
|
||||
|
||||
Game::Game(Manager& manager) : Level(manager),
|
||||
next_frame_time(manager.getCurrentTime()) {}
|
||||
Game::Game(Manager& manager) : Level(manager), next_frame_time(manager.getCurrentTime()) {
|
||||
// on s'assure que la synchronisation verticale soit
|
||||
// bien désactivée : on s'occupe de la limitation du
|
||||
// framerate manuellement dans la fonction frame pour mettre
|
||||
// une mise à jour fluide de la physique du jeu
|
||||
manager.getWindow().setVerticalSyncEnabled(false);
|
||||
}
|
||||
|
||||
Game::~Game() {}
|
||||
|
||||
void Game::frame() {
|
||||
|
|
12
src/main.cpp
12
src/main.cpp
|
@ -1,25 +1,21 @@
|
|||
#include "player.hpp"
|
||||
#include "block.hpp"
|
||||
#include "manager.hpp"
|
||||
#include "game.hpp"
|
||||
#include "constants.hpp"
|
||||
#include <cstdlib>
|
||||
#include "editor.hpp"
|
||||
#include <iostream>
|
||||
#include <memory>
|
||||
#include <fstream>
|
||||
|
||||
int main() {
|
||||
Manager manager;
|
||||
std::shared_ptr<Game> game = std::shared_ptr<Game>(new Game(manager));
|
||||
std::shared_ptr<Editor> editor = std::shared_ptr<Editor>(new Editor(manager));
|
||||
|
||||
try {
|
||||
// ouverture du niveau
|
||||
std::ifstream file;
|
||||
file.open("./levels/level1.dat", std::ios::binary | std::ios::in);
|
||||
game->load(file);
|
||||
editor->load(file);
|
||||
file.close();
|
||||
|
||||
manager.setView(game);
|
||||
manager.setView(editor);
|
||||
manager.start();
|
||||
} catch (const std::exception& exception) {
|
||||
std::cerr << "Le programme a quitté après une erreur d'exécution." << std::endl;
|
||||
|
|
Loading…
Reference in New Issue