feat(players): suport del segon jugador amb events amb player_id

This commit is contained in:
JailDesigner committed 2026-04-24 14:33:52 +02:00
1 parent 74dad71cc2
commit 4e9d5df872
21 files changed
+309 -49

No files matched your search

+16
View File
@@ -80,6 +80,17 @@ namespace Defaults {
constexpr SDL_Scancode EXIT = SDL_SCANCODE_ESCAPE;
} // namespace KeysGame
// Tecles del segon jugador local (WASD). Simètriques a KeysGame però
// mapejades a la mà esquerra del teclat. Cada Player instancia amb els
// seus propis Controls, així que aquests són un recull de fàbrica:
// canviar-los ací canvia el mapatge per a qualsevol escena que els use.
namespace KeysGameP2 {
constexpr SDL_Scancode UP = SDL_SCANCODE_W;
constexpr SDL_Scancode DOWN = SDL_SCANCODE_S;
constexpr SDL_Scancode LEFT = SDL_SCANCODE_A;
constexpr SDL_Scancode RIGHT = SDL_SCANCODE_D;
} // namespace KeysGameP2
namespace Player {
constexpr float SPEED_PX_PER_S = 60.0F; // Velocitat base del jugador (sense sprint / slow-zones).
} // namespace Player
@@ -209,6 +220,11 @@ namespace Defaults {
constexpr const char* MAP_YAML = "data/maps/pyramid.yaml";
constexpr const char* PLAYER_SPRITE = "data/player/sam.gif";
constexpr const char* PLAYER_YAML = "data/player/sam.yaml";
// Personatge del segon jugador. Clonat de sam amb repaletat (roig→blau);
// la geometria del sprite i les animacions coincideixen amb les de P1,
// així que Player::loadFrom només cal cridar-la amb un dels dos YAMLs.
constexpr const char* PLAYER_SPRITE_P2 = "data/player/morcus.gif";
constexpr const char* PLAYER_YAML_P2 = "data/player/morcus.yaml";
constexpr const char* MUSIC_TRACK = "pyramid_1.ogg";
} // namespace Pyramid