Implementar sistema de gravedad direccional con controles de cursor
- 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>
This commit is contained in:
24
source/defines.h
Normal file
24
source/defines.h
Normal file
@@ -0,0 +1,24 @@
|
||||
#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
|
||||
};
|
||||
Reference in New Issue
Block a user