Similar presentations:
Простые игры в среде программирования Scratch. Модуль №2
1.
Модуль №2"Простые игры в среде
программирования
Scratch"
2.
Заходим в Scratch3.
Палитра блоковБлоки, отвечающие за движение спрайта.
Блоки, отвечающие за то, как выглядит спрайт, что говорит и т.д.
Блоки, отвечающие звуковое сопровождение проекта.
Блоки, которые запускают скрипты при каком-то событии
Блоки, отвечающие за циклы, ветвления, клонов.
Блоки, отвечающие за условия.
Математические и логические блоки.
Блоки, отвечающие за переменные.
Блоки, с помощью которых скрипт можно превратить в блок
Добавление других блоков в палитру
4.
Блоки управленияЧто входит:
- циклы (3 вида);
- операторы ветвления
(2 вида);
- блоки ожидания (2
вида);
- закрывающий блок
(блок остановки
скриптов);
- 3 блока управления
клонами.
5.
Блоки управленияПервый блок в данном
разделе – блок «ждать _
секунд». Когда компьютер
доходит до этого блока, он
«замирает» на указанное
количество секунд. Важное
замечание: «замирает»
только тот скрипт спрайта
(фона), в котором стоит этот
блок.
6.
Блоки управленияСледующий за ним – блок
«повторить _ раз». Это
цикл с предустановленным
количеством повторений, то
есть то, что будет в теле
цикла, повторится
установленное количество
раз. Относится к
обвивающим блокам.
7.
Блоки управленияБлок «повторять всегда».
Этот цикл, как понятно из названия,
повторяет выполнение вложенных в
него блоков постоянно. Хоть и не
является закрывающим блоком,
прикрепить к нему последующий пазл
не получится. Остановить его
выполнение можно двумя способами:
нажатием на кнопку остановки
над
сценой спрайта, а также блоком,
который мы изучим далее.
8.
Блоки управленияБлок «если _, то» - вложенные в
него блоки выполняться при
соблюдении некоторого условия.
На место для условия
вкладываются информация от
блоков раздела «Сенсоры»,
операторы «и» и «или» из
раздела «Операторы», а также
операторы сравнения «_ > _», «_
< _» и «_ = _» из того же
раздела.
9.
Блоки управленияТак как блок «если _, то»
проверяет вложенное в него
условие 1 раз и ровно в тот
момент, когда скрипт доходит до
данного блока, его часто можно
встретить в паре с каким-либо
циклом, чаще всего с циклом
«повторять всегда».
Напишем несложный скрипт и
проверим работу блоков.
Запустите скрипт и посмотрите
что происходит.
10.
Блоки управленияБлок «если _, то <…>
иначе»: имеет две ветки, по
одной скрипт идёт в случае,
если условие выполняется, по
другой в случае, если условие
не выполняется. Условия
вкладываются такие же, как и
в блок «если _, то».
11.
Блоки управленияБлок «если _, то <…>
иначе» также часто
используется с циклами.
Доработаем прошлый
скрипт, поменяв в нём вид
оператора ветвления.
Запустите скрипт. Что
изменилось?
12.
Блоки управленияБлок «ждать до _»: скрипт
так же, как и с блоком «ждать
_ секунд», ставится на паузу,
но теперь для продолжения
выполнения скрипта нужно,
чтобы выполнилось
некоторое условие. Условия
вкладываются также, как и в
блоки «если …».
13.
Блоки управленияБлок «повторять пока не _»
- цикл с предусловием, то
есть вложенные в цикл блоки
будут выполняться до тех
пор, пока не выполнится
какое-то условие.
Блоки-условия вкладываются
такие же, как и в блоки
«если…».
14.
Блоки управленияЗакрывающий вид блоков в
разделе «Управление» - блок
«стоп всё». У него есть несколько
вариаций, чтобы выбрать что
нужно остановить, нужно кликнуть
на «все», откроется список
вариантов.
Блок «стоп все» останавливает
все скрипты для всех спрайтов и
фонов, то есть результат будет как
у кнопки
над сценой спрайтов.
15.
Блоки управленияСоответственно блок
«стоп этот скрипт»
остановит только тот
скрипт, в котором стоит
данный блок, а блок «стоп
другие скрипты спрайта»
останавливает все скрипты
спрайта кроме того, в
котором находится данный
блок.
16.
Блоки управленияЗаметьте, что блок «стоп
другие скрипты спрайта» не
является закрывающим, то
есть к нему можно
присоединить другие
блоки.
«Стоп этот скрипт» и «стоп
другие скрипты спрайта»
часто используются в
связке.
17.
Блоки управления3 блока управления клонами:
⮚ «создать клон самого себя»
создаёт клон самого спрайта
или других спрайтов.
⮚ Блок «когда я начинаю как
клон» - один из блоковшапок. Он необходим для
программирования
появившихся клонов какоголибо спрайта.
⮚ «Удалить клон» - удаляет
клон спрайта. Является
закрывающим блоком.
18.
Блоки сенсоровБольшинство блоков
раздела сенсоры – блокирепортёры или блоки
условий.
Оба вида имеют
характерную форму –
прямоугольник, скругленный
на краях, или прямоугольник
с ромбовидными сторонами.
19.
Блоки сенсоров⮚ Первый блок на слайде
позволяет проверить
касается ли спрайт
указателя мыши, а также
края сцены и других
спрайтов
⮚ Второй блок похож по
смыслу, но проверяется
касание цвета (фона или
спрайта)
⮚ Третий проверяет касается
ли определённый цвет
спрайта цвета на фоне или
на других спрайтах
20.
Блоки сенсоровДанный блок относится к
блокам репортёрам. Он
позволяет узнавать
информацию о расстоянии до
других объектов на сцене,
например до указателя мыши
или спрайта (в данном случае
Bear-walking). Значение,
полученное с помощью этого
блока, можно записать в
переменную или сравнить с
другим значением.
21.
ФИЗМИНУТКА22.
Блоки сенсоров«Спросить _ и ждать» - при
встрече с данным блоком в
скрипте компьютер ждёт
ответа от пользователя, окно
для ответа высвечивается
внизу сцены.
Ответ пользователя
записывается в переменную
«ответ», расположенную в
списке чуть ниже блока
«спросить…»
23.
Блоки сенсоровКак и другие переменные, «ответ»
можно показывать или не
показывать на сцене.
24.
Блоки сенсоровБлоки «клавиша _ нажата?» и
«мышь нажата?» очень
похожи по смыслу.
Данные блоки возвращают
“true”, если мышь или
определённая клавиша
нажаты, и “false” в противном
случае.
Могут пригодиться для
написания скрипта движения
спрайта.
25.
Блоки сенсоровНапишем скрипт для движения
спрайта.
По нажатию клавиш вправо,
влево, вверх и вниз спрайт
будет двигаться в
соответствующую сторону, при
нажатии мыши здороваться с
пользователем.
На слайде представлен скрипт
для движения вверх.
Попробуйте написать скрипт
для движения в остальных
направлениях.
26.
Блоки сенсоровПроверяем себя.
Не забудьте
установить вид
поворота на
«вправо-влево» в
меню спрайта, иначе
кот будет ходить
вверх ногами.
27.
Блоки сенсоровСкрипт, по которому
спрайт здоровается с
пользователем.
28.
Блоки сенсоровБлоки репортёры «x
мыши» и «y мыши»:
возвращают
соответственно значение
х-координаты мыши и укоординаты мыши.
С их помощью можно
сделать так, чтобы спрайт
двигался за указателем
мыши (пример на слайде).
29.
Блоки сенсоровБлок «перетаскивать
можно/нельзя».
Как ясно из названия, при
применении блока спрайт
либо можно перетаскивать
по сцене (даже во время
запуска скрипта), либо
нельзя.
30.
Блоки сенсоров⮚ Блок «громкость»
возвращает уровень
громкости, установленный
микрофоном компьютера,
⮚ Блок «таймер» возвращает
время с начала запуска
скрипта.
⮚ Для возможности сброса
отсчитанного времени есть
блок «сбросить таймер».
31.
Блоки сенсоров⮚ «фон# от Сцена»
возвращает номер фона,
показываемого в данный
момент на сцене.
⮚ «имя фона..»
соответственно возвращает
имя фона на сцене.
⮚ «громкость…» возвращает
уровень громкости.
⮚ Далее идут переменные,
созданные пользователем,
соответственно возвращает
значение переменной.
32.
Блоки сенсоровПоследние блоки раздела:
⮚ блок «дней с 2000 г» возвращает количество дней с
2000 года (зависит от даты в
системе)
⮚ блок «имя пользователя»
возвращает имя пользователя
(системное или ник на сайте
Scratch).
⮚ блок «текущий год/месяц…» возвращает год, месяц и т.д.
(зависит от системы).
33.
ОператорыЛогические операторы «и»,
«или» и «не»:
⮚ Блок «и» требует
выполнения условий
одновременно для того,
чтобы он выдал “true”.
⮚ Блок «или» требует для
этого выполнения хотя бы
одного условия.
⮚ Блок «не» инвертирует
условие, то есть чтобы он
вернул “true” нужно, чтобы
условие не выполнялось
34.
ОператорыБлоки сравнения:
больше “>”, меньше “<“ и
равно “=“.
Они нужны для сравнения
данных, полученных
блоками репортёрами,
или для сравнения
переменных.
35.
ПрактикаЗадание №1. Вернёмся к
скрипту, написанному ранее
для прогулки кота.
Доработаем его: добавим
соответствующий фон.
Добавьте на поле спрайт мяча,
пусть при столкновении кота с
мячом, мяч будет перетекать в
случайное положение.
36.
ПрактикаВозможно ваш скрипт
отличается от скрипта на
слайде, но это не значит,
что он неправильный.
Покажите скрипт педагогу
и объясните как он
работает.
37.
ПрактикаЗадание №2. Сделаем несложную
игру. В центр сцены поместим
окружность (контур) чёрного цвета.
Внутри поместим круг (закрашенную
область).
По умолчанию круг уменьшается.
При нажатии мыши круг
увеличивается в размерах. Нужно
сделать так, чтобы круг достиг
контура окружности. В момент
касания скрипт останавливается.
Зажимать мышь нельзя.
38.
ПрактикаТак выглядит возможный
вариант решения.
Если ваш вариант
отличается от указанного
на слайде, то объясните
педагогу в чём
заключается суть вашего
скрипта.
39.
ВОПРОСДля чего нужны
данные блоки в
скрипте?
40.
ОТВЕТБлок «перетаскивать
нельзя» нужен, так как в
игре мы пользуемся
клавишами мыши.
«ждать до не мышь
нажата» необходим как
раз для того, чтобы у
игрока не было
возможности зажимать
клавишу мыши.
41.
ПрактикаЗадание №3. Доработайте прошлый скрипт так, чтобы
круг внутри «мерцал» (нарисуйте несколько костюмов
для него) при нажатии клавиши мыши).
Также добавьте для внешнего круга возможность
расширяться (усложните игру), но на небольшое
количество процентов, чтобы было возможно победить.
Если внешний контур коснётся края сцены – вы
проиграли!
42.
ПрактикаПроверьте как изменился
код для внутреннего
круга.
Что должно добавиться в
скрипте для внешнего
контура?
43.
ПрактикаВот так выглядит скрипт
для внешнего контура.
Посмотрите на скрипт на
слайде, сравните со
своим. Сделайте
выводы.
44.
ПрактикаСегодня на простых примерах мы познакомились с
построением скриптов при помощи циклов и
операторов ветвления.
45.
Спасибо за занятие!До новых встреч!
СДАЕМ НАБОРЫ