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

Программирование на языке Scratch выполняется в веб-браузере по адресу scratch.mit.edu. Иногда это называют Scratch IDE (Integrated Development Environment), программой для написания и запуска кода. На веб-сайте Scratch также есть собственные инструменты для создания собственных изображений, звуков и музыки — все, что вам нужно для создания анимации, игр и многого другого!

Первое, что вы увидите в Scratch, — это спрайт. Спрайтом по умолчанию в каждом новом проекте является Scratch cat. С помощью Скретч-кода вы можете заставить Скретч-кота говорить, танцевать, петь, рисовать картинки — он очень талантливый кот! Весь код в центре экрана привязан к этому спрайту.

Вы также можете добавить больше спрайтов в свою игру. В Scratch есть большая библиотека спрайтов, но вы также можете создавать или загружать свои собственные. Если вы хотите загружать спрайты, лучшим форматом является PNG с прозрачный фон.

Вы также заметите зеленый флажок и знак остановки. Знак остановки довольно прост; он останавливает выполнение любого кода. Однако зеленый флажок действует только в том случае, если вы используете событие «при нажатии на зеленый флажок». Вы найдете это событие в большинстве программ Scratch.

Для нашей самой простой программы, программы «Hello World», мы будем использовать событие зеленого флага и перетаскивать его в центр экрана. Затем нам нужно перейти в категорию Образы и найти категорию с надписью «Привет! на 2 секунды». Форма блоков в категории «Внешний вид» показывает, что их можно прикреплять к событиям.

Выбор: если/иначе и переменные

Переменные можно использовать для хранения данных. Два основных типа переменных — это числа и строки. Строки — это слова или фразы.

В этой программе есть переменная с именем answer, которая создается, когда мы используем блок ask. Значениеответа – это имя, котороевводит пользователь в ответ на вопрос "Как вас зовут?"

Мы можем использовать нашу переменную, чтобы приветствовать пользователя по имени! Наш блок say включает в себя объединение — это объединяет или склеивает фразу «Привет» со значением нашей переменной answer . Поэтому, если вы ввели имя «Джейн», будет написано Привет, Джейн».

Посмотрите на наши переменные Scratch в действии!

Блок If/Else можно использовать для выбора между двумя вариантами.

Как и в нашей программе-приветствии, у нас есть блок спрашивать, который сохраняет свой ответ в переменной с именем answer.

Значение answer используется для выбора. Если значение равно «городу», Scratch меняет фон на Цветной город.

Блок else содержит вложенный оператор if, проверяющий, является ли значение answer фермой. Если это так, Scratch изменит фон на Ферму.

Нам нужна эта дополнительная проверка, потому что Scratch позволяет пользователю вводить любое слово, и мы не хотим, чтобы все, что не является «городом», отправляло их на ферму!

Посмотрите наши операторы If/Else в действии на Scratch!

Сделай это снова: циклы в нулях

Циклы — это способ повторения кода. бесконечный цикл повторяет код вечно, подобно тому, как ученик волшебника зачаровывает метлу для переноски воды, даже после того, как цистерна полна и пещера затоплена — до тех пор, пока волшебник, наконец, рассеивает чары. К счастью, Scratch-программы легко развеять — просто нажмите кнопку остановки!

Смотрите на нашего ученика чародея на Скретче!

Пит и Повтор на лодке. Пит падает. Кто остался?

Другой тип цикла называется повторить. Циклы повтора используются для повторения действия определенное количество раз.

Наша повторяющаяся петля, которая помогает нам вспомнить тему телесериала 1966 года Бэтмен, повторяется 13 раз. Каждый раз в цикле наш спрайт говорит «Na» и ждет. После 13 раз мы наконец можем пройти цикл и сказать БЭТМЕН.

Почему мы ждем 0,1 секунды? Без этого ожидания мы бы не увидели тринадцать строк "Na", а только одну "Na" на 3,25 секунды (0,25 * 13).

Вы можете увидеть этот код в действии на Scratch.

Повторяйте до циклов: теперь это бананы!

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

В отличие от повторяющегося цикла в нашем последнем примере, мы не знаем, сколько раз повторится цикл — наша обезьяна слишком непредсказуема! Но с повторением до цикла нам не нужно.

