Занятие №21 "Структуры решений"
Раздел Управление в Scratch содержит два блока, позволяющих принимать решения и управлять действиями в ваших программах: если и если/иначе. Используя эти блоки, вы можете задать вопрос и совершить действие на основании ответа.
Блок если

Блок если — структура принятия решений, которая дает вам возмож- ность обозначить, должен ли какой-то набор команд выполняться согласно условиям теста. Структура блока если и схема его процессов показаны на рисунке ниже
На рисунке форма бриллианта играет роль блока, дающего ответы да/нет (или истина/ложь) на вопрос. Если тестовое условие в шапке блока если верно, программа выполняет команды из блока, прежде чем перейти к команде, следующей за ним (на рисунке это Команда М). Если тестовое условие неверно, программа пропускает эти команды и сразу переходит к Команде М. Чтобы посмотреть на блок если в действии, создайте скрипт с рисунка ниже. Он запускает цикл всегда, перемещает спрайт по Сцене, меняет его цвет и заставляет его отпрыгивать, когда он касается краев Сцены.
Цикл всегда содержит в вашем скрипте блок если, который проверяет положение по оси x после каждой команды идти. Если позиция по оси х больше нуля, спрайт должен сменить цвет. Когда вы запустите этот скрипт, вы заметите, что спрайт меняет цвет, только когда движется по правой половине Сцены. Это связано с тем, что блок изменить цвет эффект на 25 выполняется только тогда, когда условие положение x > 0 верно.
Используем переменные как флаги

Представим, что вы разрабатываете игру о приключениях в космосе, где цель в том, чтобы разрушить атакующий вас флот боевых кораблей. Игрок — капитан корабля, управляет им при помощи клавиш со стрел- ками и стреляет ракетами при помощи «пробела». Если в космический корабль игрока определенное количество раз попадает вражеская ракета, корабль теряет способность атаковать. С этого момента нажатие на клавишу «пробел» больше не должно приводить к запуску ракет, и капитану приходится принять оборонительную стратегию, чтобы не допустить еще большего количества попаданий. Очевидно, что при нажатии клавиши «пробел» ваша программа должна проверять состояние корабля, чтобы принять решение, может ли игрок стрелять.

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

В вашей космической стрелялке вы можете использовать флаг под названием могуСтрелять, чтобы обозначить состояние корабля. Тогда 1 будет означать, что корабль может стрелять ракетами, а 0 — не может. На основе этого код для обработчика события — нажатия клавиши «про- бел» — может быть таким, как показано на рисунке. В начале игры вы устанавливаете 1 в качестве значения флага могуСтрелять, чтобы показать, что корабль способен стрелять. Когда в корабль попадет определенное количество вражеских выстрелов, вы установите флаг могуСтрелять на 0, чтобы показать, что боевая система вышла из строя. С этого момента нажатие на «пробел» не будет приводить к пуску ракет.
Вы можете называть свои флаги как хотите, но советуем выбирать осмысленные имена. На рисунке нижеприведены несколько примеров флагов, которые вы могли бы использовать в своей космической «стрелялке».

Scratch - Учись играя!
This site was made on Tilda — a website builder that helps to create a website without any code
Create a website