6d0df85e5ef11c23c65b7accf173abcf73c9a16b
Tanda grande de identifier-naming: 47 métodos privados pasan de snake_case (en su mayoría catalán/spanish) a camelBack inglés. Solo afecta a sus archivos hpp+cpp; ningún símbolo cruza fichero (los públicos quedan para una pasada manual con VS Code). Renames por clase: - ShapeLoader: resolve_path → resolvePath. - VectorText: load_charset → loadCharset, get_shape_filename → getShapeFilename. - Shape: starts_with → startsWith (cuidado de no tocar std::string::starts_with que también usaba), extract_value → extractValue, parse_center → parseCenter, parse_points → parsePoints. - Starfield: inicialitzar_estrella → initStar, fora_area → isOutsideArea, calcular_escala → computeScale, calcular_brightness → computeBrightness. - TitleScene: actualitzar_animacio_logo → updateLogoAnimation, inicialitzar_titol → initTitle. - LogoScene: inicialitzar_lletres → initLetters, actualitzar_explosions → updateExplosions, canviar_estat → changeState, totes_lletres_completes → allLettersComplete. - SpawnController: generar_spawn_events → generateSpawnEvents, seleccionar_tipus_aleatori → selectRandomType, spawn_enemic → spawnEnemy, aplicar_multiplicadors → applyMultipliers. - ShipAnimator: actualitzar_entering/floating/exiting → updateEntering/Floating/Exiting, configurar_nau_p1/p2 → configureShipP1/P2, calcular_posicio_fora_pantalla → computeOffscreenPosition. - GameScene: dibuixar_marges → drawMargins, dibuixar_marcador → drawScoreboard, disparar_bala → fireBullet, obtenir_punt_spawn → getSpawnPoint, unir_jugador → joinPlayer, dibuixar_continue → drawContinue, dibuixar_missatge_stage → drawStageMessage. - StageLoader: parse_metadata/stage/spawn_config/distribution/multipliers/ spawn_mode → parseMetadata/Stage/SpawnConfig/Distribution/Multipliers/ SpawnMode, validar_config → validateConfig. - StageManager: canviar_estat → changeState, processar_init_hud/level_start/playing/level_completed → processInitHud/LevelStart/Playing/LevelCompleted, carregar_stage → loadStage. Métodos públicos y funciones libres (cross-file) quedan a propósito sin tocar — los renombrará el usuario con la herramienta de rename de VS Code. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Orni Attack
Destrueix als cosinus mesisinus que ens ataquen montats en ORNIs!
Controls
El joc permet l'ús del teclat per a controlar la nau i la finestra. Les tecles són les següents:
| Tecla | Acció |
|---|---|
| ↑ | Accelerar la nau |
| ↓ | Frenar |
| ← | Rotar a l'esquerra |
| → | Rotar a la dreta |
| Espai | Disparar |
| ESC | Eixir del joc |
| F1 | Disminuir la mida de la finestra |
| F2 | Augmentar la mida de la finestra |
| F3 | Alternar pantalla completa |
Compilació i execució
Compilar el joc
make # Compilar
make debug # Compilació en mode debug
make clean # Netejar fitxers compilats
./orni # Executar
Crear versions release
make macos_release # macOS .app bundle + .dmg (Apple Silicon)
make linux_release # Linux .tar.gz
make windows_release # Windows .zip (requereix MinGW a Windows)
make windows_cross # Cross-compilació Windows des de Linux/macOS
make rpi_release # Raspberry Pi ARM64 cross-compilació
Requisits
- C++20 compatible compiler
- SDL3 library
- CMake 3.15 o superior
Plataformes suportades
- macOS (Apple Silicon i Intel)
- Linux (x86_64)
- Windows (MinGW)
- Raspberry Pi (ARM64)
Història
Joc original creat en Turbo Pascal 7 per a DOS (1999), ara migrat a C++20 amb SDL3. Aquest port modern preserva la jugabilitat i l'estètica de l'original mentre aprofita les capacitats dels sistemes actuals.
Versió actual: BETA 3.0