Передциклом мы проверяем, касаемся ли мы бананов. Если да, то мы можем пропустить цикл. Если нет, мы входим в цикл и скользим в течение 1 секунды в случайное положение, затем возвращаемся наверх и снова проверяем.

После завершения цикла наша обезьяна говорит: «Банан!» в течение двух секунд, а затем возвращается в исходное положение.

Вы можете увидеть нашу обезьянку в действии на Scratch.

Выберите номер, любой номер

Вот классическое задание по программированию: игра в угадывание чисел. В этой программе используются переменные, циклы и вложенные операторы if.

В первом блоке Scratch устанавливает значение переменной моя переменнаяв случайное число от 1 до 10.

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

Если ответ равен моей переменной, мы можем пропустить цикл. Scratch запускает следующий блок, в котором говорится: «Вы поняли!»

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

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

Звучит забавно? Может быть, вы хотели бы сыграть в нашу игру в угадывание чисел на веб-сайте Scratch.

Отправка сообщения: Скретч-трансляции

Пока что в большинстве наших проектов Scratch есть код всего для одного спрайта. Это отлично подходит для создания видео и анимации, и мы даже сделали несколько базовых интерактивных игр с использованием ввода, циклов и операторов if/else. Это очень много, правда!

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

В играх, как и в жизни, нужно общаться. Спрайты в Scratch взаимодействуют с командой Broadcast.

Посмотрите на эту демку. Программа запускается знакомым образом: при нажатии на зеленый флажок дракон говорит РЕВ в течение 2 секунд. Это здорово, но не вызывает особой реакции… пока мы не добавим команду широковещания. Мы называем наш широковещательный сигнал ревом и смотрим, кто его улавливает.

Если вы нажмете на спрайт принцессы, вы увидите, что у нее есть собственный код. Ее код начинается, когда она получает трансляцию под названием рев, и она говорит «ДРАКОН!» в течение 2 секунд.

Посмотрите демонстрацию нашей трансляции в действии. Помните, что и у принцессы, и у дракона есть свои кодовые блоки!

Но подождите, это еще не все: расширения Scratch

Расширения Scratch предоставляют еще больше возможностей, и все они доступны на веб-сайте Scratch, просто нажав кнопку расширения в правом нижнем углу.

Большинству расширений не требуется дополнительное оборудование или программное обеспечение, включая расширения музыка и перо. Для преобразования текста в речь и перевода требуется подключение к Интернету, поскольку они подключаются к онлайн-сервисам, таким как Google Translate. Video Sensing можно использовать на любом устройстве с веб-камерой.

Для других расширений требуется внешнее оборудование, обычно подключаемое через Bluetooth. Для них требуется Scratch Link на Mac или ПК с Windows, включая micro:bit, датчики Vernier и >LEGOMindstorms, Boost и WeDo.

Музыка для моих ушей

Музыкальное расширение Scratch — это простой, но удивительно мощный инструмент для создания музыки. Вы можете выбирать ноты по номеру (средний C равен 60, а каждый полутон увеличивается на 1, поэтому C# равен 61, D равен 62 и т. д.) или используя клавиши пианино. Вы можете выбирать инструменты, устанавливать темп и добавлять паузы. И, конечно же, все это можно объединить с полной функциональностью Scratch, такой как события и циклы.

Пользовательские блоки

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

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

Музыкальное расширение в Scratch дает нам отличный повод использовать собственные блоки. С каждой нотой, как собственной командой, даже простая песня, такая как «Twinkle Twinkle Little Star», может быть очень длинной. >!

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

Дополнительные ресурсы для молодых программистов

Вы можете узнать больше о Scratch, воспользовавшись учебниками по Scratch или посетив форумы. Есть также много замечательных книг от DK Books, например Coding Games in Scratch.

EduBlocks позволяет вам писать код в веб-браузере, используя настоящие языки, такие как HTML и Python, используя либо блоки, либо текст.

Программирование игр

Существует множество приложений, которые превращают обучение программированию в игру. Вот некоторые из наиболее интересных:

Кодовый бой

Блочный

ЛайтБот

Прежде всего, продолжайте играть и продолжать учиться!