понеділок, 27 березня 2017 р.

Подорож у лабіринті або вкладені розгалуження у Scratch

Привіт. Ще одне завдання підказка для тих хто вивчає розгалуження у Scratch. Цього разу будемо вчити нашого героя ходити лабіринтом.

Для цього нам знадобляться подія "Коли натиснуто клавішу ...", датчик доторкається до кольору та значення "напрямок" і звичайно конструкція розгалуження

Залишилось тільки скласти з них правильний алгоритм, щоб наш герой не відчував себе привидом і не проходив крізь стіни.
Для тих хто працює самостійно - відео
Як видно на відео колобок перш ніж переміститися у обраному напрямку (на це вказує стрілка) перевіряє чи доторкається він до стін лабіринту (датчик). 

На перший погляд все наче просто.
Але проблема може заключатися в тому, що маючи довільно намальований лабіринт, важко буде вирахувати точну кількість кроків і в якийсь момент спрайт таки зможе доторкнутися до стіни і тоді аналогічний скрипт, але для стрілки вліво вже не спрацює адже Колобок доторкатиметься до стіни. Для виходу із ситуації нам знадобиться конструкція повного розгалуження і відповідно допрацьований алгоритм  так, щоб Колобок відскакував в іншому напрямку на ту ж кількість кроків що й рухався у вибраному. Хоча й тут теж є свої підводні камені. Спробуйте!








Для тих хто хоче підглянути відповідь.