Как сделать звезду в скретче

Обновлено: 05.07.2024

Нас спрашивают, можно ли сохранять очки на сайте Scratch. Отвечаем: да, это возможно с использование облачных переменных.

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

Изучаем документацию

Чтобы помочь ещё лучше разобраться в данной теме, мы перевели на русский язык часть документации Scratch, где даны ответы на вопросы о том, что такое облачные переменные, как их создавать и пр. Сделали также несколько иллюстраций и дополнительных уточнений для лучшего понимания.

Что такое облачные переменные?

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

Кто может видеть данные, сохранённые в облачных переменных?

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

Какого типа данные могут храниться в облачных переменных?

В облачных переменных могут храниться только числа.

Если я вижу, что кто-то публикует нежелательный контент с использованием облачных переменных, как мне сообщить об этом?
Можно ли создавать чаты с облачными переменными?

На сайте Scratch чаты с облачными переменными не разрешены, хотя технически это возможно.

Как создать облачную переменную?

Как создать облачную переменную?

Как создать облачную переменную?

Кто может изменить информацию в облачной переменной?

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

Я вошел в систему, но не могу использовать проекты с облачными переменными. Что происходит?
Возможно ли создавать многопользовательские игры с помощью облачных переменных?

Создать многопользовательскую игру может оказаться сложно из-за проблем со скоростью сети и синхронизацией. Тем не менее, некоторые Скретчеры придумывают креативные способы использования облачных переменных для пошаговых стратегий и других типов игр.

Как узнать, используются ли облачные переменные в проекте?

Облачные Данные

Облачные Данные

История облачных данных

История облачных данных

There seems to be no Cloud Data activity on this project…

There seems to be no Cloud Data activity on this project…

Примеры проектов с использованием облачных переменных

Таблица рекордов

    — Сколько лет Scratcher-ам с вычислением среднего возраста пользователей, выполнивших проект, и подсчётом их количества. — GOOGLE Dino. — 3д платформер с таблицей рекордов. Здесь используется шифрование (кодирование) символьных данных (имён пользователей) для их сохранения. Таблица рекордов выглядит следующим образом: Таблица рекордов в виде списка Scratch

Дополнительные источники

Ещё об использовании облачных переменных в Scratch можно почитать на страницах русскоязычной Скретч ВИКИ:

Если ваш ребенок любит компьютерные игры, познакомьте его со Scratch! Это визуальный язык программирования, на котором можно создавать любые игры: нужно просто добавить свои картинки и составить для них программу. Создавать игры на Scratch можно уже с 8 лет: в этой среде программа строится из блоков, напоминающих Lego.

Мы уже делились пошаговыми уроками по освоению Scratch для самых начинающих. Теперь мы окунемся в творчество и сделаем оригинальные проекты: воплотим популярную игру Among Us, создадим игру по мотивам "Звездных войн" и Minecraft и многое другое.

1. Охота за привидениями

Приступим к первой игре! В этом проекте игроку предстоит стрелять по привидениям и набирать баллы. Мы создадим фон, выберем спрайты и напишем для них программу.

2. Гонки на двоих

Гонки — классика игр! Мы создадим трассу, на которой будут соревноваться две машины. Кто окажется первым на финише? Давайте создадим программу и узнаем!

3. "Звездные войны"

С этой игрой дети проникнутся атмосферой "Звездных войн"! Мы запрограммируем космический корабль так, чтобы он стрелял во вражеские корабли. За каждого подбитого врага нам будут начисляться очки, за каждое поражение — отниматься жизни.

4. Головоломка Minecraft

Скретч интересен тем, что здесь можно воссоздавать свои любимые игры. Например, сделать мини-вселенную Minecraft. В этой игре нужно за наименьшее количество шагов добраться до сундука. Если игрок совершает ошибку, то снимаются жизни.

5. Among Us. Часть 1

Наверняка вы слышали от своих детей про игру Among Us (Амонг Ас), ведь за последний год она захватила всех! В ней члены экипажа должны вычислить самозванца среди своих и выполнить задания. Что может быть увлекательнее для ребенка, чем создать свою любимую игру? В 1-й части мы сделаем карту, запрограммируем героя и добавим ему задание с проводами.

