В прошлой части я расписал, как хочу иметь несколько контроллеров, чтобы каждый контроллер обслуживал свой блок интерактива – заставку, меню, игру и др. Предыдущие части: Где у него классы, Поддержка SDL2, Полируем ржавчину Первое, что я сделал, это беззаботно написал несколько структур с методом run(): TitleController, MenuController и GameController. Они одинаковые, и различаются только их имена. Приведу код одной из них: Метод run() просто печатает сообщение с собственным свойством id (значение id подставляется вместо {} в строке). Если вам интересно, зачем там стоит восклицательный знак после println, так это и мне тоже интересно. На самом деле это не функция, а какой-то макрос. Умеют люди добавить себе проблем. Но отложим это на потом, сейчас другая задача. Потом я создал из этих структур три объекта, соответственно, title_controller, menu_controller и game_controller. Обратите внимание, что в Rust принято писать названия переменных и функций не ВотТак, а вот_так. Не знаю, кому пр