Scratch для Windows
![]() |
| Версия | Платформа | Язык | Размер | Формат | Загрузка | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Scratch | Windows | Русский | 58.23MB | .exe | |||||||||||
Scratch | MAC | Русский | 57.23MB | .zip | |||||||||||
Scratch | Linux | Русский | 57.62MB | .zip | Scratch (Скретч) – событийно-ориентированная среда программирования, предназначенная для обучения детей. Позволяет работать с картинками и звуком, создавать анимации и динамические сцены, записывать в виде скриптов последовательности действий. Программа знакомит школьников с основами программирования, попутно помогая развивать их творческие данные, логику и мышление. Устанавливается на компьютеры, функционирующие под управлением ОС Windows, Mac и Linux. Функционал программыScratch обучает детей программированию в игровой форме, что способствует их заинтересованности и облегчает восприятие нового материала. При создании проекта можно использовать готовые компоненты либо программировать их самостоятельно. Встроенный графический редактор помогает создавать картинки и фон, предусмотрены операции отладки и компиляции проектов в исполняемые файлы. Основные возможности приложения: Окно приложения делится на три части, содержит список закладок, сценарий и область визуализации. Перемещаясь по закладкам первого блока, можно выбирать переменные, операторы, звуковое сопровождение, тип движения и другие параметры проекта. Во втором блоке размещается созданный сценарий, а в третьем производится его визуализация, обеспечивающая наглядное представление полученного результата. Предусмотрена возможность публикации в интернете или сохранения на компьютер выполненного проекта. Особенности приложенияScratch, по сравнению с другими средами программирования, отличается упрощенным, интуитивно понятным интерфейсом. Удобное расположение всех информационных блоков избавляет от необходимости переключения между вкладками, все необходимые инструменты становятся доступными сразу после загрузки приложения. Среди преимуществ среды: Среда программирования подходит для создания анимации, мультфильмов и игр. Существует собственная социальная сеть Scratch, где дети могут общаться и делиться проектами. В версии Scratch 3, выпущенной в 2016 году, была улучшена работа со скроллингом, пополнены библиотеки готовых объектов, добавлена опция клонирования спрайтов. СкретчScratch является интересным тренажером с визуальной средой для изучения программирования. Это много платформенный продукт, т.е. его можно установить на ПК с операционными системами Windows, Linux и Mac. Приложение предназначено для детей и подростков, но пользоваться им могут и взрослые. В среде можно играть, создать презентацию, мультфильм, интерактивный учебник. Интерфейс Скретч очень простой, обучение основам работы в приложении не займет много времени. Еще совсем недавно популярностью пользовалась версия 1.4, но сейчас ей на смену пришла более удобная последняя версия Скретч 2.0. Разработчики собирались создать v2.1, но почему-то она так и не появилась. Зато в этом году обещают выпустить усовершенствованную версию 3.0 с сильно измененным интерфейсом и новыми возможностями. Установка программыПриложение устанавливается быстро, пользователю предлагается стандартный набор (место расположения папки, добавить ярлык на рабочий стол и запустить приложение по окончанию установки). Программа откроется на главной странице с английским интерфейсом. Чтобы приложение заработало на русском языке, кликнете мышкой по глобусу в правом верхнем углу экрана и выберите в появившемся списке нужный пункт. Элементы интерфейсаИнтерфейс программы состоит из нескольких частей: сцена, спрайты, палитра блоков и область скриптов. Спрайты (или костюмы) – это любые объекты: люди, животные, растения, предметы. При запуске программы в редакторе всегда появляется рыжий кот, который является символом Scratch. СценаПосле запуска программы автоматически создается белая сцена размером 480 на 360 пикселей. Для замены фона нужно нажать на квадрат «сцена», расположенный в нижнем левом углу. Поменять его можно, кликнув по одной из следующих кнопок: В центральной части ПРОГРАММЫ расположены 5 кнопок для работы со спрайтом: Для совершения любого действия нужно кликнуть мышкой по нужной кнопке, а потом по спрайту на сцене. Графический редакторРедактор работает в растровом (пиксельном) или векторном режиме. Картинки в векторной обработке состоят не из отдельных пикселей, а из различных геометрических объектов (точек, линий, прямоугольников, окружностей и т.д.). В отличие от растровых они сохраняют хорошее качество, не смотря на изменение размера. Переключаться между режимами можно в нижнем правом углу экрана. Графический редактор открывается если нажать на кнопку «фон». В нижнем правом углу можно переключить режим с растрового на векторный. Здесь есть кисть, линия, овал/круг, прямоугольник, ластик, текст, заливка краской, выделение области. Для удобства на сцену можно вывести декартову системой координат с осями Y и X, центр которой приходится на примерно на середину поля, примерно на то место, где при запуске программы находится кот. Это поможет управлять перемещением объекта, задавая координаты. Как это сделать рассмотрим немного дальше. Список спрайтовНад спрайтами расположены 4 кнопки: После нажатия на кнопку «Библиотека готовых персонажей» откроется окно со множеством объектов, среди которых есть животные, люди, предметы, транспорт и другие. Попробуем выбрать спрайта из библиотеки. Кликните мышкой по любому спрайту, пусть это будет балерина. И она сразу появилась на сцене возле кота и в списке спрайтов. Чтобы удалить со сцены один из объектов, в нашем случае рыжего кота, нужно кликнуть по нему правой кнопкой мышки, выбрать пункт «удалить» и спрайт исчезнет со сцены. Кота больше нет, на сцене осталась одна балерина. В графическом редакторе можно создавать новых персонажей. Для этого нажмите на кнопку в виде кисти «нарисовать новый спрайт». Справа появится поле редактора с колонкой инструментов для рисования. Простейшие картинки в редакторе сможет создать любой пользователь. Например, при помощи круга, квадрата и линий можно быстро нарисовать вот такого робота. Новый персонаж появится в списке спрайтов. Следующая кнопка позволяет импортировать персонажа из файла. Для этого выберите любой рисунок с компьютера и он окажется в списке. С помощью последней кнопки можно преобразовать фотографию с вебкамеры в спрайт. Палитра блоковОсновная часть Scratch 2.0 – это палитра блоков. Здесь расположены «движение», «внешность», «звук», «перо», «данные», «события», «управление», «сенсоры», «операторы», другие блоки. Если нажать на любой из них, внизу появится список команд такого же цвета. Любая программа начинается с вкладки коричневого цвета «события». С помощью блоков из нее задается момент, с которого спрайт начнет выполнять заданную программу. Обычно это команда «когда щелкнут по зеленому флажку». Потом добавляются команды из вкладки «движение», «внешность», «звук», «управление». Для того, чтобы собрать блоки в единый скрипт необходимо перетащить их с помощью мышки в правую часть рабочего пространства и соединить друг с другом как кубики лего. Написание программыДавайте попробуем написать простую программу. Чтобы было интересней выберем яркий фон, например, «underwater3» с подводной тематикой и спрайта-крабика, кота предварительно удаляем. Устанавливаем сцену и выбираем спрайта: У нас появилась сцена с подводным миром, добавим сюда краба: Теперь напишем первый скрипт, чтобы заставить краба пошевелится:
Увеличиваем количество шагов10 шагов – это очень мало, на сцене краб сдвигается примерно на 1 см. Хочется более заметных перемещений. Наиболее простой способ увеличить число шагов – это стереть число 10 в блоке и написать вместо него «100». Щелкаем по зеленому флажку и видим как краб передвигается сразу на середину сцены. Но почему-то это мало похоже на шаги, скорее на скачок. Попробуем реализовать другой сценарий. В «событиях» есть цикличный блок «повторить 10». Вместо «10» можно вписать любое другое число. И если внутрь команды поместить блок «идти на 10 шагов» и нажать на флажок, движение краба уже будет более похоже на анимацию. Попробуйте реализовать этот сценарий. Создаем замкнутый циклБыло бы хорошо, если бы наш краб двигался не останавливаясь, до нажатия кнопки «красный круг». Для этого нужно убрать из области скриптов блоки «повторить» и «идти 10 шагов». Потом перетащить вправо команду «всегда» и собрать вот такой скрипт: В идеале краб должен двигаться постоянно, но на деле он срывается за краем сцены и замирает. Нужно это исправить: останавливаем программу (нажимаем на кнопку «стоп») и возвращаем спрайта на место. Во вкладке «движение» есть блок «если на краю, оттолкнуться». Если вставить его в цикл «всегда», то краб уже не остановится, а будет двигаться бесконечно от края до края. Соберите этот скрипт и запустите его. Получилось, краб добегает до края, поворачивается и снова движется. Готовые проекты можно сохранять на компьютер. Для этого нужно нажать на «файл», выбрать «сохранить» и указать папку. Координаты и управление несколькими объектамиКак уже говорилось, для более удобного управления объектами можно пользоваться системой координат с осями X и Y. Точка (0.0) расположена прямо в центре сцены, в том месте, где при запуске программы появляется рыжий кот. В верхней части вертикальной оси Y (относительно 0) расположены положительные координаты, в нижней – отрицательные. Похожим образом дело обстоит и с горизонтальной осью X. Справа от центра находятся координаты со знаком (+), слева – со знаком (-). Чтобы легче было ориентироваться на сцену можно добавить фон с системой координат. Для этого кликните по вкладке «сцена», потом «фоны» и «выбрать новый фон». В открывшемся списке выбираем «xy-grid», он находится в самом низу страницы, и нажимаем «ОК». На сцене появится картинка с системой координат. Прежде чем двигаться дальше щелкните по спрайту «краб», расположенному в левом нижнем углу экрана под сценой. Если этого не сделать работать с блоками не получится.
Добавление новых объектовХочется, чтобы по дну моря двигалась еще какая-нибудь живность. Для начала верните на место предыдущий фон, кликнув по нему мышкой. Потом нажмите на «спрайт» и «выбрать спрайт из библиотеки». Из морских обитателей разделе «животные» есть несколько видов рыб, давайте выберем фиолетовую. Выделяем ее и нажимаем на «ОК». Если спрайты на сцене налагаются один на другой, то поменяйте их местоположение с помощью мышки. Теперь заставим нового персонажа двигаться. Можно не писать новый скрипт, а скопировать старый. Для этого щелкаем по программе правой кнопкой мышки, из выпавшего списка выбираем «дублировать» и переносим прилипший скрипт на рыбу. Давайте добавим еще один объект, например, морскую звезду. Скрипт для нее не будем копировать, а напишем новый. Для этого нужно будет в блоке «повернуться к указателю мышки» нажать на стрелку и выбрать «Crab». Потом составить для морской звезды вот такой скрипт: Запустите программу и посмотрите, что получилось. Рыба и краб двигаются по сцене, а морская звезда стоит в центре и поверчивается вслед крабу.
РисованиеВ среде Scratch 2 рисуют не только в графическом редакторе, но еще пером, мышью и клавиатурой, составляя для этого скрипты. Рисуем перомС помощью пера можно заставить спрайт двигаться, оставляя за собой след. Для составления программы нам потребуются зеленые блоки из раздела «перо» и фиолетовые «из раздела «внешность». Откройте новый проект и попробуйте нарисовать горизонтальную синюю линию с помощью вот такого скрипта: Команда «поднять перо» означает, что спрайт взял кисть и с этого момента за ним будет тянуться нарисованная линия. Соответственно после блока «опустить перо» рисунков не будет. В команде «установить цвет пера» программа обычно выбирает случайную расцветку. Поменять расцветку пера можно следующим образом: Запустите программу, нажав клавишу «1» на клавиатуре и вы увидите, как кот пересекает сцену, оставляя за собой синюю линию. Если блок «показаться» заменить командой «спрятаться», то линия будет нарисована сама по себе, без спрайта. Нарисовать равносторонний треугольник нам поможет вот такой скрипт: Повторить 3 раза – количество сторон треугольника, 50 шагов – длина стороны, 120 градусов – размер одного угла равностороннего треугольника. Рисуем мышьюДля того чтобы рисовать, передвигая курсор по сцене, составьте вот такой скрипт. Запустите программу и проведите курсором мышки по сцене. Если все сделано правильно, то за ним будет тянуться нарисованный след. Обратите внимание, в этом скрипте мы использовали новый блок из раздела «управление» со сложной конструкцией «если, иначе». После «если» команда выполнится (опустится перо) при выполнении заданного условия (мышка нажата). При его несоблюдении перо рисовать не будет. Рисуем клавиатуройКлавиатурой можно рисовать с помощью стрелок. Для каждой из клавиш необходимо составить персональные скрипты. Но если их запустить, ничего не произойдет. Для того, чтобы начать рисовать нужно написать программку для пера: И еще можно сделать скрипт для очищения сцены, на случай, если не понравится рисунок. Для его запуска будем использовать клавишу «пробел». Разместите все эти программки в области скриптов одну под другой, щелкните по флажку и попробуйте рисовать стрелками на клавиатуре. Пишем простую игруДавайте попробуем написать простую игру «Котенок на минном поле». Задача персонажа пересечь минное поле и благополучно добраться до финиша. Если побъект наступает на мину, он взрывается и игра начинается сначала. Рисуем спрайтыВначале нужно сделать мины: Обычный у нас уже есть, осталось нарисовать «взрыв»: Два костюма для мины готовы. Осталось создать спрайт «финиш»:
Пишем скриптыСоставьте для кота вот такие скрипты: Для управления котом используются стрелки. При соприкосновении с миной, которая записана как спрайт 3 в скрипте, кот исчезает. В начале игры мина примеряет костюм «просто мина», а после соприкосновением с котом (спрайтом 2) она переодевается в «взрыв» ждет 1 секунду и исчезает. Теперь пишем скрипт для финиша: Чтобы посмотреть, как работает новый блок таймер, пройдите котом с помощью стрелок к финишу и коснитесь таймера, на котором же появятся бегущие секунды. Еще один нюанс – по правилам этой игры нужно коснуться финиша и тут же отойти назад, только после этого секундомер остановиться. Цифры, которые появятся в этот момент – это и будет ваш результат. С одной миной играть не интересно, давайте добавим еще парочку. Это можно сделать с помощью функции «дублирование». Для этого кликните по мине правой кнопкой мыши и выберите дублировать. Повторите операцию еще раз. Теперь у нас есть спрайт 4 и спрайт 5. Разместите все мины на сцене таким образом, чтобы коту было тяжело пройти к финишу. Дублировалась вот эта часть: Приклейте ее под блоком «Если». Должно получиться вот так: Замените во втором блоке «если» «спрайт 3» на «спрайт 4». Повторите операцию еще раз, но теперь в последнем блоке «если» укажите «спрайт 5». Все, игра готова. Щелкните по зеленому флажку и доведите кота до финиша. Плюсы и минусы программыСреда программирования Scratch имеет массу положительных качеств: Похожие среды программированияПолноценных замен Scratch не существует. Но есть несколько похожих приложений, с помощью которых можно изучить программирование. Скачать приложениеScratch offline editor – интересная и удобная среда программирования со множеством возможностей. Для более удобной работы в приложении после загрузки на компьютер рекомендуется выбрать русский язык.
Официальную версию программы можно скачать бесплатно с нашего сайта по прямой ссылке: Scratch для «продвинутых»Клонирование и переменные в ScratchМоему ученику нравилась игра — «Зомби против растений». И ему было интересно самому запрограммировать её. Давайте вспомним как данная игра работает? С правой стороны у нас есть шеренга растений, которая расстреливает приближающихся зомби. Есть множество решений данной задачи, но на мой взгляд более элегантное решение — задействовать минимально возможное количество спрайтов, т.е. использовать клонирование. Как сделать так, чтобы у каждого отдельного клона был собственный уровень жизни? Что выбрать переменные или списки? Сделали попытку использовать списки, но после более детальной проработки поняли, что данная структура данных не помогает решить проблему. У переменных и списков, в Scratch есть 2 типа видимости для каждого типа данных — это «для всех спрайтов» или «только для этого спрайта». Пришлось проверять область видимости. Начали мы с переменных. Дойдя до рабочего варианта переменной с областью видимостью «только для этого спрайта». В классических языках программирования такой тип видимости называют — локальным или приватным в зависимости от контекста. Оказывается, что если эта переменная с данной областью видимости используется в клоне, то в клоне создается экземпляр переменной, принадлежащий конкретному клону и который используется для внутренних вычислений/работы клона. В нашем случае, у каждого клона есть своя «жизнь». Если стало интересно, то советую обратиться к справочнику. А вот картинка, которая показывает, как спрайты или клоны работают с переменными разных типов видимости.
ВАЖНО: Переменная — это очень мощный инструмент настоящего программиста, поэтому я сразу учу детей правильному именованию переменных, так как этот навык поможет им в проектах разной сложности. Имена объектов как их идентификаторыВАЖНО: все переменные с зоной видимостью «только для этого спрайта». Данный инструмент для меня стал совсем неожиданным. Давайте начнем с истории о том, как мы с учеником наткнулись на данную особенность языка. Мой ученик решил, создать игру с «искусственным интеллектом». Игра представляет звездные войны на космических кораблях и у игрока есть возможность управлять одним кораблем, в то время как противники гоняются за вами и за друг другом. Чтобы они могли преследовать вас или друг друга, им нужно как-то принимать решение о том, кого преследовать. Данную задачу можно решить в лоб и задать очередность преследования кораблей, но игра потеряет свою интеллектуальность и быстро наскучит. Поэтому ученик решил настроить интеллект таким образом, чтобы корабли с интеллектом преследовали ближайшего противника. Давайте посмотрим, как он начал решать данную задачу. На мой взгляд хорошее решение для создания быстрого прототипа. Но какие ограничения здесь есть? Первое, усложнение кода по мере добавления новых кораблей. Следовательно, сложность кода повышается и не исключены мутации кода из-за усложнения. Время поиска ошибки и отладки алгоритма будет расти. И конечно, никто не отменял такую прикольную метрику, как старение кода (advance level SW Development). Что же делать? А делать необходимо следующее, нужно сделать обобщеный алгоритм, который будет динамично приспосабливаться к увеличению или уменьшению количества кораблей. Для данного алгоритма нам и понадобиться свойство языка — имя как идентификатор объекта. Пришло время больших изменений и здесь вы, как учитель, можете рассказать про такое явление как рефакторинг. Это последовательное изменение кода, улучшение его структуры и его оптимизация. А главное, чтобы каждое изменение не ломало работу программы, и объем изменений тоже должен очень аккуратно подобран. Слишком много изменений — плохо, слишком мало — долго. Сформированный навык рефакторинга даст преимущество и эффективность работы программиста. Но для формирования навыка нужно работать головой, а не просто тыкаться. У меня получилось сделать 4 изменения в первоначальной программе и результат не изменился. Заметьте, что я еще не удалил блоки, а оставил их. Зачем? Потому, что если что-то пойдет не так, мы можем вернуть предыдущий вариант, начав все заново. Но как только я проверю правильность выполнения обновленного скрипта, я сразу же их удалю, чтобы не отвлекаться на них в последующем. Заметили? Сейчас в блоке «повернуться к …» стоит переменная и эта штука работает. Т.е. мы минимальными усилиями проверили, что данный подход работает. Это просто круто. Теперь мы можем начать писать алгоритмы, которые позволят определять объект преследования ближайшего корабля. Что нам пригодится? Это из структур данных — это переменные и списки. Из алгоритмов — это нахождение минимального числа (расстояния) в списке. Еще нам необходим алгоритм, который определит имя объекта для преследования по минимальному расстоянию. Сейчас будет написано много кода. Но для того, чтобы потом не захлебнуться и не запутаться в куче скриптов, нам необходимо использовать еще одну классную функцию, а именно создание собственных блоков. Эта функция очень мощная, но ее редко используют школьники, да и некоторые программисты, а ведь она позволяет создать понятный с первого прочтения алгоритм программы. Кстати, можете почитать про приемы создания понятного кода в книге Мартина Фаулера «Рефакторинг. Улучшение существующего кода» Как и перед любым масштабным строительством нам необходимо все спланировать. Давайте спланируем в каком порядке будем разрабатывать блоки: Для того, чтобы создать обобщенный алгоритм нам чем-то нужно пожертвовать, например, оригинальными именами спрайтов, придется их стандартизировать и получим следующий расклад. И теперь мы готовы описать 1 часть программы. Все пишем для 1-ого корабля. Запускаем отдельно данный скрипт и смотрим результат. Поехали! Если мы добавим новый корабль, нам нужно изменить в данном алгоритме лишь одну циферку. Клево? Клево! Погнали дальше. А давайте научим его 2 алгоритму. Смотрим, что получилось. Это сразу конечный результат со вспомогательными функциями. Ура! Работает. Проверить это можно следующим образом, должен быть обязательно 0 одним из значений в списке расстояний. Если у вас это не так, ищите ошибку. Едем дальше! Поиск минимального расстояния. Заметили, что расстояние всегда положительно. И всегда будет минимальное число — 0. Ай-я-яй! Вывод — искать минимум, но не ноль. Можете попробовать свои силы и оптимизировать код самостоятельно, чтобы не делать расчет расстояния от корабля 1 до корабля 1 (это не опечатка). Обучаем спрайт новой функции и получаем. Не забываем проверять! Для этого можно даже остановить игру и запустить отдельный скрипт. Мы написали все, что необходимо, теперь главное правильно использовать данные функции. Если у вас все работает правильно, то вы должны увидеть следующее: Заметили, что корабль с «искусственным интеллектом» разрывается между разными противниками. Вы можете усовершенствовать программу и усложнить принятие решения. Например, если у преследуемого корабля осталось мало жизни, то он добивает его, а если он нашел, ближе и с еще меньшим здоровьем, то добить сначала слабейшего. Кстати, в данной программе можно уменьшить количество действий и усовершенствовать алгоритмы. Попробуйте свои силы. Взять данную программу можно здесь. Подводим итогиВот на таких кейсах я узнал, как Scratch дает возможность ученикам быстрее освоить множество реальных техник программирования. На нем можно рассказывать про работу критических секций, про обобщенные алгоритмы, про переменные и их области видимости, про создание собственных блоков и структурирование кода. А также на данном языке можно рассказывать про профессиональные навыки, например, рефакторинг. Это лишь малая часть инструментария программиста, но она являет очень важной. А в Scratch это объяснить становится чуточку легче. Не пропустите наши новые статьи: Подписаться авторизуйтесь 0 комментариев Старые |


Scratch
