Рет қаралды 5,137
6 клас. Практичні завдання з інформатики за підручником І.Тріщук 2023 року.
Тема 24-26. Поняття декомпозиції задачі. Розв’язання задачі методом поділу на підзадачі. Проєкт № 3.
Етап 1. Організаційний
Завдання. Створити проєкт гри, в якій виконавець за допомогою стрілок буде рухатися в сторони та збирати в кошик яблука. У виконавця є можливість три рази помилитися, тобто назбирати в кошик не яблука, а інші об’єкти. Після трьох помилок, гра буде закінчена, якщо він впіймає фрукт 3 рази - гру буде закінчено. Додати змінну, щоб рахувати кількість впійманих яблук. За бажанням можна додати таймер.
Етап 2. Підготовчий
- Підготовка фону зображення - на Ваш вибір.
- Зображення та тему проєкту Ви можете підібрати самостійно на Ваш вибір.
- Спрайти Ви можете підібрати на Ваш вибір.
- Додати кнопку Розпочати гру (малюємо спрайт).
- Додати нижню межу (малюємо спрайт).
- Додати змінні «Життя» та «Кількість фруктів».
- Додати спрайт з надписом «Кінець гри».
Етап 3. Проєктний
Програмуємо кнопку «Розпочати гру»
- Кнопка має бути показана одразу, при запуску гри.
- При натисненні на кнопку , потрібно створити повідомлення Початок гри та сховати спрайт. За бажанням можете додати звук.
Нижня межа
Коли натиснуто на прапорець - сховати.
Показати, коли виконавець отримає сповіщення Початок гри.
Кошик, який ловитиме овочі та фрукти
- Створюємо нову подію Коли натиснуто прапорець - сховати. Тому, що наш кошик повинен з’явитися вже коли гра розпочнеться.
- Створюємо нову подію Коли я отримую сповіщення Кінець гри також сховати.
- Створюємо нову подію Коли я отримую сповіщення Початок гри - показати.
Надалі програмуємо дії в коді, коли виконавець отримав сповіщення Почати гру. Це буде наш основний скрипт.
Нам потрібно, щоб наш кошик рухався за допомогою стрілок ліворуч та праворуч. Отож, ми додаємо розгалуження. І нам потрібно, щоб ці дії виконувалися завжди, тому є потреба використати цикл.
Потрібно додати команду на випадок , якщо кошик дійде до межі - то потрібно, щоб кошик відбився.
Наш об’єкт повинен з’явитися одразу в потрібному місці, незалежно від того, де він був в попередньому місці. Тому нам потрібно одразу вказати координати спрайта.
Програмуємо об’єкт «Яблуко»
- Створюємо нову подію Коли я отримую сповіщення Початок гри - виконавця потрібно сховати.
- Змінній «Кількість фруктів» надати значення 0.
- Виконавець завжди повинен з’являтися у випадковий час в проміжку від 1 до 2,5 секунд. Створити клон з цим об’єктом.
Створити нову подію Коли я починаю як клон - тільки тоді показати виконавця. Виконавець повинен з’явитися випадково тільки в координаті x, в координаті y - одна координата 160.
З цього моменту ми додаємо розгалуження. В нас є два варіанти розвитку подій.
Варіант №1
Якщо виконавець торкається до корзини, змінити змінну на 1, відтворити звук та вилучити клон.
Варіант №2
Якщо виконавець торкається до нижньої межі, то вилучити цей клон.
Повторити ці дії завжди.
Програмуємо змінну з «життями», тобто можливість допустити помилку три рази.
Створюємо нову подію Коли я отримую сповіщення «Початок гри».
Додаємо розгалуження. Якщо змінна життя дорівнює 0, то оповістити Кінець гри та зупинити всі скрипти. Ці дії повторити завжди.
Аналогічним способом запрограмувати інші об’єкти. Мінімум ще 3 об’єкти.
Створити нову кнопку «Закінчення гри». Подія №1 - Коли натиснуто на прапорець - сховати.
Подія №2 - Коли я отримую сповіщення «Закінчення гри» - показати.
Додаткові завдання
Завдання 1. Додати таймер на час. Наприклад , через 30 секунд закінчити гру і зупинити рахунок змінної «Кількість фруктів».
Завдання 2. Потрібно обнулити всі змінні, щоб почати нову гру спочатку, без збережених попередніх результатів.
Завдання 3. Додати музичні ефекти до всіх спрайтів, при потраплянні в кошик.
Завдання 4. Додати персонажа, який кожних 10 секунд буде повідомляти значення змінної «Кількість фруктів» та по закінченні гри повідомить загальний результат.
Завантажити текст практичного завдання: drive.google.com/drive/folder...
Підтримати мою роботу: donatello.to/TaskInformatics
Підтримати мою роботу на Patreon: / taskinformatics