6. Among Us. Часть 2

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

7. Раннер

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

8. Paint3D

С этим проектом мы протестируем возможности Скретч: соберем программу, которая будет создавать трехмерные фигуры. Будьте внимательны: мы зададим несколько переменных и добавим много условий. Будет интересно!

9. Мультиплеерная игра

Как сделать так, чтобы при перемещении игрока в одном браузере он двигался и в другом? Мы поможем ответить на этот вопрос, создав сетевую игру. А еще расскажем вам про облачные переменные и как их задавать в Скретч.

10. Игра Brawl Stars (Бравл Старс)

Как насчет того, чтобы создать популярную игру "Бравл Старс"? Да, даже такую непростую игру можно сделать на Скретч всего за 45 минут.

11. Как сделать игровое меню на Скретч

На Скретч игру или проект можно запускать разными способами. Самый распространенный — просто при нажатии на зеленый флажок. Но возможности Скретч настолько велики, что можно сделать полноценное игровое меню (лобби). Тогда в начале игры вы сможете выбирать, за какого персонажа играть.

12. Как сделать игру в Скретч за 15 минут

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

Как сделать Flappy Bird на Scratch

Любите забавную игру-платформер с птичкой? Мы покажем, как создать ее на Scratch! Наша птичка должна летать между препятствиями, не задевая их. За каждую пройденную преграду нам будут начисляться очки. Давайте полетаем?

Плейлисты с видеоуроками продолжают пополняться, подписывайтесь на наш YouTube-канал , чтобы следить за выходом новых видео и открывать для себя мир IT-технологий!

Если же вам нужен наставник, загляните в Школу программирования для детей “Пиксель”: запишитесь на полный курс по программированию в Scratch .

Язык Скретч — это то, что рекомендуют использовать для знакомства детей от 7 лет с программированием.

При этом родители занимают две противоположных позиции.

Первые говорят следующее:

  • Скретч — не настоящий язык; в реальной жизни на нем не программируют, а потому лучше начинать изучение с настоящих языков — Питона, С++.
  • программа Скретч бесплатная, ее можно самим скачать в интернете; для чего тогда ребенку посещать занятия, если он и сам может в ней что-то делать.
  • мой ребенок уже и так что-то делает в Скретче, он его уже со всех сторон изучил, и ему скучно продолжать;
  • мой ребенок сам смотрит обучающие видеоролики в интернете, ему не нужно ходить на групповые занятия;
  • у нас в школе есть занятия по Скретч и они бесплатные.

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

Что предлагают кружки

На самом деле, с дополнительным образованием всё не так просто, как со школьным. Для школьных предметов есть стандарты и ЕГЭ с четкими критериями оценки. Потому изучение одного и того же школьного предмета в разных школах и у репетиторов может отличаться только глубиной и серьезностью подготовки.

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

Чем полезны учебные языки программирования

Например, в Инженерике мы не ставим задачей научить ребенка работать в программе Скретч. Это не самоцель. Скретч — действительно учебный язык и учебная среда для создания программ и игр, в настоящей разработке она не используется, но это не значит, что от нее сразу нужно отказываться. Вы же не станете сразу готовить блюдо по технологически сложному рецепту, не освоив базовые принципы готовки. А взяв профессиональное оборудование для приготовления вы не сможете использовать его на максимум. То же и с языками программирования. Общие принципы составления алгоритмов можно изучать и без компьютера, этому посвящены хорошие книги и упражнения (например, книги Дональда Кнута). Во взрослом возрасте синтаксис языка программирования (слова, на которых пишется код), изучаются за трое суток упорного погружения. В возрасте подростка изучить синтаксис языка можно за несколько лет. Для чего переусложнять этот опыт в самом начале? Тем более, если юный человек еще даже не определился, точно ли он хочет стать программистом.

На случай проверки своих интересов и легкого познания алгоритмических концепций и придуманы учебные языки и среды. Они созданы так, чтобы знакомство с программированием проходило гладко и интересно. Если ребенок сможет освоить учебный язык и создавать на нем что-то полезное, если сохранит мотивацию к этому направлению деятельности, если упрётся в потолок учебного языка и захочет пойти дальше и выше — вот тогда стоит переходить на серьезные языки.

