Построение квеста с множеством комнат

Сцены Скретч - полноценные объекты, которыми можно управлять. Двигаться они не умеют, а все остальное со сценами вполне можно делать. В этом сообщении расскажу о том, как можно превратить ряд сцен в пространство таблицы - игральной доски. Исходно у нас есть ряд, в котором 20 сцен. Мы хотим получить таблицу, в которой будет 5 рядов. В каждом ряду будет 4 сцены. Или пусть будет 4 ряда по 5 сцен. Или 8 рядов по 8 сцен. В общем случае - пусть у меня будет возможность собрать карту мира, состоящую из множества сцен. И пусть мой герой сможет по этой карте ходить и вправо и влево и вверх и вниз.

В этом году в ходе обсуждения со студентами сценария квеста и построения мира, в котором живет множество героев, мы столкнулись с тем, что мир то у нас пока описан плохо. Вправо и влево перемещаться легко, а вот ходить вверх и вниз мы не умеем. Это был такой серьезный вызов и никто в группе решения сразу не предложил.

Решили сначала сделать задачу более простой - убрать действующего героя и работать исключительно со сценами. Мы нажимаем стрелки, а у нас меняются фоновые изображения. Пришлось ввести несколько переменных:

1) Общее число сцен или слайдов - к сожалению Scratch сам не считает сколько у него готовых слайдов-фонов есть для данной сцены

2) Число рядов - на сколько рядов мы хотим разделить число слайдов

3) Число слайдов в ряду - это 1 / 2 - ну, пусть уж будет как отдельная переменная

4) Номер кадра - эта переменная будет действительно переменной - она будет меняться и в в зависимости от её значения будет меняться фон сцены.

Вот и все - весь проект уместился в одном скрипте, который связан только со сценой.

Решили задачу для сцены - сделаем проект с героем. Объединим управление фоном с управлением героем. И здесь обнаружилась серьезная ошибка в реализации среды Scrtatch - при сохранении и дальнейшем импорте готового проекта русские имена переменных обрабатываются с ошибкой. Мораль - не используйте кириллицу в именах переменных.

Пришлось обновить имена переменных. В программе используются глобальные переменные (Да Скретч и не позволяет делать локальные переменные для сцены. Для героев - пожалуйста. А для сцены - нельзя). В скрипт для героя ушло все управление и изменение номера кадра. Для сцены остался совсем короткий скрипт - установи фон = номер кадра.

Примеры перечислю в комментариях.