2048: Simplify dialog box when target reached

Previously, upon reaching the target, the player is presented with
potentially two dialog boxes: one asking if the user wants to
continue endlessly and another showing the player's statistics,
which would only be shown if the user does not want to continue.

This commit consolidates these into a single dialog box that shows
the relevant statistics and asks the user if they want to continue
endlessly.
This commit is contained in:
Dylan Katz 2022-01-09 20:45:12 -08:00 committed by Brian Gianforcaro
parent 0fda98dfb3
commit fe3bd062b7
Notes: sideshowbarker 2024-07-19 17:11:02 +09:00

View File

@ -141,19 +141,15 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
break;
case Game::MoveOutcome::Won: {
update();
auto message_box = GUI::MessageBox::construct(window, "Congratulations! You won the game, Do you still want to continue?",
"Want to continue?",
auto want_to_continue = GUI::MessageBox::show(window,
String::formatted("You won the game in {} turns with a score of {}. Would you like to continue?", game.turns(), game.score()),
"Congratulations!",
GUI::MessageBox::Type::Question,
GUI::MessageBox::InputType::YesNo);
if (message_box->exec() == GUI::MessageBox::ExecYes)
if (want_to_continue == GUI::MessageBox::ExecYes)
game.set_want_to_continue();
else {
GUI::MessageBox::show(window,
String::formatted("You reached {} in {} turns with a score of {}", game.largest_tile(), game.turns(), game.score()),
"You won!",
GUI::MessageBox::Type::Information);
else
start_a_new_game();
}
break;
}
case Game::MoveOutcome::GameOver: