afegit escenari personalitzat per parametre
This commit is contained in:
@@ -44,7 +44,10 @@ void SceneManager::changeScenario(int scenario_id, SimulationMode mode) {
|
||||
changeGravityDirection(GravityDirection::DOWN);
|
||||
|
||||
// Crear las bolas según el escenario
|
||||
for (int i = 0; i < BALL_COUNT_SCENARIOS[scenario_id]; ++i) {
|
||||
int ball_count = (scenario_id == CUSTOM_SCENARIO_IDX)
|
||||
? custom_ball_count_
|
||||
: BALL_COUNT_SCENARIOS[scenario_id];
|
||||
for (int i = 0; i < ball_count; ++i) {
|
||||
float X, Y, VX, VY;
|
||||
|
||||
// Inicialización según SimulationMode (RULES.md líneas 23-26)
|
||||
|
||||
@@ -50,11 +50,17 @@ class SceneManager {
|
||||
|
||||
/**
|
||||
* @brief Cambia el número de bolas según escenario
|
||||
* @param scenario_id Índice del escenario (0-7 para 10 a 50,000 bolas)
|
||||
* @param scenario_id Índice del escenario (0-7 para 10 a 50,000 bolas; 8 = custom)
|
||||
* @param mode Modo de simulación actual (afecta inicialización)
|
||||
*/
|
||||
void changeScenario(int scenario_id, SimulationMode mode);
|
||||
|
||||
/**
|
||||
* @brief Configura el número de bolas para el escenario custom (índice 8)
|
||||
* @param n Número de bolas del escenario custom
|
||||
*/
|
||||
void setCustomBallCount(int n) { custom_ball_count_ = n; }
|
||||
|
||||
/**
|
||||
* @brief Actualiza textura y tamaño de todas las bolas
|
||||
* @param new_texture Nueva textura compartida
|
||||
@@ -146,6 +152,7 @@ class SceneManager {
|
||||
std::vector<std::unique_ptr<Ball>> balls_;
|
||||
GravityDirection current_gravity_;
|
||||
int scenario_;
|
||||
int custom_ball_count_ = 0; // Número de bolas para escenario custom (índice 8)
|
||||
|
||||
// === Configuración de pantalla ===
|
||||
int screen_width_;
|
||||
|
||||
Reference in New Issue
Block a user