afegides escenes
This commit is contained in:
48
source/game/escenes/escena_joc.hpp
Normal file
48
source/game/escenes/escena_joc.hpp
Normal file
@@ -0,0 +1,48 @@
|
||||
// escena_joc.hpp - Lògica principal del joc
|
||||
// © 1999 Visente i Sergi (versió Pascal)
|
||||
// © 2025 Port a C++20 amb SDL3
|
||||
|
||||
#ifndef ESCENA_JOC_HPP
|
||||
#define ESCENA_JOC_HPP
|
||||
|
||||
#include "../../core/graphics/vector_text.hpp"
|
||||
#include "../../core/rendering/sdl_manager.hpp"
|
||||
#include "../../core/types.hpp"
|
||||
#include "../constants.hpp"
|
||||
#include "../entities/bala.hpp"
|
||||
#include "../entities/enemic.hpp"
|
||||
#include "../entities/nau.hpp"
|
||||
#include <SDL3/SDL.h>
|
||||
#include <array>
|
||||
#include <cstdint>
|
||||
|
||||
// Classe principal del joc (escena)
|
||||
class EscenaJoc {
|
||||
public:
|
||||
explicit EscenaJoc(SDLManager& sdl);
|
||||
~EscenaJoc() = default;
|
||||
|
||||
void executar(); // Bucle principal de l'escena
|
||||
void inicialitzar();
|
||||
void actualitzar(float delta_time);
|
||||
void dibuixar();
|
||||
void processar_input(const SDL_Event &event);
|
||||
|
||||
private:
|
||||
SDLManager& sdl_;
|
||||
|
||||
// Estat del joc
|
||||
Nau nau_;
|
||||
std::array<Enemic, Constants::MAX_ORNIS> orni_;
|
||||
std::array<Bala, Constants::MAX_BALES> bales_;
|
||||
Poligon chatarra_cosmica_;
|
||||
uint16_t itocado_;
|
||||
|
||||
// Text vectorial
|
||||
Graphics::VectorText text_;
|
||||
|
||||
// Funcions privades
|
||||
void tocado();
|
||||
};
|
||||
|
||||
#endif // ESCENA_JOC_HPP
|
||||
Reference in New Issue
Block a user