Научился: Алгоритму поиска в ширину на практике. Ошибка в том, что мы возвращаем номер вершины из нашей коллекции, меняем ее цвет. Коллекция меняется. А мы возвращаем номер с помощью yield, а коллекция поменялась. Вот программа и не может из-за этого работать.
Научился: Закрепил знания о том зачем интерфейс вообще нужен. Со скрипом, но закрепил. Так проще писать что-то абстрактное и универсальное. Трудности: Разобраться в методах. Цикл разработки сбит. Тут нам даются уже готовые методы, которые мы еще не используем, а заготавливаем. Евгений Витольдович уже знает что они нам понадобятся и в каком виде, мы еще нет. Обычно делается все немного наоборот. А потом переписывается с нуля с полным пониманием что нам нужно и как нам нужно. Метод FindNewLeader() мы написали уже давно и то что он использует метод Поймал() и как он его использует. И почему мы в метод не передаем лидера и других игроков по очереди для проверки их касания. А сравниваем с this. Это вызывает самые большие сложности в понимании. Но разобраться можно. Лидер же тоже Игрок и у него есть метод Поймал, поэтому this подходит. Все это вспомнить и увязать сразу не получается. Тут главное посидеть подумать, не спешить. Дальше нам нужно прикрутить таймер и запускать метод Step() по нему.