Вы находитесь на странице: 1из 14

Урок № 5

Динамическое
создание
объектов

C егодня на занятии мы рассмотрим, что же та-


кое алгоритм.

 Алгоритм – это последовательность команд или


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

МАТЕРИАЛЫ К УРОКУ ПРИКРЕПЛЕНЫ К ДАННОМУ PDF-ФАЙЛУ.


Для доступа к материалам урок необходимо открыть в программе
Adobe Acrobat Reader.

2
Динамическое создание объектов

Приведем простой пример – алгоритм действий пе-


шехода на регулируемом пешеходном переходе со све-
тофором (рис. 1):
1. Подойти к дороге.
2. Дождаться зеленого сигнала светофора.
3. Перейти дорогу.

Рисунок 1

Ежедневно мы используем различные алгоритмы:


правила, рецепты, инструкции и т. д. Зачастую мы не за-
думывается над совершением того или иного алгоритма.
К примеру, открывая дверь ключом, мы не задумываем-

3
Урок № 5

ся о последовательности выполнения действий (рис. 2).


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

Рисунок 2

Алгоритм должен быть понятным исполнителю,


однозначным (все действия должны быть корректно
прописаны и не иметь вариантов), упорядоченным
(только совершив действие, можно перейти к следую-
щему), конечным (заканчивается через определенное
количество шагов).
Алгоритмы можно представить в словесной, гра-
фической, программной форме или в виде псевдокода
(смесь программного кода, словесного описания и мате-
матических формул).
В зависимости от порядка выполнения команд
можно выделить три типа алгоритмов:
1. Линейные.
2. Алгоритмы с ветвлением (ветвящийся).
3. Алгоритмы с повторением (циклический).
Давайте подробнее рассмотрим каждый из них!
4
Динамическое создание объектов

Линейный алгоритм  –  действия выполняются


друг за другом, вне зависимости от каких-либо об-
стоятельств. К такому алгоритму относится процесс
определения периметра прямоугольника со сторонами
а и b. Чтобы найти решение мы прибегаем к алгоритму
(рис. 3).

Рисунок 3

1. Устанавливаем числовые значения а, b.


2. Вычисляем Р = 2 × (а + b).
3. Выводим значение Р.
Ветвящийся алгоритм характеризуется наличием
нескольких альтернативных ветвлений. В зависимо-
сти от того, выполняется или нет условие в точке раз-
ветвления, происходит переход к следующему элементу.
Попробуйте составить блок-схему ветвящегося ал-
горитма:
■■ задумайте число;
■■ прибавьте 8;
■■ если полученное число меньше 22, то прибавьте 5,
иначе отнимите 5;
■■ выведите полученный результат.
5
Урок № 5

Циклический алгоритм  –  действия должны по-


вторяться определенное количество раз, пока не бу-
дет выполнено заданное условие. Если условие прини-
мает значение «ложь», происходит выход из цикла.
Давайте рассмотрим, как запрограммировать пе-
редачу объектов между персонажами, а затем созда-
дим игру, руководствуясь только алгоритмами.
Для начала добавим на игровую карту Cycle, кото-
рый управляется стрелками (рис. 4).

Рисунок 4

Затем добавим несколько яблок и запрограммируем


Cycle, чтобы он их собирал. Важно помнить, что персо-
наж может подобрать только два объекта (рис. 5).

Рисунок 5

Добавим на сцену Kodu. Создадим событие, чтобы


при столкновении с Kodu Cycle ронял собранные ябло-
ки (рис. 6).

Рисунок 6

6
Динамическое создание объектов

Можно отредактировать созданное событие, чтобы,


при столкновении, Kodu отбирал яблоки у Cycle. Для
этого вместо Drop используем опцию Give (рис. 7).

Рисунок 7

Давайте добавим текст персонажам. Например,


пускай, когда Cycle подбирает яблоко, он говорит: I like
red apples! (Я люблю красные яблоки!). Добавляем усло-
вие: Got – Apple (рис. 8).

Рисунок 8

Затем задаем действие Actions – Say (рис. 9).

Рисунок 9

7
Урок № 5

В открывшемся окне следует прописать текст, кото-


рый появится при выполнении условия (рис. 10).

Рисунок 10

Просмотрим результат (рис. 11).

Рисунок 11

8
Динамическое создание объектов

Добавим текст, который будет появляться, когда


Kodu получит яблоко. Для начала создадим условие
(рис. 12).

Рисунок 12

Затем пропишем сам текст – Thank you! (Спасибо!)


(рис. 13).

Рисунок 13

Когда Kodu получит яблоко, он поблагодарит игро-


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

9
Урок № 5

Создадим игру «Cycle против Kodu-Зомби», с по-


мощью алгоритма:
1. Добавим на сцену Cycle красного цвета, который
будет стрелять ракетами.
2. Зададим Cycle уровень жизни 100.
3. Добавим на сцену 6 Kodu одинакового цвета, которые
будут медленно двигаются. Затем добавим 3 Kodu
другого цвета, которые видят Cycle и медленно дви-
гаются к нему.
4. Запрограммируем Cycle таким образом, чтобы при
соприкосновении с Kodu он терял 5 единиц жизни.
5. Запрограммируем игру так, чтобы Kodu через про-
извольный промежуток времени стреляли в Cycle
ракетой своего цвета. Ракета должна отнимать у Cycle
10 единиц жизни.
6. Запрограммируем проигрыш, если Cycle умер, и вы-
игрыш, если все Kodu исчезли.

В свободное время усовершенствуйте игру, добавьте


больше персонажей и объектов, диалоги или подсказки.

10
Динамическое создание объектов

Хорошие диалоги играют большую роль для лю-


бой игры (рис. 14-16)!

Рисунок 14

Рисунок 15

11
Урок № 5

Рисунок 16

12
Урок № 5
Динамическое создание объектов

© Компьютерная Академия ШАГ


www.itstep.org

Все права на охраняемые авторским правом фото-, аудио- и видеопроизведения,


фрагменты которых использованы в материале, принадлежат их законным владель-
цам. Фрагменты произведений используются в иллюстративных целях в объёме,
оправданном поставленной задачей, в рамках учебного процесса и в учебных целях,
в соответствии со ст. 1274 ч. 4 ГК РФ и ст. 21 и 23 Закона Украины «Про авторське
право і суміжні права». Объём и способ цитируемых произведений соответствует
принятым нормам, не наносит ущерба нормальному использованию объектов
авторского права и не ущемляет законные интересы автора и правообладателей.
Цитируемые фрагменты произведений на момент использования не могут быть
заменены альтернативными, не охраняемыми авторским правом аналогами, и
как таковые соответствуют критериям добросовестного использования и честного
использования.
Все права защищены. Полное или частичное копирование материалов запрещено.
Согласование использования произведений или их фрагментов производится
с авторами и правообладателями. Согласованное использование материалов
возможно только при указании источника.
Ответственность за несанкционированное копирование и коммерческое исполь-
зование материалов определяется действующим законодательством Украины.

Вам также может понравиться