Añadir tema LAVENDER + propuesta Temas Dinámicos
- Nuevo tema LAVENDER (7º tema)
- Degradado: Violeta oscuro (120,80,140) → Azul medianoche (25,30,60)
- Pelotas: Amarillo dorado monocromático (#FFD700)
- Contraste complementario violeta-amarillo
- Actualizado ColorTheme enum en defines.h
- Actualizado themes_[7] en engine.h/cpp
- ROADMAP actualizado:
- Temas visuales: 6/6 → 7/7 completadas
- Nueva propuesta: Ítem 9 - Temas Dinámicos (Color Generativo)
- Generación procedural de paletas HSV
- Esquemas de armonía (mono/complementario/análogo/triádico)
- Gradiente de fondo variable
- Color de pelotas según esquema elegido
- Controles: Tecla G (generar), Shift+G (ciclar esquemas)
- Prioridad: Baja, Estimación: 4-6 horas
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
#include <SDL3/SDL_stdinc.h> // for Uint64
|
||||
|
||||
// Configuración de ventana y pantalla
|
||||
constexpr char WINDOW_CAPTION[] = "vibe3_physics";
|
||||
constexpr char WINDOW_CAPTION[] = "ViBe3 Physics (JailDesigner 2025)";
|
||||
|
||||
// Resolución por defecto (usada si no se especifica en CLI)
|
||||
constexpr int DEFAULT_SCREEN_WIDTH = 320; // Ancho lógico por defecto (si no hay -w)
|
||||
@@ -61,7 +61,8 @@ enum class ColorTheme {
|
||||
NEON = 2, // Cian, magenta, verde lima, amarillo vibrante
|
||||
FOREST = 3, // Verdes, marrones, amarillos otoño
|
||||
RGB = 4, // RGB puros y subdivisiones matemáticas (fondo blanco)
|
||||
MONOCHROME = 5 // Fondo negro degradado, sprites blancos monocromáticos
|
||||
MONOCHROME = 5, // Fondo negro degradado, sprites blancos monocromáticos
|
||||
LAVENDER = 6 // Degradado violeta-azul, pelotas amarillo dorado
|
||||
};
|
||||
|
||||
// Enum para tipo de figura 3D
|
||||
|
||||
@@ -466,6 +466,10 @@ void Engine::handleEvents() {
|
||||
startThemeTransition(ColorTheme::MONOCHROME);
|
||||
break;
|
||||
|
||||
case SDLK_KP_7:
|
||||
startThemeTransition(ColorTheme::LAVENDER);
|
||||
break;
|
||||
|
||||
// Cambio de sprite/textura dinámico
|
||||
case SDLK_N:
|
||||
switchTexture();
|
||||
@@ -1357,6 +1361,29 @@ void Engine::initializeThemes() {
|
||||
{255, 255, 255},
|
||||
{255, 255, 255},
|
||||
{255, 255, 255}}};
|
||||
|
||||
// LAVENDER: Degradado violeta oscuro → azul medianoche, pelotas amarillo dorado monocromático
|
||||
themes_[6] = {
|
||||
"LAVENDER",
|
||||
"LAVANDA", // Nombres (inglés, español)
|
||||
255,
|
||||
200,
|
||||
100, // Color texto: amarillo cálido
|
||||
120.0f / 255.0f,
|
||||
80.0f / 255.0f,
|
||||
140.0f / 255.0f, // Fondo superior (violeta oscuro)
|
||||
25.0f / 255.0f,
|
||||
30.0f / 255.0f,
|
||||
60.0f / 255.0f, // Fondo inferior (azul medianoche)
|
||||
{
|
||||
{255, 215, 0}, // Amarillo dorado - todas las pelotas del mismo color
|
||||
{255, 215, 0},
|
||||
{255, 215, 0},
|
||||
{255, 215, 0},
|
||||
{255, 215, 0},
|
||||
{255, 215, 0},
|
||||
{255, 215, 0},
|
||||
{255, 215, 0}}};
|
||||
}
|
||||
|
||||
void Engine::startThemeTransition(ColorTheme new_theme) {
|
||||
|
||||
@@ -97,7 +97,7 @@ class Engine {
|
||||
};
|
||||
|
||||
// Temas de colores definidos
|
||||
ThemeColors themes_[6]; // 6 temas: SUNSET, OCEAN, NEON, FOREST, RGB, MONOCHROME
|
||||
ThemeColors themes_[7]; // 7 temas: SUNSET, OCEAN, NEON, FOREST, RGB, MONOCHROME, LAVENDER
|
||||
|
||||
// Sistema de Figuras 3D (polimórfico)
|
||||
SimulationMode current_mode_ = SimulationMode::PHYSICS;
|
||||
|
||||
Reference in New Issue
Block a user