Fase 1: Migración inicial a C++20 modules
Implementada la estructura base de módulos para vibe2_modules: - Configurado CMakeLists.txt para soportar C++23 y módulos - Creado módulo core.cppm con tipos básicos (Color, ColorTheme, constantes) - Creado módulo sdl_wrapper.cppm para encapsular SDL3 - Migrado defines.h completamente al módulo core - Actualizado ball.h y ball.cpp para usar el módulo core - Actualizado main.cpp para importar y usar el módulo core - Eliminado defines.h obsoleto El proyecto ahora compila y funciona con módulos C++20. Próximos pasos: crear módulos especializados (physics, rendering, etc.) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
+4
-4
@@ -4,7 +4,7 @@
|
||||
|
||||
#include <memory> // for shared_ptr, unique_ptr
|
||||
|
||||
#include "defines.h" // for Color
|
||||
import vibe2.core; // for Color y constantes
|
||||
#include "external/sprite.h" // for Sprite
|
||||
class Texture;
|
||||
|
||||
@@ -14,14 +14,14 @@ class Ball {
|
||||
SDL_FRect pos_; // Posición y tamaño de la pelota
|
||||
float vx_, vy_; // Velocidad
|
||||
float gravity_force_; // Gravedad
|
||||
Color color_; // Color de la pelota
|
||||
vibe2::Color color_; // Color de la pelota
|
||||
bool on_floor_; // Indica si la pelota está ya en el suelo
|
||||
bool stopped_; // Indica si la pelota ha terminado de moverse;
|
||||
float loss_; // Coeficiente de rebote. Pérdida de energía en cada rebote
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
Ball(float x, float vx, float vy, Color color, std::shared_ptr<Texture> texture);
|
||||
Ball(float x, float vx, float vy, vibe2::Color color, std::shared_ptr<Texture> texture);
|
||||
|
||||
// Destructor
|
||||
~Ball() = default;
|
||||
@@ -45,5 +45,5 @@ class Ball {
|
||||
|
||||
// Getters para batch rendering
|
||||
SDL_FRect getPosition() const { return pos_; }
|
||||
Color getColor() const { return color_; }
|
||||
vibe2::Color getColor() const { return color_; }
|
||||
};
|
||||
Reference in New Issue
Block a user