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 "game.hpp"
|
||||||
#include "constants.hpp"
|
#include "constants.hpp"
|
||||||
|
|
||||||
Game::Game(Manager& manager) : Level(manager),
|
Game::Game(Manager& manager) : Level(manager), next_frame_time(manager.getCurrentTime()) {
|
||||||
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() {}
|
Game::~Game() {}
|
||||||
|
|
||||||
void Game::frame() {
|
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 "manager.hpp"
|
||||||
#include "game.hpp"
|
#include "editor.hpp"
|
||||||
#include "constants.hpp"
|
|
||||||
#include <cstdlib>
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
Manager manager;
|
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 {
|
try {
|
||||||
// ouverture du niveau
|
// ouverture du niveau
|
||||||
std::ifstream file;
|
std::ifstream file;
|
||||||
file.open("./levels/level1.dat", std::ios::binary | std::ios::in);
|
file.open("./levels/level1.dat", std::ios::binary | std::ios::in);
|
||||||
game->load(file);
|
editor->load(file);
|
||||||
file.close();
|
file.close();
|
||||||
|
|
||||||
manager.setView(game);
|
manager.setView(editor);
|
||||||
manager.start();
|
manager.start();
|
||||||
} catch (const std::exception& exception) {
|
} catch (const std::exception& exception) {
|
||||||
std::cerr << "Le programme a quitté après une erreur d'exécution." << std::endl;
|
std::cerr << "Le programme a quitté après une erreur d'exécution." << std::endl;
|
||||||
|
|
Loading…
Reference in New Issue