PROGRESO INTERMEDIO - Estructura base de Engine implementada: Nuevos archivos: - engine.h: Declaración completa de clase Engine con encapsulación - engine.cpp: Esqueleto de implementación con métodos stub - main_new.cpp: Nuevo main simplificado (15 líneas vs 580) Cambios en archivos existentes: - defines.h: Añadir enum ColorTheme (centralizar definiciones) - main.cpp: Eliminar enum ColorTheme duplicado Arquitectura Engine: - Encapsulación completa de variables globales (SDL, estado, timing, UI) - Métodos organizados por responsabilidad (public/private) - Eliminación de problemas de orden de declaración - Base sólida para futuras extensiones Estado: Compilación exitosa ✅ Pendiente: Migrar funcionalidad completa de métodos stub 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
37 lines
1.0 KiB
C++
37 lines
1.0 KiB
C++
#pragma once
|
|
|
|
constexpr char WINDOW_CAPTION[] = "vibe3_physics";
|
|
|
|
constexpr int SCREEN_WIDTH = 320;
|
|
constexpr int SCREEN_HEIGHT = 240;
|
|
constexpr int WINDOW_SIZE = 3;
|
|
constexpr int BALL_SIZE = 10;
|
|
constexpr float GRAVITY_FORCE = 0.2f;
|
|
|
|
// DEMO_SPEED eliminado - ya no se usa con delta time
|
|
constexpr Uint64 TEXT_DURATION = 2000;
|
|
|
|
// Configuración de variación aleatoria en rebotes
|
|
constexpr float BASE_BOUNCE_COEFFICIENT = 0.75f; // Coeficiente base IGUAL para todas las pelotas
|
|
constexpr float BOUNCE_VARIATION_PERCENT = 0.05f; // ±5% variación en cada rebote
|
|
constexpr float LATERAL_LOSS_PERCENT = 0.02f; // ±2% pérdida lateral en rebotes
|
|
|
|
struct Color {
|
|
int r, g, b;
|
|
};
|
|
|
|
// Enum para dirección de gravedad
|
|
enum class GravityDirection {
|
|
DOWN, // ↓ Gravedad hacia abajo (por defecto)
|
|
UP, // ↑ Gravedad hacia arriba
|
|
LEFT, // ← Gravedad hacia la izquierda
|
|
RIGHT // → Gravedad hacia la derecha
|
|
};
|
|
|
|
// Enum para temas de colores
|
|
enum class ColorTheme {
|
|
SUNSET = 0,
|
|
OCEAN = 1,
|
|
NEON = 2,
|
|
FOREST = 3
|
|
}; |