Pārlūkot izejas kodu

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.
Dylan Katz 3 gadi atpakaļ
vecāks
revīzija
fe3bd062b7
1 mainītis faili ar 5 papildinājumiem un 9 dzēšanām
  1. 5 9
      Userland/Games/2048/main.cpp

+ 5 - 9
Userland/Games/2048/main.cpp

@@ -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: