2.41M
Categories: programmingprogramming informaticsinformatics

Простые игры в среде программирования Scratch. Модуль №2

1.

Модуль №2
"Простые игры в среде
программирования
Scratch"

2.

Заходим в Scratch

3.

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

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.

Спасибо за занятие!
До новых встреч!
СДАЕМ НАБОРЫ
English     Русский Rules