# 6. Отображение хода компьютера
Table of Contents
6. Отображение хода компьютера
Цель
Сделать ход противника читаемым: игрок видит, что сейчас очередь ИИ, и на долю секунды понимает, откуда и куда перемещается шар до начала пошаговой анимации по пустым клеткам.
Описание выполненной работы
В HUD добавлен центрированный баннер TurnLabel под строкой меню; при переходе к ИИ вызывается _set_turn_banner("Ход компьютера"). Для каждого жадного хода _ai_play_sequence вызывает _show_ai_move_hint_then_animate(from, to): на исходной и целевой CellView выставляются виды подсветки AI_FROM и AI_TO, пауза AI_MOVE_HINT_SEC (0,22 с), сброс подсветки и прежний await _animate_move_then_apply.
В CellView введён перечислимый тип HighlightKind и методы set_highlight_kind / get_highlight_kind; базовые состояния подкрашиваются через modulate, чтобы не плодить отдельные оверлеи.
Пример связки паузы и анимации в контроллере поля:
const AI_MOVE_HINT_SEC := 0.22
func _show_ai_move_hint_then_animate(from_idx: int, to_idx: int) -> void: var fc := _grid.get_child(from_idx) as CellView var tc := _grid.get_child(to_idx) as CellView if fc: fc.set_highlight_kind(CellView.HighlightKind.AI_FROM) if tc: tc.set_highlight_kind(CellView.HighlightKind.AI_TO) await get_tree().create_timer(AI_MOVE_HINT_SEC).timeout if is_instance_valid(fc): fc.set_highlight_kind(CellView.HighlightKind.NONE) if is_instance_valid(tc): tc.set_highlight_kind(CellView.HighlightKind.NONE) await _animate_move_then_apply(from_idx, to_idx)Ссылка на проект: Third Planet
Ссылка на игру: Google Play Rustore