Примеры сложных проектов в среде Скретч

Внешний вид проекта в среде Скретч

Посмотрите видео проектов, которые сделали ученики Инженерики (это индивидуальные и групповые проекты). Длительность создания такого проекта может достигать двух или трех месяцев. Это очень сложная работа при взаимодействии группы ребят, экспертов-консультантов и наставников. Не каждый взрослый смог бы довести подобный проект до конца, даже при том, что на отдельных упражнениях в алгоритмике показал бы себя наилучшим образом. Участие в подобных проектах не только позволяет применить знания к практике, но и развивает личностные качестве ребенка, те самые 4К-компетенции, о которых так много сейчас говорят — коммуникативность, умение работать в команде, креативность, критическое мышление.

Скретч как среда для развития мышления

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

Задача разработчиков не в том, чтобы писать код, как думают многие ребята, кто приходит на занятия. И не в том, чтобы создавать еще одну версию уже существующей игры (только собственную!). И не в том, чтобы делать копию программы, которая уже есть и всем известна. Любая программа появилась в компьютере не просто так. Ее создали разработчики, чтобы решать какую-то проблему человека, помогать ему в чём-то. Программу калькулятор и Excel создали, чтобы было легче считать, Word — чтобы делать красивые документы и сохранять шаблоны на будущее; Paint и Photoshop — чтобы создавать цифровые иллюстрации и легко изменять их; игры Майнкрафт и PUBG — чтобы отдохнуть, весело провести время с друзьями; движок Unity — чтобы самим создавать 3D-игры; а браузеры и социальные сети — чтобы получать нужную информацию и общаться с единомышленниками, не выходя из дома.

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

Пример проекта Скретч — интерфейс прототипа ОС

Это командная работа над прототипом операционной системы в Скретч. Ребята сделали возможность смены фонов, редактор заметок, графический редактор, музыкальный плеер и встроенную в ОС игру Арканоид.

Очное обучение в группе сейчас полезнее индивидуального

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

Важны и формы работы с материалом на занятиях. Очень часто бывает (в особенности, этим грешат онлайн-уроки от неопытных преподавателей на YouTube), что в видео просто рассказывают, как что-то сделать и демонстрируют с предложением повторить. Не объясняют, почему нужно делать именно так, с чего нужно начинать, не отрабатывают умения. Такой подход работает только на вовлечение ребенка в деятельность, позволяет приятно провести время, но не формирует умение самостоятельно создавать подобные проекты.

Командная работа по обсуждению будущей игры

Ребята обсуждают идею компьютерной игры в микрогруппе и делают наброски на листах бумаги. Позже они реализуют ее в Скретч

Увидеть склонности ребенка можно только по его проектам

В Инженерике мы работаем с несколькими видами задач:

учебные упражнения — на них мы познаем принципы программирования, отрабатываем навыки, экспериментируем;

задания с четко обозначенным конечным результатом — через них мы учимся распознавать паттерны, следовать требованию, искать разные пути решения и находить оптимальные;

задания с четкими техническими требованиями и свободным конечным результатом — на них учимся соблюдать техническое задание, но при этом вкладывать частичку своего видения, креативить, выражать свои интересы;

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

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


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

Система дополнительного образования для 10-12 летних ребят и должна делать именно это — проявлять склонности, развивать качества характера и мышление, давать пробовать себя в деятельности, показывать возможности применения этих навыков в мире и будущей профессии. Совсем не обязательно, что после двух лет изучения программирования ребенок точно решит стать программистом. Но то алгоритмическое и вычислительное мышление, которое разовьется у ребенка под руководством наставника, используется во множестве самых разных областей и профессий.

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

Резюмируем

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

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

В разных кружках могут быть разные подходы к выбору преподавателей. Не обязательно, что специалист-практик в программировании хорошо умеет работать с группой детей, закладывать самостоятельные навыки, проводить рефлексию, учитывать индивидуальные особенности каждого ребенка. Как не обязательно и то, что человек с педагогическим образованием грамотно донесет технические концепции до ребенка, расширит кругозор, покажет перспективы развития в мире реальной разработки. Лучше, если в создании учебной программы принимали участие несколько разных специалистов, в том числе методисты, эксперты-практики, педагоги.

