Afegit el tamany de la coffee_machine als parametres

This commit is contained in:
2025-01-04 10:04:49 +01:00
parent eaab646cd3
commit 5e817ef1d0
5 changed files with 35 additions and 16 deletions

View File

@@ -1,5 +1,7 @@
## GAME ## GAME
game.item_size 20 # Tamaño de los items del juego game.item_size 20 # Tamaño de los items del juego
game.coffee_machine_w 28 # Ancho de la máquina de café
game.coffee_machine_h 37 # Alto de la máquina de café
game.width 320 # Ancho de la resolucion nativa del juego game.width 320 # Ancho de la resolucion nativa del juego
game.height 240 # Alto de la resolucion nativa del juego game.height 240 # Alto de la resolucion nativa del juego
game.play_area.rect.x 0 # Rectangulo con la posición de la zona de juego game.play_area.rect.x 0 # Rectangulo con la posición de la zona de juego

View File

@@ -1,12 +1,14 @@
## GAME ## GAME
game.item_size 20 # Tamaño de los items del juego game.item_size 20 # Tamaño de los items del juego
game.width 320 # Ancho de la resolucion nativa del juego game.coffee_machine_w 28 # Ancho de la máquina de café
game.height 256 # Alto de la resolucion nativa del juego game.coffee_machine_h 37 # Alto de la máquina de café
game.play_area.rect.x 0 # Rectangulo con la posición de la zona de juego game.width 320 # Ancho de la resolucion nativa del juego
game.play_area.rect.y 0 # Rectangulo con la posición de la zona de juego game.height 256 # Alto de la resolucion nativa del juego
game.play_area.rect.w 320 # Rectangulo con la posición de la zona de juego game.play_area.rect.x 0 # Rectangulo con la posición de la zona de juego
game.play_area.rect.h 216 # Rectangulo con la posición de la zona de juego game.play_area.rect.y 0 # Rectangulo con la posición de la zona de juego
game.enter_name_seconds 60 # Duración en segundos para introducir el nombre al finalizar la partida game.play_area.rect.w 320 # Rectangulo con la posición de la zona de juego
game.play_area.rect.h 216 # Rectangulo con la posición de la zona de juego
game.enter_name_seconds 60 # Duración en segundos para introducir el nombre al finalizar la partida
## FADE ## FADE
fade.num_squares_width 160 fade.num_squares_width 160

View File

@@ -14,10 +14,10 @@ Item::Item(ItemType type, float x, float y, SDL_Rect &play_area, std::shared_ptr
{ {
case ItemType::COFFEE_MACHINE: case ItemType::COFFEE_MACHINE:
{ {
width_ = 28; width_ = param.game.coffee_machine_w;
height_ = 37; height_ = param.game.coffee_machine_h;
pos_x_ = ((static_cast<int>(x) + (play_area.w / 2)) % (play_area.w - width_ - 5)) + 2; pos_x_ = ((static_cast<int>(x) + (play_area.w / 2)) % (play_area.w - width_ - 5)) + 2;
pos_y_ = -height_; pos_y_ = y;
vel_x_ = 0.0f; vel_x_ = 0.0f;
vel_y_ = -0.1f; vel_y_ = -0.1f;
accel_y_ = 0.1f; accel_y_ = 0.1f;
@@ -26,8 +26,8 @@ Item::Item(ItemType type, float x, float y, SDL_Rect &play_area, std::shared_ptr
} }
default: default:
{ {
width_ = 20; width_ = param.game.item_size;
height_ = 20; height_ = param.game.item_size;
pos_x_ = x; pos_x_ = x;
pos_y_ = y; pos_y_ = y;
vel_x_ = -1.0f + ((rand() % 5) * 0.5f); vel_x_ = -1.0f + ((rand() % 5) * 0.5f);

View File

@@ -21,6 +21,8 @@ void initParam()
param.game.width = 320; param.game.width = 320;
param.game.height = 256; param.game.height = 256;
param.game.item_size = 20; param.game.item_size = 20;
param.game.coffee_machine_w = 28;
param.game.coffee_machine_h = 37;
param.game.game_area.rect = {0, 0, param.game.width, param.game.height}; param.game.game_area.rect = {0, 0, param.game.width, param.game.height};
param.game.play_area.rect = {0, 0, param.game.width, 216}; param.game.play_area.rect = {0, 0, param.game.width, 216};
param.game.enter_name_seconds = 30; param.game.enter_name_seconds = 30;
@@ -124,6 +126,16 @@ bool setParams(const std::string &var, const std::string &value)
param.game.item_size = std::stoi(value); param.game.item_size = std::stoi(value);
} }
else if (var == "game.coffee_machine_w")
{
param.game.coffee_machine_w = std::stoi(value);
}
else if (var == "game.coffee_machine_h")
{
param.game.coffee_machine_h = std::stoi(value);
}
else if (var == "game.play_area.rect.x") else if (var == "game.play_area.rect.x")
{ {
param.game.play_area.rect.x = std::stoi(value); param.game.play_area.rect.x = std::stoi(value);

View File

@@ -11,6 +11,8 @@ struct ParamGame
int width; // Ancho de la resolucion nativa del juego int width; // Ancho de la resolucion nativa del juego
int height; // Alto de la resolucion nativa del juego int height; // Alto de la resolucion nativa del juego
int item_size; // Tamaño de los items del juego int item_size; // Tamaño de los items del juego
int coffee_machine_w; // Ancho de la máquina de café
int coffee_machine_h; // Alto de la máquina de café
Zone play_area; // Rectangulo con la posición de la zona de juego Zone play_area; // Rectangulo con la posición de la zona de juego
Zone game_area; // Rectangulo con las dimensiones del juego Zone game_area; // Rectangulo con las dimensiones del juego
int enter_name_seconds; // Duración en segundos para introducir el nombre al finalizar la partida int enter_name_seconds; // Duración en segundos para introducir el nombre al finalizar la partida
@@ -63,7 +65,8 @@ struct ParamNotification
}; };
// Estructura para almacenar todos los parámetros del juego // Estructura para almacenar todos los parámetros del juego
struct Param { struct Param
{
ParamGame game; ParamGame game;
ParamFade fade; ParamFade fade;
SDL_Rect scoreboard; SDL_Rect scoreboard;
@@ -72,14 +75,14 @@ struct Param {
std::vector<ParamBalloon> balloon; std::vector<ParamBalloon> balloon;
ParamNotification notification; ParamNotification notification;
Param() : game(), fade(), scoreboard(), title(), background(), notification() { Param() : game(), fade(), scoreboard(), title(), background(), notification()
{
balloon.reserve(4); balloon.reserve(4);
} }
}; };
extern Param param; extern Param param;
extern Param param; extern Param param;
// Establece valores para los parametros a partir de un fichero de texto // Establece valores para los parametros a partir de un fichero de texto