вівторок, 2 травня 2017 р.

Цикл у Scratch або рухаємось по східцях

Привіт. Сьогодні поговоримо про циклічні конструкції та про їх використання для імітації руху по східцях.
Нехай маємо м’яч який повинен вміти плигати по східцях вгору та вниз. Розглянемо варіант того як це можна реалізувати.

У такої задачі може існувати як мінімум два випадки.
Перший випадок - це коли нам відома кількість східців. В цьому випадку нам потрібно: 1. Піднятися вгору 2. Переміститися вправо.
Щоб піднятися вгору можна 1. Повернутись у напрямку вгору. 2. Переміститися на Х кроків. Щоб переміститися вправо треба: 1. Повернутися вправо. 2. Переміститися на Х кроків.
Отже, щоб піднятися на одну сходинку нам потрібно виконати 4 команди. Якщо ж східців N то достатньо повторити N разів ці 4 команди. Тому у нас вийде такий алгоритм:
команда чекати потрібна для того, щоб побачити послідовність під’йому.
Другий випадок - це коли ми не знаємо чи не хочемо знати наперед кількість східців. В цьому випадку можна скористатись "кольоровими" характеристиками нашої сцени та спрайтів.
Розглянемо наприклад варіант коли м’яч повинен зійти по східцям униз.
Як видно з малюнка  східці мають чітку кольорову межу коричневого кольору. А внизу є червоний килим. Скористаємося цим.
Щоб м’яч почав спускатися потрібно, щоб він дійщов до краю першої сходинки. Для цього
він повинен рухатися вправо. Отже маємо той самий набір: 1. Повернутися вправо. 2. Переміститися на Х кроків. Але коли він дійде він повинен рухатися вниз. А це 1. Повернутися вниз. 2. Переміститися на Х кроків. Проблема, яка зовсім не проблема полягає в тому, що ми не знаємо чи не хочемо знати скільки ж кроків йому треба зробити як вниз так і вправо.
Головне, що зупинитись він повинен тоді, коли дістанеться червоного килиму. Щоб рухатись вправо ми можемо скористатись коричневим кольором східців. Якщо м’яч доторкається до коричневого кольору - він повинен: 1. Повернутися вправо. 2. Переміститися на 2 кроків.
Інакше він повинен рухатись вниз: 1. Повернутися вниз. 2. Переміститися на 2 кроків.

Щоб перевірити, що м’яч доторкається до східців (коричневого кольору ) можна скористатись конструкцією розгалуження та датчиком доторкається до кольору. А щоб рухатись вправо та вниз повторюючи ці команди скористайтесь циклом повторювати поки.
І ви отримаєте наступний скрипт:

Отож маємо наступний проект



А знайти його можна на моїй сторінці Scratch