Занятие 3.3 Настройка логики для зон
Цель: модернизировать сцену проекта “Планеты” и применить логические конструкции, согласно техническому заданию на практическую и самостоятельную работу.
Задачи:
- Познакомиться с объектом “Текст”
- Создать логику для объектов на сцене
- Закрепить понимание условных операторов, логический оператор “И”,
- Продумать и реализовать визуализацию условия победы
Методические материалы для подготовки к занятию:
Пошаговая инструкция по разработке кейсов #3.
Создание логики приложения.
Прежде чем открыть редактор логики начать собирать “пазл” из блоков, необходимо повторить определение условного оператора (или оператора ветвления).
Определение: Условный оператор - это конструкция языка программирования, обеспечивающая выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения, либо выполнение одной из нескольких команд (наборов команд) в зависимости от значения некоторого выражения.
Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Таким образом, условный оператор — это средство ветвления вычислительного процесса.
В нашем редакторе логики он выглядит так:
Создание условия.
Еще раз вернемся к ТЗ: В приложении должна присутствовать механика, позволяющая определить на правильное место мы поставили планету или нет.
То есть, истинным условием для нас является нахождение определенной планеты в определенной зоне.
Поэтому давайте перейдем в категории объекты и выберем объект “Зона” (1).
Вы видите, что зона имеет логический блок “<Зона X> содержит <объект Y>” (2), давайте вытащим его и установим напротив “Если” (3).
В качестве зоны выберем “Земля” и в качестве объекта тоже “Земля” (4).
Еще раз вспомним о важности логичных наименований, без этого вы бы не смогли быстро сопоставить нужную зону и нужный объект.
Таким образом, условия готовы!
Создание действий.
Мы уже обозначили выше, что при условии нахождении правильной планеты в правильной зоне смайлик меняет эмоцию на веселую.
Выберем в блоках действий объекта “Смайлик” необходимый блок:
И установим его напротив “Выполнить”.
А иначе, соответственно, если планета будет не в своей зоне эмоция будет грустная.
Скопируйте блок действия смайлика и подставьте его напротив “Иначе”, выбрав другую эмоцию. Для “Земли” выберите смайлик “Земля”, еще раз вспомним про имена :)
Замечательно!
Теперь осталось выполнить то же самое для всех остальных планет, чтобы получилось так:
Это ваша небольшая Самостоятельная работа.
Совет: все это можно сделать за 15 секунд, если вы вспомните как копировать блоки. Вы можете копировать блок “Если” целиком со всеми действиями и условиями, останется только поменять наименования.
Примечание: В этом примере не обязательно соединять блоки “Если” между собой, функционально это ни на что не влияет. Такой внешний вид собран для более изящного вида Blockly.
Условие победы
Мы сделали практически все, осталось выполнить последнее условие из ТЗ: После размещения всех планет на своих местах должно произойти событие, которое явно бы показывало пользователю о том, что он все сделал правильно.
Поскольку у нас уже есть текстовая панель, то предлагается разместить на ней текст “Все планеты на правильных местах, вы победили!”, при условии, когда все смайлики будут веселыми.
Для того, чтобы это сделать познакомимся с логическим оператором “И”.
Когда мы проверяем есть планета в зоне или ее нет - это всего лишь одно условие, но бывают ситуации, когда нужно проверить сразу несколько условий, при этом они должны выполняться одновременно.
Здесь нам поможет логический оператор “И” - только при условии, что все условия будут выполняться, логический оператор И будет истинным.
Чтобы понять это на практике добавим еще один условный оператор “Если”, на этот раз без “Иначе”, поскольку в этом случае это будет лишним.
Нам необходимо проверить 3 условия: 3 смайлика должны быть веселыми, поэтому добавляем напротив “Если” два логических оператора “И” (один вкладываем в другой):
Таким образом у нас получилось 3 пустых ячейки, которые мы заполняем условиями, которые находятся в блоках объекта “Смайлик”:
Дословно: если смайлик “Земля” веселый И смайлик “Венера веселый И смайлик “Меркурий” веселый, то произойдет какое-то действие.
В качестве действия выбираем блок объекта “Текст”:
И прописываем необходимый текст:
Готово!
Не забывайте нажимать на кнопку “Применить” для сохранения логики!
Применяя ранее полученные навыки, обучающиеся разрабатывают проекты и тестируют их на VR-HMD устройствах.
Если вы все сделали правильно, то можно запускать проект и проверять. В итоге вы увидите примерно такой кадр:
Контрольные вопросы (выборочно можно использовать на этапе рефлексии, для проверки усвоения знаний, полученных на занятии):
- Что обязательно нужно сделать по итогу расположения блоков в Blockly?
- Как работают логические операторы “И” и “Или”?
- Что говорят правила хорошего тона программиста по вопросу именования объектов?