From 3fafff026b51ade7eb7f8791553165e5ab5199d9 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Tue, 23 Sep 2025 14:03:07 +0200 Subject: [PATCH] revisat balloon_formationc.cpp i credits.cpp --- config/formations.txt | 384 +++++++++++++++++----------------- source/balloon.cpp | 2 +- source/balloon.h | 2 +- source/balloon_formations.cpp | 6 +- source/balloon_formations.h | 4 +- source/balloon_manager.cpp | 2 +- 6 files changed, 200 insertions(+), 200 deletions(-) diff --git a/config/formations.txt b/config/formations.txt index 9727911..1e2fff3 100644 --- a/config/formations.txt +++ b/config/formations.txt @@ -8,270 +8,270 @@ formation: 0 # Dos enemigos BALLOON3 uno a cada extremo -X3_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, EXTRALARGE, 0 -X3_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, EXTRALARGE, 0 +X3_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, EXTRALARGE, 0.0 +X3_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, EXTRALARGE, 0.0 formation: 1 # Dos enemigos BALLOON3 uno a cada cuarto. Ambos van hacia el centro -X3_25, 0, DEFAULT_POS_Y, RIGHT, BALLOON, EXTRALARGE, 0 -X3_75, 0, DEFAULT_POS_Y, LEFT, BALLOON, EXTRALARGE, 0 +X3_25, 0, DEFAULT_POS_Y, RIGHT, BALLOON, EXTRALARGE, 0.0 +X3_75, 0, DEFAULT_POS_Y, LEFT, BALLOON, EXTRALARGE, 0.0 formation: 2 # Cuatro enemigos BALLOON1 uno detrás del otro. A la izquierda y hacia el centro -X1_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 500 -X1_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 334 -X1_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 167 -X1_0, 3, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0 +X1_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0.5 +X1_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0.334 +X1_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0.167 +X1_0, 3, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0.0 formation: 3 # Cuatro enemigos BALLOON1 uno detrás del otro. A la derecha y hacia el centro -X1_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 500 -X1_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 334 -X1_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 167 -X1_100, -3, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0 +X1_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0.5 +X1_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0.334 +X1_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0.167 +X1_100, -3, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0.0 formation: 4 # Tres enemigos BALLOON2. 0, 417, 834. Hacia la derecha -X2_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 334 -X2_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 167 -X2_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0 +X2_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.334 +X2_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.167 +X2_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.0 formation: 5 # Tres enemigos BALLOON2. 50, 75, 1667. Hacia la izquierda -X2_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 334 -X2_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 167 -X2_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0 +X2_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.334 +X2_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.167 +X2_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.0 formation: 6 # Tres enemigos BALLOON2. 0, 0, 0. Hacia la derecha -X2_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 334 -X2_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 167 -X2_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0 +X2_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.334 +X2_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.167 +X2_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.0 formation: 7 # Tres enemigos BALLOON2. 100, 1667, 1667. Hacia la izquierda -X2_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 334 -X2_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 167 -X2_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0 +X2_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.334 +X2_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.167 +X2_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.0 formation: 8 # Seis enemigos BALLOON0. 0, 0, 0, 0, 0, 0. Hacia la derecha -X0_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 834 -X0_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 667 -X0_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 500 -X0_0, 3, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 334 -X0_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 167 -X0_0, 5, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0 +X0_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.834 +X0_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.667 +X0_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.5 +X0_0, 3, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.334 +X0_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.167 +X0_0, 5, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.0 formation: 9 # Seis enemigos BALLOON0. 100, 1667, 1667, 1667, 1667, 1667. Hacia la izquierda -X0_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 834 -X0_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 667 -X0_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 500 -X0_100, -3, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 334 -X0_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 167 -X0_100, -5, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0 +X0_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.834 +X0_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.667 +X0_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.5 +X0_100, -3, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.334 +X0_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.167 +X0_100, -5, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.0 formation: 10 # Tres enemigos BALLOON3 seguidos desde la izquierda. Hacia la derecha -X3_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, EXTRALARGE, 500 -X3_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, EXTRALARGE, 250 -X3_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, EXTRALARGE, 0 +X3_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, EXTRALARGE, 0.5 +X3_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, EXTRALARGE, 0.25 +X3_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, EXTRALARGE, 0.0 formation: 11 # Tres enemigos BALLOON3 seguidos desde la derecha. Hacia la izquierda -X3_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, EXTRALARGE, 500 -X3_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, EXTRALARGE, 250 -X3_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, EXTRALARGE, 0 +X3_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, EXTRALARGE, 0.5 +X3_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, EXTRALARGE, 0.25 +X3_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, EXTRALARGE, 0.0 formation: 12 # Seis enemigos BALLOON1 uno detrás del otro. A la izquierda y hacia el centro -X1_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 834 -X1_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 667 -X1_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 500 -X1_0, 3, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 334 -X1_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 167 -X1_0, 5, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0 +X1_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0.834 +X1_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0.667 +X1_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0.5 +X1_0, 3, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0.334 +X1_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0.167 +X1_0, 5, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0.0 formation: 13 # Seis enemigos BALLOON1 uno detrás del otro. A la derecha y hacia el centro -X1_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 834 -X1_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 667 -X1_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 500 -X1_100, -3, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 334 -X1_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 167 -X1_100, -5, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0 +X1_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0.834 +X1_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0.667 +X1_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0.5 +X1_100, -3, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0.334 +X1_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0.167 +X1_100, -5, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0.0 formation: 14 # Cinco enemigos BALLOON2. Hacia la derecha. Separados -X2_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 667 -X2_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 500 -X2_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 334 -X2_0, 6, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 167 -X2_0, 8, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0 +X2_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.667 +X2_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.5 +X2_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.334 +X2_0, 6, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.167 +X2_0, 8, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.0 formation: 15 # Cinco enemigos BALLOON2. Hacia la izquierda. Separados -X2_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 667 -X2_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 500 -X2_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 334 -X2_100, -6, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 167 -X2_100, -8, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0 +X2_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.667 +X2_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.5 +X2_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.334 +X2_100, -6, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.167 +X2_100, -8, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.0 formation: 16 # Cinco enemigos BALLOON2. Hacia la derecha. Juntos -X2_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 667 -X2_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 500 -X2_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 334 -X2_0, 3, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 167 -X2_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0 +X2_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.667 +X2_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.5 +X2_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.334 +X2_0, 3, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.167 +X2_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.0 formation: 17 # Cinco enemigos BALLOON2. Hacia la izquierda. Juntos -X2_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 667 -X2_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 500 -X2_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 334 -X2_100, -3, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 167 -X2_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0 +X2_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.667 +X2_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.5 +X2_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.334 +X2_100, -3, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.167 +X2_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.0 formation: 18 # Doce enemigos BALLOON0. Hacia la derecha. Juntos -X0_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 1834 -X0_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 1667 -X0_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 25000 -X0_0, 50, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 1334 -X0_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 70 -X0_0, 83, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 1000 -X0_0, 100, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 830 -X0_0, 7, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 40 -X0_0, 8, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 500 -X0_0, 150, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 20 -X0_0, 167, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 10 -X0_0, 11, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0 +X0_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 1.834 +X0_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 1.667 +X0_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 25.0 +X0_0, 50, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 1.334 +X0_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.07 +X0_0, 83, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 1.0 +X0_0, 100, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.83 +X0_0, 7, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.04 +X0_0, 8, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.5 +X0_0, 150, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.02 +X0_0, 167, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.01 +X0_0, 11, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.0 formation: 19 # Doce enemigos BALLOON0. Hacia la izquierda. Juntos -X0_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 1834 -X0_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 1667 -X0_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 25000 -X0_100, -3, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 1334 -X0_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 70 -X0_100, -5, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 1000 -X0_100, -6, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 830 -X0_100, -7, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 40 -X0_100, -8, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 500 -X0_100, -9, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 20 -X0_100, -10, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 10 -X0_100, -11, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0 +X0_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 1.834 +X0_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 1.667 +X0_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 25.0 +X0_100, -3, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 1.334 +X0_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.07 +X0_100, -5, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 1.0 +X0_100, -6, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.83 +X0_100, -7, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.04 +X0_100, -8, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.5 +X0_100, -9, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.02 +X0_100, -10, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.01 +X0_100, -11, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.0 formation: 20 # Cuatro enemigos BALLOON3 seguidos desde la izquierda/derecha. Simétricos -X3_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, EXTRALARGE, 0 -X3_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, EXTRALARGE, 0 -X3_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, EXTRALARGE, 0 -X3_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, EXTRALARGE, 0 +X3_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, EXTRALARGE, 0.0 +X3_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, EXTRALARGE, 0.0 +X3_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, EXTRALARGE, 0.0 +X3_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, EXTRALARGE, 0.0 formation: 21 # Diez enemigos BALLOON1 uno detrás del otro. Izquierda/derecha. Simétricos -X1_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 200 -X1_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 150 -X1_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 100 -X1_0, 3, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 50 -X1_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0 -X1_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 200 -X1_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 150 -X1_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 100 -X1_100, -3, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 50 -X1_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0 +X1_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0.2 +X1_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0.15 +X1_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0.1 +X1_0, 3, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0.05 +X1_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, MEDIUM, 0.0 +X1_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0.2 +X1_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0.15 +X1_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0.1 +X1_100, -3, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0.05 +X1_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, MEDIUM, 0.0 formation: 22 # Diez enemigos BALLOON2. Hacia la derecha/izquierda. Separados. Simétricos -X2_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 667 -X2_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 500 -X2_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 334 -X2_0, 6, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 167 -X2_0, 8, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0 -X2_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 667 -X2_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 500 -X2_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 334 -X2_100, -6, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 167 -X2_100, -8, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0 +X2_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.667 +X2_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.5 +X2_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.334 +X2_0, 6, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.167 +X2_0, 8, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.0 +X2_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.667 +X2_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.5 +X2_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.334 +X2_100, -6, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.167 +X2_100, -8, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.0 formation: 23 # Diez enemigos BALLOON2. Hacia la derecha. Juntos. Simétricos -X2_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 667 -X2_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 500 -X2_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 334 -X2_0, 3, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 167 -X2_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0 -X2_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 667 -X2_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 500 -X2_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 334 -X2_100, -3, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 167 -X2_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0 +X2_0, 0, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.667 +X2_0, 1, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.5 +X2_0, 2, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.334 +X2_0, 3, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.167 +X2_0, 4, DEFAULT_POS_Y, RIGHT, BALLOON, LARGE, 0.0 +X2_100, 0, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.667 +X2_100, -1, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.5 +X2_100, -2, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.334 +X2_100, -3, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.167 +X2_100, -4, DEFAULT_POS_Y, LEFT, BALLOON, LARGE, 0.0 formation: 24 # Treinta enemigos BALLOON0. Del centro hacia los extremos. Juntos. Simétricos -X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0 -X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 83 -X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 167 -X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 250 -X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 334 -X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 417 -X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 500 -X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 584 -X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 667 -X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 750 -X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 834 -X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 917 -X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 16700 -X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 16784 -X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 1167 -X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0 -X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 83 -X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 167 -X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 250 -X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 334 -X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 417 -X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 500 -X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 584 -X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 667 -X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 750 -X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 834 -X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 917 -X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 16700 -X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 16784 -X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 1167 +X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.0 +X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.083 +X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.167 +X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.25 +X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.334 +X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.417 +X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.5 +X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.584 +X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.667 +X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.75 +X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.834 +X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.917 +X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 16.7 +X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 16.784 +X0_50, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 1.167 +X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.0 +X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.083 +X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.167 +X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.25 +X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.334 +X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.417 +X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.5 +X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.584 +X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.667 +X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.75 +X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.834 +X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.917 +X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 16.7 +X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 16.784 +X0_50, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 1.167 formation: 25 # Treinta enemigos BALLOON0. Del centro hacia adentro. Juntos. Simétricos -X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 1167 -X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 16784 -X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 16700 -X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 917 -X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 834 -X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 750 -X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 667 -X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 584 -X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 500 -X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 417 -X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 334 -X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 250 -X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 167 -X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 83 -X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0 -X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 1167 -X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 16784 -X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 16700 -X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 917 -X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 834 -X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 750 -X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 667 -X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 584 -X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 500 -X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 417 -X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 334 -X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 250 -X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 167 -X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 83 -X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0 +X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 1.167 +X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 16.784 +X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 16.7 +X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.917 +X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.834 +X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.75 +X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.667 +X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.584 +X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.5 +X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.417 +X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.334 +X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.25 +X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.167 +X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.083 +X0_50 + 20, 0, DEFAULT_POS_Y, LEFT, BALLOON, SMALL, 0.0 +X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 1.167 +X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 16.784 +X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 16.7 +X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.917 +X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.834 +X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.75 +X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.667 +X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.584 +X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.5 +X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.417 +X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.334 +X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.25 +X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.167 +X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.083 +X0_50 - 20, 0, DEFAULT_POS_Y, RIGHT, BALLOON, SMALL, 0.0 \ No newline at end of file diff --git a/source/balloon.cpp b/source/balloon.cpp index 7f6d704..2a56ad5 100644 --- a/source/balloon.cpp +++ b/source/balloon.cpp @@ -70,7 +70,7 @@ Balloon::Balloon(const Config& config) default_vy_ = param.balloon.settings.at(INDEX).vel; sprite_->setRotate(config.creation_counter <= 0); - sprite_->setRotateAmount(vx_ > 0.0F ? 2.0 : -2.0); + sprite_->setRotateAmount(vx_ > 0.0F ? 120.0 : -120.0); // Convert from 2 degrees/frame to 120 degrees/second break; } diff --git a/source/balloon.h b/source/balloon.h index 3ebc6f5..7a4d81b 100644 --- a/source/balloon.h +++ b/source/balloon.h @@ -77,7 +77,7 @@ class Balloon { Size size = Size::EXTRALARGE; float vel_x = VELX_POSITIVE; float game_tempo = GAME_TEMPO.at(0); - Uint16 creation_counter = 0; + float creation_counter = 0.0f; SDL_FRect play_area = {.x = 0.0F, .y = 0.0F, .w = 0.0F, .h = 0.0F}; std::shared_ptr texture = nullptr; std::vector animation; diff --git a/source/balloon_formations.cpp b/source/balloon_formations.cpp index 7cd8cba..537c1d6 100644 --- a/source/balloon_formations.cpp +++ b/source/balloon_formations.cpp @@ -155,7 +155,7 @@ auto BalloonFormations::parseBalloonLine(const std::string& line, const std::map return std::nullopt; } - int creation_time = DEFAULT_CREATION_TIME + evaluateExpression(tokens.at(6), variables); + float creation_time = evaluateExpression(tokens.at(6), variables); // Values in formations.txt are already in seconds return SpawnParams(x + offset, y, vel_x, type, size, creation_time); } catch (const std::exception&) { @@ -168,7 +168,7 @@ auto BalloonFormations::evaluateExpression(const std::string& expr, const std::m // Si es un número directo if ((std::isdigit(trimmed_expr.at(0)) != 0) || (trimmed_expr.at(0) == '-' && trimmed_expr.length() > 1)) { - return std::stoi(trimmed_expr); + return std::stof(trimmed_expr); } // Si es una variable simple @@ -205,7 +205,7 @@ auto BalloonFormations::evaluateSimpleExpression(const std::string& expr, const } // Si no se encuentra operador, intentar como variable o número - return variables.find(expr) != variables.end() ? variables.at(expr) : std::stoi(expr); + return variables.find(expr) != variables.end() ? variables.at(expr) : std::stof(expr); } auto BalloonFormations::trim(const std::string& str) -> std::string { diff --git a/source/balloon_formations.h b/source/balloon_formations.h index 10f52ac..99e1625 100644 --- a/source/balloon_formations.h +++ b/source/balloon_formations.h @@ -20,13 +20,13 @@ class BalloonFormations { float vel_x = 0.0F; // Velocidad inicial en el eje X Balloon::Type type = Balloon::Type::BALLOON; // Tipo de globo Balloon::Size size = Balloon::Size::SMALL; // Tamaño de globo - Uint16 creation_counter = 0; // Temporizador para la creación del globo + float creation_counter = 0.0f; // Temporizador para la creación del globo // Constructor por defecto SpawnParams() = default; // Constructor con parámetros - SpawnParams(float x, float y, float vel_x, Balloon::Type type, Balloon::Size size, Uint16 creation_counter) + SpawnParams(float x, float y, float vel_x, Balloon::Type type, Balloon::Size size, float creation_counter) : x(x), y(y), vel_x(vel_x), diff --git a/source/balloon_manager.cpp b/source/balloon_manager.cpp index 01fca3b..b2d824d 100644 --- a/source/balloon_manager.cpp +++ b/source/balloon_manager.cpp @@ -114,7 +114,7 @@ void BalloonManager::deployRandomFormation(int stage) { .size = balloon.size, .vel_x = balloon.vel_x, .game_tempo = balloon_speed_, - .creation_counter = static_cast(creation_time_enabled_ ? balloon.creation_counter : 0)}; + .creation_counter = creation_time_enabled_ ? balloon.creation_counter : 0.0f}; createBalloon(config); }