Процедуры

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

Задача 1 . Лестница ( 3 кука ). Кот стоит на вершине лестницы. Помогите исполнителю спуститься вниз.

Помогите коту преодолеть лестницу из 4-х ступеней
Фон для сцены с рисунком лесенки расположен по адресу: practical/fonlib/Разное/Лесенка.jpg

  1. Подготовка (установить кота на первую ступень).
  2. Повторить 4 раза спуск на одну Ступень .

— Я бы составил программу для этой задачи так, — заявил Кукарача , и показал своим студентам весьма странный скрипт:

  1. Подготовка (установить кота на первую ступень)
  2. Повторить 4 раза спуск на ступеньку (команда Ступень )

— Программа почти буквально повторяет алгоритм, выглядит короткой и понятной!

Кроме одного момента: разве команды и входят в СКИ?

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

Как создать новую команду

  1. В группе Другие блоки нажимаем кнопку Создать блок
  2. Записываем имя новой команды
  3. Собираем скрипт для новой команды под шапочкой Определить

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

Что будет делать новая команда? Ничего! Ничего, до тех пор, пока мы не объяcним, как она должна работать:

Скрипт с именем программисты называют .

Имя процедуры (имя скрипта) можно использовать, как команду. Эту команду называют .

— это скрипт с шапочкой-именем .

— это команда, название которой совпадает с именем процедуры. Эта команда запускает процедуру.

Что мы узнали о процедурах:

  • Скрипт-процедура содержит программу работы новой команды.
  • Эту команду придумывает программист для удобства решения своей задачи.
  • Чтобы Скретч знал, что надо делать, выполняя новую команду, программист составляет для неё скрипт-процедуру.
  • Эта команда существует только в рамках проекта, в котором создаётся.
  • Эта команда будет запускать скрипт-процедуру, который задаёт программу её работы.

Имя процедуры

Процедура позволяет расширять систему команд исполнителя новыми командами.

Вот почему так важно выбрать для процедуры правильное имя!

Имя процедуры нужно выбирать так, чтобы было понятно, что делает новая команда.

Подготовка — хорошее имя для процедуры, которая готовит исполнителя к спуску по лестнице.

Весёлый кот — плохое имя, ведь оно ничего не говорит о том, что предстоит сделать исполнителю (подготовиться к спуску по лестнице).

Процедурное программирование сверху вниз

Вы ещё не забыли задачу, которую мы решаем?

Мы записали алгоритм решения:

  1. Подготовка (установить кота на первую ступень).
  2. Повторить 4 раза спуск на одну Ступень .

И собрали по этому алгоритму такую программу:

Можно ли запустить эту программу, ведь скрипт для процедуры Ступень ещё не составлен?

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

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

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

Продолжаем разработку программы. Что должна сделать команда ? Она должна переместить кота сначала по горизонтали , затем по вертикали .

  1. Горизонталь . Передвинуть исполнителя по горизонтали на 90 шагов.
  2. Вертикаль . Опустить исполнителя по вертикали на 60 шагов.

Описываем процедуру Ступень при помощи двух новых команд:

Сначала составляем процедуру Горизонталь и запускаем её для проверки, щёлкнув на ней мышкой:

Вопрос . Зачем в процедуре Горизонталь нужна первая команда Повернуть в направлении 90° ? Ведь в этом направлении кот устанавливается в процедуре Подготовка ?

Ответ . Процедура Горизонталь работает в цикле 4 раза. На первой ступени, действительно, указание Повернуть в направлении 90° будет лишним, но оно, безусловно, потребуется на всех оставшихся ступенях потому, что … движение по горизонтали кот начинает после движения по вертикали (в направлении 180°).

Составляем процедуру Вертикаль и запускаем её для проверки, щёлкнув на ней мышкой:

Теперь можно проверить работу программы целиком, щёлкнув на зелёном флажке.

Видео проекта можно посмотреть по адресу: video/01/unit03/Ladder.mp4

