Skip to content

Commit

Permalink
Usa un switch para mejorar la legibilidad
Browse files Browse the repository at this point in the history
  • Loading branch information
autosquash committed Oct 14, 2023
1 parent e1b7e53 commit b24d9cf
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 29 deletions.
3 changes: 2 additions & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ BraceWrapping:
BeforeElse: false
IndentBraces: false
AlignAfterOpenBracket: BlockIndent
IndentCaseLabels: true
IndentCaseLabels: true
IndentCaseBlocks: true
NamespaceIndentation: All
ColumnLimit: 80
65 changes: 37 additions & 28 deletions src/nivel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,30 +56,38 @@ std::optional<FaseNivel> Nivel::procesarEvento(
estado.mostrando_grid = !estado.mostrando_grid;
}
// Dependientes del estado
if (estado.fase_actual == FaseNivel::MostrandoInstrucciones) {
if (pulsado(botones.empezar)) {
return FaseNivel::Activa;
}
} else if (estado.fase_actual == FaseNivel::Activa) {
auto tipos_pizza_disponibles =
estado.control_pizzas.get_tipos_disponibles();
bool despacho = false;
for (const auto &tp : tipos_pizza_disponibles) {
if (pulsado(botones.encargar.at(tp))) {
auto encargo = EncargoACocina(tp, obtener_tiempo_actual());
estado.encargos.anadir(encargo);
return std::nullopt;
switch (estado.fase_actual) {
case FaseNivel::MostrandoInstrucciones:
if (pulsado(botones.empezar)) {
return FaseNivel::Activa;
}
if (pulsado(botones.despachar.at(tp))) {
estado.control_pizzas.procesar_despacho(tp);
despacho = true;
break;
break;
case FaseNivel::Activa:
{
const auto tipos_pizza_disponibles =
estado.control_pizzas.get_tipos_disponibles();
bool despacho = false;
for (const auto &tp : tipos_pizza_disponibles) {
if (pulsado(botones.encargar.at(tp))) {
auto encargo =
EncargoACocina(tp, obtener_tiempo_actual());
estado.encargos.anadir(encargo);
return std::nullopt;
}
if (pulsado(botones.despachar.at(tp))) {
estado.control_pizzas.procesar_despacho(tp);
despacho = true;
break;
}
}
if (despacho &&
!estado.control_pizzas.faltan_pedidos_por_cubrir()) {
return FaseNivel::EsperaAntesDeResultado;
}
}
}
if (despacho &&
!estado.control_pizzas.faltan_pedidos_por_cubrir()) {
return FaseNivel::EsperaAntesDeResultado;
}
break;
default:
break;
}
}
return std::nullopt;
Expand Down Expand Up @@ -187,12 +195,13 @@ AccionGeneral Nivel::ejecutar() {
vista.paneles_completos.visible = false;
}
break;
case FaseNivel::MostrandoResultado: {
if (!es_el_ultimo && timer_fin_nivel.termino()) {
return AccionGeneral::SiguienteNivel;
};
break;
}
case FaseNivel::MostrandoResultado:
{
if (!es_el_ultimo && timer_fin_nivel.termino()) {
return AccionGeneral::SiguienteNivel;
};
break;
}
}

vista.actualizarIU(globales.window, estado);
Expand Down

0 comments on commit b24d9cf

Please sign in to comment.