# 8. Отображение результата игры
Table of Contents
8. Отображение результата игры
Цель
После окончания партии игрок получает понятный экран итога: не только текст в диалоге, а оформленный блок с исходом, цифрами счёта и явным действием «вернуться в меню».
Описание выполненной работы
В game_board.tscn добавлен узел CanvasLayer ResultOverlay (скрыт по умолчанию) с полноэкранным Control, ColorRect затемнения и карточкой PanelContainer в духе существующего HUD. Тексты: ResultTitle, ResultScores, ResultSubtitle, кнопка ResultMenuButton.
В game_board.gd метод _offer_game_over() выставляет _game_ended / _busy, снимает выделение с клетки, обновляет баннер хода на «Игра окончена», по сравнению _score_human и _score_ai задаёт заголовок, цвет заголовка (мятный / красноватый / нейтральный), подзаголовок и строку счёта в формате Вы: N · Компьютер: M, затем показывает слой _result_overlay.visible = true. Нажатие кнопки вызывает _on_result_menu_pressed() и change_scene_to_file("res://scenes/main.tscn") — тот же маршрут, что у кнопки «Меню» до оверлея.
func _offer_game_over() -> void: # ... if _result_title: _result_title.text = title _result_title.add_theme_color_override(&"font_color", title_color) if _result_scores: _result_scores.text = "Вы: %d · Компьютер: %d" % [_score_human, _score_ai] if _result_subtitle: _result_subtitle.text = subtitle if _result_overlay: _result_overlay.visible = trueЛогику «когда партия закончена» (нет ходов) не меняли — поменяли только представление финала.
Ссылка на проект: Third Planet
Ссылка на игру: Google Play Rustore