Implementat el final del joc
This commit is contained in:
@@ -118,77 +118,28 @@ void Scoreboard::render()
|
||||
SDL_RenderCopy(renderer_, background_, nullptr, &rect_);
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Scoreboard::setName(int panel_, const std::string &name_)
|
||||
{
|
||||
this->name_[panel_] = name_;
|
||||
}
|
||||
void Scoreboard::setName(int panel, const std::string &name) { name_[panel] = name; }
|
||||
void Scoreboard::setRecordName(int panel, const std::string &record_name) { record_name_[panel] = record_name; }
|
||||
void Scoreboard::setSelectorPos(int panel, int pos) { selector_pos_[panel] = pos; }
|
||||
void Scoreboard::setScore(int panel, int score) { score_[panel] = score; }
|
||||
void Scoreboard::setMult(int panel, float mult) { mult_[panel] = mult; }
|
||||
void Scoreboard::setContinue(int panel, int continue_counter) { continue_counter_[panel] = continue_counter; }
|
||||
void Scoreboard::setStage(int stage) { stage_ = stage; }
|
||||
void Scoreboard::setHiScore(int hi_score) { hi_score_ = hi_score; }
|
||||
void Scoreboard::setPower(float power) { power_ = power; }
|
||||
void Scoreboard::setHiScoreName(const std::string &name) { hi_score_name_ = name; }
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Scoreboard::setRecordName(int panel_, const std::string &record_name_)
|
||||
void Scoreboard::setColor(Color color)
|
||||
{
|
||||
this->record_name_[panel_] = record_name_;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Scoreboard::setSelectorPos(int panel_, int pos)
|
||||
{
|
||||
selector_pos_[panel_] = pos;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Scoreboard::setScore(int panel_, int score_)
|
||||
{
|
||||
this->score_[panel_] = score_;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Scoreboard::setMult(int panel_, float mult_)
|
||||
{
|
||||
this->mult_[panel_] = mult_;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Scoreboard::setContinue(int panel_, int value)
|
||||
{
|
||||
continue_counter_[panel_] = value;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Scoreboard::setStage(int stage_)
|
||||
{
|
||||
this->stage_ = stage_;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Scoreboard::setHiScore(int hi_score_)
|
||||
{
|
||||
this->hi_score_ = hi_score_;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Scoreboard::setPower(float power_)
|
||||
{
|
||||
this->power_ = power_;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Scoreboard::setHiScoreName(const std::string &name_)
|
||||
{
|
||||
hi_score_name_ = name_;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Scoreboard::setColor(Color color_)
|
||||
{
|
||||
this->color_ = color_;
|
||||
color_ = color;
|
||||
fillBackgroundTexture();
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Scoreboard::setPos(SDL_Rect rect_)
|
||||
void Scoreboard::setPos(SDL_Rect rect)
|
||||
{
|
||||
this->rect_ = rect_;
|
||||
rect_ = rect;
|
||||
|
||||
// Recalcula las anclas de los elementos
|
||||
recalculateAnchors();
|
||||
@@ -207,10 +158,10 @@ void Scoreboard::setPos(SDL_Rect rect_)
|
||||
void Scoreboard::fillPanelTextures()
|
||||
{
|
||||
// Guarda a donde apunta actualmente el renderizador
|
||||
SDL_Texture *temp = SDL_GetRenderTarget(renderer_);
|
||||
auto temp = SDL_GetRenderTarget(renderer_);
|
||||
|
||||
// Genera el contenidoi de cada panel_
|
||||
for (int i = 0; i < SCOREBOARD_MAX_PANELS; ++i)
|
||||
for (size_t i = 0; i < SCOREBOARD_MAX_PANELS; ++i)
|
||||
{
|
||||
// Cambia el destino del renderizador
|
||||
SDL_SetRenderTarget(renderer_, panel_texture_[i]);
|
||||
@@ -314,8 +265,9 @@ void Scoreboard::fillPanelTextures()
|
||||
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y, lang::getText(106));
|
||||
SDL_Rect rect = {enter_name_pos_.x, enter_name_pos_.y, 5, 7};
|
||||
SDL_SetRenderDrawColor(renderer_, 0xFF, 0xFF, 0xEB, 255);
|
||||
for (int j = 0; j < (int)record_name_[i].size(); ++j)
|
||||
for (size_t j = 0; j < record_name_[i].size(); ++j)
|
||||
{
|
||||
/*
|
||||
if (j == selector_pos_[i])
|
||||
{ // La letra seleccionada se pinta de forma intermitente
|
||||
if (counter_ % 3 > 0)
|
||||
@@ -329,11 +281,28 @@ void Scoreboard::fillPanelTextures()
|
||||
SDL_RenderDrawLine(renderer_, rect.x, rect.y + rect.h, rect.x + rect.w, rect.y + rect.h);
|
||||
text_scoreboard_->write(rect.x, rect.y, record_name_[i].substr(j, 1));
|
||||
}
|
||||
*/
|
||||
if (j != selector_pos_[i] || counter_ % 3 == 0)
|
||||
{
|
||||
SDL_RenderDrawLine(renderer_, rect.x, rect.y + rect.h, rect.x + rect.w, rect.y + rect.h);
|
||||
text_scoreboard_->write(rect.x, rect.y, record_name_[i].substr(j, 1));
|
||||
}
|
||||
rect.x += 7;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ScoreboardMode::GAME_COMPLETED:
|
||||
{
|
||||
// GAME OVER
|
||||
text_scoreboard_->writeCentered(slot4_1_.x, slot4_1_.y + 4, lang::getText(102));
|
||||
|
||||
// SCORE
|
||||
if (counter_ % 10 < 8)
|
||||
{
|
||||
text_scoreboard_->writeCentered(slot4_3_.x, slot4_3_.y - 2, lang::getText(120));
|
||||
text_scoreboard_->writeCentered(slot4_4_.x, slot4_4_.y - 2, updateScoreText(score_[i]));
|
||||
}
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -416,10 +385,7 @@ void Scoreboard::recalculateAnchors()
|
||||
}
|
||||
|
||||
// Establece el modo del marcador
|
||||
void Scoreboard::setMode(int index, ScoreboardMode mode)
|
||||
{
|
||||
panel_[index].mode = mode;
|
||||
}
|
||||
void Scoreboard::setMode(int index, ScoreboardMode mode) { panel_[index].mode = mode; }
|
||||
|
||||
// Crea la textura de fondo
|
||||
void Scoreboard::createBackgroundTexture()
|
||||
|
||||
Reference in New Issue
Block a user