Урок:

Створення ігрового проекту Snake

25.05.2023
0 0
Опис уроку (учням цей опис не показується):

Цілі:

  • навчальна: Поняття двовимірного масиву

  • розвивальна: розвивати логічне мислення; формувати вміння діяти за інструкцією, планувати свою діяльність, аналізувати i робити висновки;

  • виховна: виховувати інформаційну культуру учнів, уважність, акуратність, дисциплінованість.

Вміст уроку:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Урок не містить жодного завдання. Додайте завдання.

Щоб додати завдання, оберіть категорію завдання на панелі запитань.

2

03015ok4-35d1-940x543.png

3

Гімнастика для очей

03015ols-c201-940x507.png

Відеоінструкція (1 хв)

4

Безпека в Інтернеті

Надіслати скріншот першого сертифікату

5

Тhe game to learn how to protect yourself from phishing and online scams

Гра, яка вчить як захистити себе від фішингу та онлайн шахрайства

Пройти гру Space Shelter та надіслати результати у вигляді скріншоту

6

Створити Pygame-проект "Eyes"

04031gi7-ce0e-300x225.png

Технічний опис проекту

Поїдання їжі змушує змію рости. Коли змія з'їла їжу, нова порція їжі переміщується в інше випадкове положення.

Змія появиться з іншого боку екрану, коли відійде від краю.

Гра закінчується, коли змія врізається сама в себе.

7

Етап 1. Моделювання ігрового поля, змії та порції їжі

Змія представлена послідовністю позицій з координатами X і Y.

Їжа представлена однією позицією з координатамиX і Y.

Коли змія рухається, останній елемент у послідовності (тобто її старе положення хвоста) видаляється, а елемент додається спереду (тобто його нове положення голови) у напрямку, куди рухається змія.

Змія наближається до їжі

04031gmo-908b-501x232.png

Змія поглинає порцію їжі

04031gnf-7006-499x234.png

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

04031gon-a04a-502x228.png

Якщо нова позиція голови знаходиться в тому ж положенні, що й інші сегменти змії, тоді гра закінчена:

04031gp4-b434-308x231.png

8

Розробка проекту.

Створити Pygame-проект "Eyes"

0403098j-add6-244x226.png

9

Етап 2. Базовий код проєкту

# імпортувати модулі для створення гри та випадкового положення їжі
import pgzrun
import pygame
import random

#встановити розмір ігрового поля
grid_x_count = 20
grid_y_count = 15

#функція для оновлення часу руху, позиції їжі та змії (клітинок, з яких вона складається)
def update(dt):
__global timer
__global food_position
__global snake_alive

#візуалізація (малювання їжі та змії)
def draw():
__screen.fill((0, 0, 0))

#вставновити розмір вікна програми
WIDTH = 15 * 20
HEIGHT = 15 * 15

#запустити гру на виконання
pgzrun.go()

10

Етап 3. Розташування їжі

Після блоку "Встановити розмір ігрового поля" додати функцію, яка створює координати для розташування їжі:


04031k6p-6311-628x478.png

11

Етап 4. Встановити початкові значення змінних

Перед функцією update() додати програмний код, який буде встановлювати початкові координати положення їжі, змії та значення таймеру для опису руху змії

04031ka5-751c-713x524.png

12

Етап 5. Функція оновлення ігрового стану (опис "логіки" гри)

Оновити положення змії кожні 0.25 секунди. Перевірити: 1) чи є куди переміщатись; 2) чи наштовхнулась змія на їжу та з'їла і збільшила свій розмір; 3) якщо немає куди рухатись, то змія "помирає" і гра починається спочатку через 8 секунд.

У функцію update() додати програмний код, який буде описувати "логіку" гри: Код функції update()

13

Етап 6. Інтерактивна взаємодія з людиною за допомогою клавіатури

Перед функцією update() додати програмний код, який буде описувати, як змінити напрям руху змії після натискання клавіш keys.RIGHT, keys.LEFT, keys.DOWN або keys.UP

04031l8c-64bb-785x386.png

14

Етап 7. Візуалізація положення їжі та змії

Код функції draw() наповнений командами, які малюють квадрат, що позначає їжу, та послідовність квадратиків, що позначають змію

15

Увага: пам'ятайте, що гра автоматично перезапускається через 8 секунд. Якщо бажаєте збільшити цей час (щоб встигнути зробити скріншот), тоді змініть це значення наприкінці функції update().

Щоб розпочати гру - запустіть програму, клацніть мишкою по ігровому полю та натискайте на клавіатурі клавіші зі стрілками, щоб керувати напрямком руху змії.

Запустити програму на виконання. Під час гри спробувати створити змію як можна більшої довжини. Зробити та надіслати скріншот.

Рефлексія від 5 учнів

Сподобався:

0

Так: 5

Ні: 0

Зрозумілий:

0

Так: 5

Ні: 0

Потрібні роз'яснення:

0

Ні: 5

Так: 0

Рекомендуємо

Практична робота № 4. Створення бюлетеня з використанням шаблону та стилів оформлення

Практична робота № 4. Створення бюлетеня з використанням шаблону та стилів оформлення

239

Аватар профіля Костукевич Фелікс Віталійович
Інформатика
9 клас

33 грн

Художнє оформлення тексту. Ділова графіка. Створення векторного шрифтового плакату на задану тематику

Художнє оформлення тексту. Ділова графіка. Створення векторного шрифтового плакату на задану тематику

54

Аватар профіля Костукевич Фелікс Віталійович
Інформатика
11 клас

33 грн

Меш-об’єкти. Об'єднання меш-об'єктів

Меш-об’єкти. Об'єднання меш-об'єктів

279

Аватар профіля Костукевич Фелікс Віталійович
Інформатика
9 клас

33 грн

Вибір конструкції буклету. Аналіз існуючих стилів і видів буклетів, їх конструктивних форм і матеріалів

Вибір конструкції буклету. Аналіз існуючих стилів і видів буклетів, їх конструктивних форм і матеріалів

49

Аватар профіля Костукевич Фелікс Віталійович
Інформатика
11 клас

33 грн

Мультимедіа: проєктування відеоконтенту

Мультимедіа: проєктування відеоконтенту

134

Аватар профіля Костукевич Фелікс Віталійович
Інформатика
8 клас

33 грн

Систематизація знань (9) (повторення, частина 1)

Систематизація знань (9) (повторення, частина 1)

45

Аватар профіля Костукевич Фелікс Віталійович
Інформатика
9 клас

33 грн

Схожі уроки

Впорядкування, пошук і фільтрування даних.

Впорядкування, пошук і фільтрування даних.

1279

Аватар профіля Вожга Ірина Леонідівна
Інформатика
9 клас

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

1098

Аватар профіля Савка-Ржематорська Оксана Василівна
Інформатика
9 клас

Цикли з передумовою у вкладених циклах

Цикли з передумовою у вкладених циклах

1340

Аватар профіля Вожга Ірина Леонідівна
Інформатика
6 клас

Налаштування часових параметрів аудіо- та відеоряду.

Налаштування часових параметрів аудіо- та відеоряду.

491

Аватар профіля Солодовнікова Катерина Олексіївна
Інформатика
8 клас

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

648

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас

Елемент керування кнопка

Елемент керування кнопка

276

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас