Материал из Скретч Вики
Этот раздел или статья не предназначена для новичка! Она содержит сложную информацию. |
Начиная со Скретч 2.0, пользователи могут создавать облачные переменные. Проблема облачных переменных в том, что они могут хранить только лишь числа. Ко всему прочему они могут хранить ограниченное количество знаков, из-за чего пользователи просят, чтобы ввели возможность сохранять текстовые данные.[1]
Однако, существует обходной путь, чтобы создавать такие переменные, и множество пользователей создают такие пути сами. Это руководство описывает создание облачного списка.
Кодирование информации
Чтобы сохранять строки в нашем «списке», мы должны эти строки закодировать так, чтобы на выходе получилось число. Для начала создадим новый блок.
определить зашифровать (строка)
В этот блок нужно поместить код, который бы шифровал строку в числа. Также нам понадобится и облачная переменная.
задать [шифрование v] значение (1) задать [выход v] значение ()
А теперь соединим всё, чтобы получилась нужная конструкция. Нам нужно, чтобы шифровалась каждая буква, поэтому нужно поставить блок повторения, который пройдётся по каждой букве нужной строки и зашифрует её.
определить зашифровать (строка) задать [шифрование v] значение (1) повторить (длина (строка) :: operators) раз // проходит через всю строку изменить [шифрование v] на (1) end
Этот блок — лишь половина дела. Нам же нужно кое-что получше. Создадим два списка, в которых будут нужные буквы и соответствующие им числа, допустим, тут будет весь алфавит и немного пунктуации (следует использовать не более 99 символов). Далее создадим цикл внутри цикла. Он будет искать двухзначное число и выписывать его в конечный список.
задать [поискБуквы v] значение (1) повторить (длина списка [буквы v]) раз если <(элемент (поискБуквы) в [буквы v]) = (элемент (шифрование) в (строка))>, то если <(длина (поискБуквы) :: operators) = (1)>, то задать [выход v] значение (объединить (выход) (объединить (0) (поискБуквы)) иначе задать [выход v] значение (объединить (выход) (поискБуквы)) end изменить [поискБуквы v] на (1) end end
Примечания
Интересный факт: облачные списки на самом деле существовали во времена Scratch 2.0, но они были удалены через короткое время в связи с тем, что их использовали для не самых хороших вещей. |