Видео проекта: video/01/unit03/Ladder.mp4
Обратите внимание: программа не должна предполагать, что перед началом её работы исполнитель расположен в нужном месте и повёрнут в нужном направлении

Разработка процедур-заглушек повторяется таким же образом — описываются главные действия с использованием новых процедур-заглушек ( Горизонталь , Вертикаль ).

  1. Делаем главный скрипт с процедурами-заглушками Подготовка и Ступень .
  2. Программируем заглушки Подготовка и Ступень . В последнем скрипте используем новые заглушки Горизонталь и Вертикаль .
  3. Программируем заглушки Горизонталь и Вертикаль .

Обратите внимание: разработка программы сверху вниз графически изображается в виде дерева. Сначала создаём корень Лесенка , потом потомки корня — Подготовка и Ступень и, наконец, потомки вершины Ступень — Горизонталь , Вертикаль

Процедурное программирование сверху вниз — это постепенное погружение в детали.

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

Чем привлекателен этот метод?

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

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

Координаты

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

— это величины, определяющие положение объекта.

Координаты на прямой

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

Но Лисёнок — слева от домика, а Кот — справа, значит координаты Кота — ( x:4 ), а координаты Лисёнка — ( x:−4 )

Вопрос . Для какой именно точки спрайта указываются координаты?

Ответ . Для центра спрайта. Вернее, для проекции центра спрайта на ось.

Проекция центра на ось — это точка на оси, которую оставляет прямая, опущенная из центра на ось под углом 90°.

Вопрос . Координаты измеряются в шагах исполнителя. А чему равен один шаг?

Ответ . Среда исполнителя расположена на экране компьютера, поэтому исполнитель шагает по экранным точкам — пикселям . Значит, один шаг — это один пиксель.

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

Но Лисёнок — снизу от домика, а Кот — сверху, значит координаты Кота — ( y:4 ), а координаты Лисёнка — ( y:−4 )

Координаты на плоскости

Нам прекрасно известно, что исполнитель может находиться в любой точке своей плоской сцены! Как же определить его координаты?

Хорошая идея указывать в качестве координат не одно число, а два! Первое — расстояние от центра сцены по оси X , второе — по оси Y :

Координаты Лягушки : ( x:2,y:3 ). Координаты Вороны : ( x:−5,y:−2 )

Сцена Скретч

Размеры сцены Скретч — 480 пикселей по горизонтали и 360 пикселей по вертикали. Начало координат совпадает с центром сцены:

Будем записывать координаты в виде списка из двух чисел без указания осей, то есть так, как это принято в математике: ( 240,−100 ).

Первое число — координата по оси X .
Второе число — координата по оси Y .

Команды для работы с координатами

Влиять на положении спрайта на сцене можно двумя способами:

  1. Установить спрайт в заданные координаты ( x,y ).
  2. Изменить текущие координаты спрайта на заданные значения (только x , только y или обе координаты сразу).

В первом случае спрайт устанавливается в заданные координаты независимо от его текущего места. Во втором — текущие координаты меняются на заданные значения.

Разницу в этих подходах иллюстрирует следующий рисунок:

Пусть текущая координата равна 3
Установить в 1 означает поместить в 1
Изменить на 1 означает увеличить текущую координату на 1

Команды для работы с координатами спрайта находятся в группе Движение .

Установить в …
Команда Координаты до после

Устанавливает спрайт в заданные координаты
Не важно Стало: ( 100,50 )

Плавно перемещает спрайт с текущего места в заданные координаты
Не важно Стало: ( 100,50 )

Координата y не меняется.
Координата x устанавливается в заданное значение
Было: ( ?,50 )
Стало: ( 100,50 )

Координата x не меняется.
Координата y устанавливается в заданное значение
Было: ( 100,? )
Стало: ( 100,50 )
Изменить на …
Команда Координаты до после

Координата y не меняется.
Координата x меняется на заданное значение
Было: ( 50,50 )
y не меняется
Стало: ( 100,50 )
x меняется на 50

Координата x не меняется.
Координата y меняется на заданное значение
Было: ( 100,0 )
x не меняется
Стало: ( 100,50 )
y меняется на 50

Спрайт перемещается в текущем направлении на заданное число шагов
Было: ( 0,0 )
Стало: ( 8.66,5 )

