В Scratch переменные и списки используются для хранения и управления данными. Переменные — это контейнеры, которые хранят одно значение (число, текст, логическое значение). Списки (или массивы) хранят несколько значений под одним именем.
В Scratch нет строгого ограничения на количество переменных и списков, но есть практические ограничения, связанные с производительностью и удобством работы.
Теоретически можно создать сколько угодно переменных. Практически лучше не создавать сотни, так как:
- их сложно управлять в интерфейсе,
- могут быть задержки в работе проекта (особенно в старых устройствах).
Для списков также нет жесткого лимита, но:
- Каждый список может хранить до 200 000 элементов (но это сильно замедлит проект).
- Рекомендуется использовать не больше 50–100 списков в одном проекте.
Переменные
Как создать переменную
- Перейдите во вкладку «Переменные».
- Нажмите «Создать переменную».
- Введите имя переменной (например, Счет).
- Выберите, будет ли переменная доступна для всех спрайтов («Для всех объектов») или только для текущего («Только для этого объекта»).

После создания переменная будет доступная для отображения на сцене (можно поставить галочку в левом столбце или выбрать блок показа).
Блоки для работы с переменными

Непосредственно блок переменной, который можно использовать в других блоках, например, математических.

Задать *переменная* значение *число/текст* — перезаписывает текущее значение переменной на указанное.

Изменить *переменная* на *число* — увеличивает (+) или уменьшает (-) значение числовой переменной.

Показать переменную *переменная* — отображает значение переменной в окошке на сцене.

Скрыть переменную *переменная* — скрывает значение переменной со сцены.
Пример использования переменной
Если игрок касается спрайта врага, жизни уменьшаются на 1.

Когда спрайт собирает монету (например, касается её), отправляет сообщение «Монета собрана». При получении сообщения переменная «Деньги» увеличивается на 1.

Списки
Как создать список
- Перейдите во вкладку «Переменные».
- Нажмите «Создать список».
- Введите имя (например, Игроки).
- Выберите область видимости («Для всех объектов» или «Только для этого объекта»).

После создания в левой колонке появятся блоки для работы со списками, а также список будет доступен для показа на сцене.
Блоки для работы со списками

Непосредственно блок списка, который можно использовать в других блоках.

Добавить *элемент* к *список* — добавить элемент в конец списка.

Удалить *номер* из *список* — удалить элемент по номеру.

Удалить все из *список* — очищает выбранный список.

Вставить *элемент* в *список* из *номер* — вставить элемент на заданную позицию в списке. Новый элемент добавляется, остальные сдвигаются вниз по списку.

Заменить элемент *номер* в *список* на *элемент* — заменяет значение элемента на указанной позиции на заданное.

Элемент *номер* в *список* — получить значение элемента на заданной позиции.

№ элемента *элемент* в *список* — получить номер позиции первого найденного элемента в списке. Если элемент отсутствует, вернет 0.

Длина списка *список* — возвращает количество элементов.

*Список* содержит *элемент*? — проверить наличие элемента.

Показать список *список* — отобразить список на сцене.

Скрыть список *список* — убрать список со сцены.
Пример использования списка
В игре по сбору предметов или крафту, можно организовать добавление вещей в список.

А для крафта удочки, можно сделать такой скрипт: когда веревка касается палки, оба удаляются из списка, при этом добавляется новый предмет «удочка». При этом не важно, на какой позиции будут находится в списке указанные ингредиенты.

Рекомендации по использованию списков и переменных
- Называйте переменные и списки понятно.
- Чтобы переименовать или удалить переменную, кликните по ней правой кнопкой мыши и выберите нужный пункт.
- Избегайте дублирования
- Если несколько спрайтов используют одни и те же данные, создавайте «Для всех объектов».
- Если переменная нужна только одному спрайту, выбирайте «Только для этого объекта».
- Скрывайте ненужные переменные и списки.
- Оптимальное число переменных – до 50–100 (иначе код станет запутанным).
- Оптимальное число списков – до 20–30 (если они небольшие).
- Для больших данных лучше использовать несколько списков вместо одного гигантского.
Переменные и списки — это основа хранения данных в Scratch. Они помогают создавать сложные и интересные проекты, от простых анимаций до полноценных игр. Правильное использование переменных и списков делает ваш проект лёгким, быстрым и понятным.