Сьогодні ми згадаємо як використовувати вкладені цикли. На вас чекає багато різних графічних ігор...
Героєм, який малює буде жук Beetle, розмін якого можна зменшити до 20%.
Спершу давайте створімо за допомогою циклу одну ялинку. Ялинка має ніжку та 6 гілочок. Для створення ніжки цикл нам не потрібен, а от гілочки у нас однакові, тому їх створення можна зациклити.
Це базовий код, який потрібен, щоб почати малювати, тому його треба використовувати для всіх подальших завдань як основу, лише змінюючи початкові координати за потребою.
Спершу давайте створімо за допомогою циклу одну ялинку. Ялинка має ніжку та 6 гілочок. Для створення ніжки цикл нам не потрібен, а от гілочки у нас однакові, тому їх створення можна зациклити.
Для того, щоб створити ряд із 10 ялинок нам потрібно зробити цикл повторів, який складається з коду малювання ялинки, але в кінці додається код для переходу жука в наступну позицію, щоб малювати наступну ялинку.
Для переходу в наступну позицію нам треба повернути героя в позицію для переміщення до місця малювання наступної ялинки (опустити його на -20 кроків - це залишок стовбуру між вітками й корінням дерева, та повернути на 90 градусів), підняти олівець, перемістити героя далі на 50 кроків та опустити олівець.
Пам'ятайте важливе правило: якщо цикл у вас працював до цього, то скоріше за все він не буде потребувати внутрішніх змін при вкладених циклах.
Для того, щоб створити три ряди ялинок, потрібно вставити ще один цикл та доповнити його командами для переходу в новий ряд.
Треба також підняти та опустити олівець. А от для самого переміщення зручно використовувати команди зміни координат героя, ніж команди його руху (блоки Перемістити).
Внутрішній цикл в цій грі створює коло. Щоб у нас вийшло ідеальне коло необхідно 360 разів повернути на 1 градус, рухаючись вперед. Звісно можна створити коло комбінуючи різні показники, наприклад:
180 разів по 2 градуси
90 разів по 4 градуси
720 разів по 0.5 градуси
... Я думаю ви зрозуміли логіку? Треба, щоб сумарно кількість разів і градусів складали повний оберт кола: 360 градусів. Блок переміщення впливає на загальний розмір кола.
Зовнішній цикл створює рух по колу. Якщо ви помітили, то в сумі 18 разів з поворотом у 20 градусів також створять сумарно 360 градусів повороту. Таким чином ми отримуємо малюнок к в колі.
Внутрішній цикл цього коду створює лише одну частину нашого малюнка, спробуйте запустити спочатку цей цикл, а потім доповнити його зовнішнім циклом.
Зовнішній цикл дозволяє привести Жука в початкове положення, щоб він міг знову повторити базову частину малюнку. І так ми повторюємо цю дію 5 разів.
Як і в попередніх програмах у нас є базовий рисунок, який ми реалізуємо внутрішнім циклом. Щоб створити композицію повторюємо це за допомогою зовнішнього циклу, змінюючи початкові положення Жука.
Ця програмка трохи складніша тому, що використовує три цикли, кожен з яких виконує свою роль.
Перший цикл створює базову фігуру - шестикутник.
Другий цикл створює ряд з шестикутників.
Третій цикл створює переміщення на наступний ряд. Ви помітили, що там вже використовується математична формула. Вона допомагає Жуку спуститись на висоту нашого шестикутника (базове положення Жука).
Ця формула вираховується з рівнобедреного трикутника з використанням формули Піфагора.... Ах точно, ви буду це вивчати в наступному році ;) Саме в такі моменти важливо розуміти математику, тому сьогодні використайте готовий приклад, але запамʼятайте, що тема про трикутники та формула Піфагора буде дуже важливою в майбутньому, щоб розв'язувати геометричні задачі.