diff --git a/app/src/main/java/com/example/android/unscramble/ui/game/GameFragment.kt b/app/src/main/java/com/example/android/unscramble/ui/game/GameFragment.kt
index 15b71d5ea52239726fce7152bb1505d45e74f809..af18c93ccd884569aff3e8ee6bfcd56c6d8b380f 100644
--- a/app/src/main/java/com/example/android/unscramble/ui/game/GameFragment.kt
+++ b/app/src/main/java/com/example/android/unscramble/ui/game/GameFragment.kt
@@ -25,6 +25,7 @@ import androidx.fragment.app.Fragment
 import androidx.fragment.app.viewModels
 import com.example.android.unscramble.R
 import com.example.android.unscramble.databinding.GameFragmentBinding
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
 
 /**
  * Fragment where the game is played, contains the game logic.
@@ -111,6 +112,20 @@ class GameFragment : Fragment() {
         activity?.finish()
     }
 
+    private fun showFinalScoreDialog() {
+        MaterialAlertDialogBuilder(requireContext())
+            .setTitle(getString(R.string.congratulations))
+            .setMessage(getString(R.string.you_scored, viewModel.score))
+            .setCancelable(false)
+            .setNegativeButton(getString(R.string.exit)) { _, _ ->
+                exitGame()
+            }
+            .setPositiveButton(getString(R.string.play_again)) { _, _ ->
+                restartGame()
+            }
+            .show()
+    }
+
     /*
     * Sets and resets the text field error status.
     */