- Añadir enum GravityDirection (UP/DOWN/LEFT/RIGHT) en defines.h - Modificar Ball class para soportar gravedad multi-direccional - Reescribir Ball::update() con lógica direccional completa - Cambiar on_floor_ por on_surface_ (más genérico) - Implementar detección de superficie según dirección de gravedad - Añadir controles de teclado con teclas de cursor - Actualizar debug display para mostrar dirección actual - Aplicar fricción correctamente según superficie activa Controles nuevos: - ↑/↓/←/→: Cambiar dirección de gravedad - H: Toggle debug display (incluye nueva info de gravedad) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
24 lines
644 B
C++
24 lines
644 B
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;
|
|
|
|
struct Color {
|
|
int r, g, b;
|
|
};
|
|
|
|
// Enum para direcci\u00f3n de gravedad
|
|
enum class GravityDirection {
|
|
DOWN, // \u2193 Gravedad hacia abajo (por defecto)
|
|
UP, // \u2191 Gravedad hacia arriba
|
|
LEFT, // \u2190 Gravedad hacia la izquierda
|
|
RIGHT // \u2192 Gravedad hacia la derecha
|
|
}; |