Посмотрите, среди набора команд Скретч есть группа Перо .

Что за команды собраны в эту группу?

Опустить, поднять перо. Установить цвет пера, его толщину, размер… Это команды рисования!

Перо есть в запасе у каждого исполнителя-спрайта. Оно расположено точно в его центре. И если дать команду Опустить перо , спрайт при своём движении, будет оставлять след на сцене. Всё очень просто!

Задача 2 . Квадрат ( 2 кука ). Составить процедуру рисования квадрата со стороной 100 .

ТЗ . Первая сторона квадрата рисуется по текущему направлению исполнителя. Вторая — после поворота на 90° против часовой стрелки. По завершению рисования исполнитель должен занять исходное положение и направление

  1. Опустить перо.
  2. Повторить 4 раза:
    1. Идти 100 шагов.
    2. Повернуться на 90° против часовой стрелки.
    1. Установите Кота на сцене мышкой.
    2. Произвольно поверните исполнителя в паспорте при помощи рычажка .
    3. Щёлкните мышкой на составленной процедуре.

    В процедуре Квадрат не заданы, ни цвет, ни толщина пера, как же она работает? Дело в том, что цвет и толщина пера уже установлены в среде Скретч по умолчанию , как и все другие свойства среды и исполнителей.

    Процедура Квадрат выполняет прохождение квадрата с опущенным пером, и это делает её универсальной . С помощью неё можно рисовать квадраты разного цвета, разными по толщине линиями, не меняя ничего внутри самой процедуры.

    Программисты часто называют свои программы кодом .

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

    Задача 3 . Квадратный узор ( 3 кука ). Можно получать интересные картинки, если поворачивать квадрат вокруг одной из своих вершин. Соберите программу, которая рисует такие узоры.

    Главный алгоритм зелёного флажка ( ) составим из трёх действий:

    1. Подготовка . Исполнителя — в центр. Очистить сцену. Задать свойства пера.
    2. Рисование . Рисовать узор.
    3. Завершение . Отойти с узора в сторону.

    Процедуры Подготовка и Завершение совсем простые:

    Составим алгоритм процедуры Рисование :

    1. Повторить 36 раз:
      1. Рисовать квадрат.
      2. Повернуться на 10° против часовой стрелки.

      По этому алгоритму легко собрать скрипт:

      1. Если вращать вокруг центра прямую, она опишет полный круг, повернувшись на 360° . На такой угол можно повернуть и квадрат, поворачивая его 36 раз по 10° .
      2. Для установки нужного цвета щёлкните на цветном квадратике в блоке команды , а затем на подходящем цвете в окне приложения, например, на красной кнопке останова: .
      3. В этом скрипте использована, написанная ранее, процедура Квадрат .
      4. Для проверки щёлкнем мышкой на зелёном флажке .

      Почему при вращении квадрата получается окружность?

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

      На рисунке справа показано, что все точки окружности, в том числе точки A и B , удалены на одно и то же расстояние r от центра окружности O . Отрезок, соединяющий точку на окружности с центром, называют радиусом окружности .

      Когда квадрат вращается вокруг своей вершины O , эта вершина становится центром окружности, а две другие соседние вершины движутся по окружности с радиусом, равным стороне квадрата r .

      На самом деле получается не одна окружность, а две. Первую пробегают точки A и B (соседние с O ), вторую — точка С (на диагонали OC )

      Для построения окружности существует специальный инстумент — циркуль . Но окружность можно построить и подручными средствами.

      Программирование снизу. Библиотеки процедур

      Ранее Кукарача настоятельно рекомендовал:

      Конечно, Кукарача прав! Это правильная рекомендация!

      Из этого всеобщего правила есть одно кажущееся отступление — библиотеки процедур .

      — это набор универсальных процедур по какой-нибудь теме (например, рисование геометрических фигур).

      Зачем каждый раз программировать рисование фигур, если можно сделать это один раз, а потом использовать, когда потребуется!

      Заметим, правда, что построенную процедуру Квадрат можно назвать библиотечной с некоторой натяжкой. Для универсальности такой процедуре не хватает данных на входе , в качестве которых можно было бы задавать:

      • Длину стороны (сейчас всегда 100 ).
      • Направление рисования (сейчас квадрат рисуется всегда против часовой стрелки).

      В дальнейшем Кукарача научит создавать такие универсальные процедуры.

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

      Числовые значения цветов Пера

      Можно указывать и другие числовые значения, но палитра начинает повторяться. Например, цвета в диапазоне 200–400 полностью повторяют цвета в диапазоне 0–200

      Однажды на фирму поступил такой заказ.

      Задача 4. Клумба ( 3 кука )

      Написать программу построения клумбы из 5-ти ромашек:

      Программист Лисёнок взялся за дело: проставил на эскизе клумбы размеры, обозначил порядок, в котором робот будет сажать ромашки, и начал составлять код программы:

      — Стоп, стоп! — остановил его Кукарача . Такой код не годится!

      — Почему? — удивился Лисёнок .

      — Ты строишь клумбу в начале координат! А если заказчику нужна клумба в углу сада?

      — Составлю ещё одну программу!

      Заметим, что после построения клумбы исполнитель возвращается в исходное положение — то, с которого начал работу (шаг номер 5). Шаг вроде бы лишний, но он упрощает многократную работу с процедурой — мы знаем: робот заканчивает работу там, где её начал.

      Ромашку для клумбы возьмите в учебнике по адресу: practical/sprlib/vector/Цветы/ромашка.svg

      Задача 5. Цветник ( 3 кука )

      Создать цветник из 6 клумб. Эскиз прилагается:

      Попробуйте и вы проделать эту работу.

      Заметим, что Лисёнок построил цветник методом сверху вниз , используя библиотечную процедуру Клумба .

      — скрипт с именем .

      — имя процедуры как команда.

      Процедура — скрипт с шапочкой-именем.
      Вызов процедуры — команда с тем же именем (она запускает процедуру)

      • Используем процедуры-заглушки .
      • Начинаем сверху (с главных действий) и постепенно спускаемся вниз (к деталям).

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

      — это величины, определяющие положение объекта.

      является расстояние объекта (его центральной точки) до начала координат (точки 0 ). Координатам слева от 0 приписывается знак минус.

      Но Лисёнок — слева от домика, а Кот — справа, значит координата Кота — ( 4 ), а координата Лисёнка — ( −4 )

      является пара чисел: расстояние до 0 по оси X и расстояние до 0 по оси Y . Координатам слева от 0 по оси X и снизу от 0 по оси Y приписывается знак минус.

      (среда программирования СКРЭТЧ)

      Цель: научиться использовать команды поворота в среде Скрэтч.

      - познакомиться с понятием градуса, угол поворота; научиться управлять спрайтом командами поворота;

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

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

      Итак, мы научились перемещать Кота (или любой другой спрайт) в определенную точку сцены, используя координаты, следить за указателем мыши и следовать за ним. Теперь нам необходимо научиться поворачивать спрайты в нужное нам направление. Для этого нам с вами понадобится понятие – градуса. А также необходимо выяснить какие команды, помогут нам задать нужное направление.

      Все Вы знакомы с часами. Циферблат делится на 12 частей. Две стрелки образуют угол с вершиной в центре круга. Вверху 0 часов, или 12. Справа 3 часа. Внизу 6 часов. Слева 9 часов.

      В математике подобным образом круг делится на 360 частей. Одна такая часть это и есть градус. Таким образом окружность составляет 360 градусов.

      На следующем рисунке посмотрите на верхний ряд цифр, который идёт по часовой стрелке – это величина угла в градусах. Нижний ряд цифр – отрицательные градусы, которые отсчитываются против часовой стрелки. На рисунке изображен угол величиной 40 градусов с вершиной в центре круга.

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

      Направление 0 градусов - это вверх .

      Направление 90 градусов - это вправо .

      Направление -90 градусов - это влево .

      Направление 180 градусов - это вниз .

      Если Вы внимательно посмотрите на рисунок, то увидите, что -90 градусов равно 270 градусов, а 180 градусов равно -180 градусов. Более наглядно направления поворота в Скретч можно представить в виде следующего рисунка:

      t1579967483ae.jpg

      Направление движения спрайта всегда можно увидеть на странице свойств спрайта (см. рисунок).

      t1579967483ag.jpg

      На рисунке Кот находится в направлении 90 градусов.

      Рассмотрим несколько примеров:

      t1579967483ah.jpg

      t1579967483ai.jpg

      t1579967483aj.jpg

      t1579967483ak.jpg

      t1579967483al.jpg

      t1579967483am.jpg

      Кот в направлении 0 градусов

      Кот в направлении -90 градусов

      Кот в направлении 180 градусов

      t1579967483an.jpg

      t1579967483ao.jpg

      t1579967483ap.jpg

      t1579967483aq.jpg

      t1579967483ar.jpg

      t1579967483as.jpg

      Кот в направлении 45 градусов

      Кот в направлении -45 градусов

      Кот в направлении 135 градусов

      Команды изменения направления

      t1579967483at.jpg

      Поворачивает спрайт на заданный угол. Для изменения величины угла необходимо щелкнуть ЛКМ по треугольнику и выбрать один из четырех вариантов: (90) направо, (-90) налево, (0) вверх, (180) вниз или задать любой угол введя его в белое окошечко вручную.

      t1579967483au.jpg

      Поворачивает спрайт на заданный угол по часовой стрелке (вправо).

      t1579967483av.jpg

      Поворачивает спрайт на заданный угол против часовой стрелки (влево).

      t1579967483aw.jpg

      Блок изменяет стили вращения спрайта.

      t1579967483ax.jpg

      Важно! Если у вас в проекте несколько персонажей, то в параметрах данной команды добавляется возможность выбора поворота в направлении расположения этих персонажей.

      Пример 1. Соберите скрипт для Кота по образцу:

      Важно! Перед запуском скрипта поставьте Кота в нижний левый угол сцены.

      Запустите скрипт несколько раз.

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

      Проследите за изменениями, которые происходят в поведении Кота при движении.

      Не забудьте сохранить проект.

      t1579967483ay.jpg

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

      Пример 2 . Соберите скрипт по образцу:

      t1579967483az.jpg

      Для запуска скрипта нажимайте клавиши управления курсором (стрелочки) на клавиатуре. Проследите за изменениями, которые происходят в поведении спрайта при движении. Измените в свойствах спрайта стили вращения и снова запускайте скрипты. Посмотрите, как изменилось поведение спрайта. Не забудьте сохранить проект.

      Пример 3 . Измените скрипт, созданный в примере 2 по образцу:

      t1579967483ba.jpg

      Для запуска скрипта нажимайте клавиши управления курсором (стрелочки) на клавиатуре. Проследите за изменениями, которые происходят в поведении спрайта при движении.

      - параметры команд (величину угла поворота, количество шагов);

      Задание 1 к уроку "Брысь домой"

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

      Комментарии к заданию

      Подсказка 2 : учитывайте "стили вращения" для каждого спрайта.Свой проект сохраненный в среде Скретч 2 пришлите на проверку.

      Задание 2 к уроку "Опять стрелки"

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

      Комментарии к заданию

      Разместите на сцене 4 стрелки (найдите спрайт в библиотеке и продублируйте 3 раза). Для каждой стрелки создайте скрипт, перемещающий спрайте так как показано на видео. Способ запуска программы на выполнение выберите самостоятельно.

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

      Подсказка 2 : в скриптах движения каждой стрелки используйте блок (дважды для каждой стрелки). Количество повторений и длину "прыжка" стрелки подберите самостоятельно.

      Подсказка 3 : для облегчения первоначального размещения стрелок на сцене можно использовать фон сцены с системой координат.

      Свой проект сохраненный в среде Скретч 2 пришлите на проверку.

      Материально-техническое обеспечение

      Дидактическое и методическое обеспечение:

      Голиков Д.В., Голиков А.Д. Книга юных программистов на Scratch. SmashWords, 2013.

      Маржи, Мажед. Scratch для детей. Перевод с англ. М. Гескиной и С. Таскаевой – М.: Манн, Иванов и Фербер, 2017.

      Патаракин Е.Д. Учимся готовить в среде Скретч. Придумай – Запрограммируй – Поделись.

      Читайте также: