30.05.2022
Підсумковий урок
_______________________________________________________
23.05.2022
Проєкт у PyGameZero
___________________________________________
16.05.2022
Гра "Маріо"
____________________________________________________
09.05.2022
Гра "Арканоїд"
- Використаємо зображення м'яча з файлу (файл потрібно розмістити у каталозі Images)
- Визначаємо розмір ігрового поля, а також імпортуємо модуль випадкових чисел - він нам знадобиться для гри.
- Визначаємо випадкові координати розміщення м'яча на початку гри:
- Створюємо виконавця м'яч у визначених щойно координатах:
- Змінні a та b - визначають переміщення м'яча по горизонталі та вертикалі, це будуть випадкові числа:
- У функції малювання очищуємо екран та зображаємо на ньому м'яч:
- У функції оновлення маємо змінити положення м'яча, додаючи a та b до координат поточного розміщення м'яча. Але коли м'яч торкається межі екрану, потрібно відбити його у протилежному напрямку. Це виконує команда a = -a після перевірки if ball.left > WIDTH - 50 or ball.left < 0 Для коректної роботи потрібно вказати, що значення a можна змінювати всередині функції update():
- Події клавіатури Створимо виконавця - платформу, яка буде рухатись за клавішами стрілок праворуч-ліворуч в нижній частині ігрового вікна. Для цього на початку проекту додамо
- Ігрові цеглинки Створимо набір ігрових цеглинок, які повинен збивати м'яч. Для цього потрібно створити список, який називається game, і в цей список будемо записувати виконавців wall, кожен з яких розміщується у випадковій позиції. Таких виконавців нехай буде 10, і їхні координати будуть по всій ширині (від 10 до 490) та у верхній половині по висоті (від 10 до 250).
_____________________________________________
02.05.2021
Тема уроку: "Події в ігровому середовищі. Гра "Космічні атаки"
👉1. Вітаю! Cьогодні продовжуємо працювати із PyGameZero. Як я вказала на минулому уроці, сьогодні маємо виконати ще один тест за матеріалом минулого уроку
👉2. Уважно прочитай наступний матеріал, якщо є можливість спробуй виконати. На попередньому уроці є відео, де покроково пояснено роботу
Додамо до проекту фігуру (корабель прибульців), котра буде рухатись за вказівником миші
WIDTH = 500 HEIGHT = 500 alien = Actor("alien") alien.pos = 100, 56 a = 2 def draw(): screen.clear() alien.draw() def update(): global a alien.left += a if alien.left > WIDTH - 50 or alien.left < 0: a = a * (-1)
Всі події (Interrupt Events), котрі відбуваються на ігровому полі, фіксуються (Event Listener) середовищем Рygame. Настання події може зумовити виконання певного коду, обробника цієї події Event Handler.
Впродовж гри відбувається багато подій: згенеровані рухом мишки, клацанням кнопок мишки, натисканням клавіш на клавіатурі. Кожна із цих подій має певні параметри, які можна використати для обробки цієї події: координати, яку саме кнопку чи клавішу натиснуто тощо.
Координати вказівника миші ми отримуємо у вигляді так званого масиву. До окремих елементів цього масиву (координата X та координата Y) можна отримати доступ за їхнім індексом. Ці координати можна використати для розміщення, наприклад, корабля прибульців:
def on_mouse_move(pos):
ship.left = pos[0]
ship.top = 450
Не забудьте, що ship попередньо необхідно створити у програмі як окремий ігровий об'єкт (Actor).
Доповнення 1
Додамо функцію пострілу: якщо натиснуто кнопку миші, то з корабля прибульців робиться "постріл" кулькою, що летить вгору.
Для програмування використаємо подію
def on_mouse_down(pos):
У ній потрібно зобразити кульку в координатах корабля прибульців.
Далі слід доповнити функцію update, адже кулька має постійно рухатись вгору.
Для коректної роботи програми задайте початкове положення кульки за межами екрану.
Доповнення 2
Додайте до проекту перевірку зіткнення двох об'єктів - кульки з корабля прибульців та початкового персонажа гри. При зіткненні вони повинні зникати.
Перевірка зіткнення виконується командою alien.colliderect(ball) якщо її результатом є True, то зіткнення відбулося.
Доповнення 3
Додайте підрахунок очок, які потрібно виводити командою:
screen.draw.text(str(points), (10, 10), color=(200, 200, 200))
у функції draw()
Перший ігровий проєкт "Прибульці"
👉 1. Вітаю! Cьогодні почнемо розглядати PyGameZero.
!!!опрацювавши матеріал, дай відповіді на питання
👉2.Бібліотека pygame zero входить у пакет редактора: https://codewith.mu/
PyGameZero - це обгортка навколо потужної бібліотеки PyGame для написання відеоігор за допомогою Python для новачків. За допомогою PyGameZero написати розважальну гру надзвичайно просто, буквально за декілька рядків коду.
Для запуску проекту потрібно натиснути Play (для зупинки - Stop, яка замінює Play під час роботи проекту). Доступ до папок із мультимедійними об'єктами забезпечується кнопками Images, Fonts, Sounds, Music.
Підключивши цю бібліотеку, можемо програмувати графічні ігрові програми.
Команди:
WIDTH = 500
HEIGHT = 500
визначають розмір ігрового екрану.
Блок
def draw():screen.fill((128, 0, 0))
Кодування кольорів відбувається у форматі Red,Green,Blue.
Розмістимо зображення кульки за допомогою команди:
screen.draw.circle((50,100), 25, (255, 0, 0))
(50,100) - координати розміщення
25 - радіус
(255, 0, 0) - колір
Звертайте увагу на дужки!
Прямокутник будується наступною командою:
screen.draw.rect(Rect((20, 20), (100, 100)), (255, 0, 0))
Rect((20, 20), (100, 100)) - координати діагоналі прямокутника (20,20) - початок діагоналі, (100,100) - кінець діагоналі. Зверніть увагу на написання команди Rect з великої літери!
(255, 0, 0) - колір.
Замість геометричних фігур можна використовувати спрайти із зображеннями. Наприклад,
alien = Actor('alien')
підключає до проекту файл alien.png (він має бути розміщений у каталозі Images середовища програмування)
Команда
alien.pos = 100, 56
задає координати розміщення цього спрайту.
Додавши команду:
alien.draw()
у функцію def draw(): побачимо відповідне зображення у вказаних координатах
def draw():
screen.clear()
alien.draw()
Для того, щоб спрайт рухався, існує функція update():
def update():
alien.left += 2
if alien.left > WIDTH:
alien.right = 0
У ній вказано, що спрайт має рухатись праворуч (збільшувати відстань від лівого краю сцени на 2 пікселі). Коли (якщо) він досягне правої межі сцени, має переміститись за її лівий край.
Як змусити спрайт натомість "відбитись" від межі?
Потрібна змінна а, яка буде визначати напрямок зміни відстані від лівого краю: якщо є рух праворуч, то потрібно додавати додатнє значення, якщо ліворуч - додавати вже від'ємне значення.
def update():
global a
alien.left += a
if alien.left > WIDTH:
a = a*(-1)
Зверніть увагу, що для можливості зміни значення змінної a всередині функції update(), потрібно зазначити, що ця змінна є глобальною.
https://pygame-zero.readthedocs.io/en/stable/introduction.html
👊3. Завдання:
- законспектуй попередній пункт
- уважно переглянь наступне відео
- виконай опитування💥💥
- ! на наступному уроці буде ДЕТАЛЬНА перевірка матеріалу
_______________________________________________________
18.04.2022
Корисні модулі в мові Python
(частина 2)
👉1. Вітаю! Cьогодні пригадаємо корисні модулі в мові Python та детальніше розглянемо ті, що пропустили.
👉2. Найпоширенішими модулями є:
1) Copy
2) Keyword
3) Random
- randint
- choice
- shuffle
4) Sys
- exit
- stdin
- stdout
5) Time
- asctime
- localtime
- sleep
- Вихід із оболонки за допомогою функції exit.
В залежності від версії, можна отримати повідомлення про помилку |
- Читання з об'єктом stdin.
Одна із відмінностей між функціями input та readline полягає в тому, що через readline можна передати певну кількість знаків, яка буде читатись
- Писання з об'єктом stdout.
- Конвертування дати за допомогою asctime
- Як дізнатися дату і час за допомогою localtime
- Розтягування часу за допомогою функції sleep
Результатом є створення на робочому столі файлу з назвою 'save.dat'. Файл можна відновити об'єкти, які записали у файл.
💥4. Завдання
____________________________________________________
11.04.2022
👉1. Вітаю! Пригадаймо, яку тему ми опрацювали на попередньому уроці? Ми вивчали функції, а також створили програму для обрахунку ваги на Марсі та Місяці:
👉2. Сьогодні ми познайомимось з модулями.
💥!!! Занотуй основне!!!
Модулі застосовуються для групування функцій, змінних та інших елементів мови програмування у більші, потужніші програми.
Деякі модулі вбудовані у Python, а деякі ти можеш завантажити окремо. Ти знайдеш модулі, які допоможуть писати ігри (наприклад, tkinter - вбудований, а PyGame- ні), модулі для маніпулювання зображеннями (наприклад, Pillow) та модулі для малювання тривимірної графіки (як-от Panda 3D).
Приклади модулів:
- Модулями можна користуватися для цілої низки корисних речей. Скажімо, ти пишеш гру - симуляцію і хочеш, щоб світ у грі змінювався реалістично, ти можеш вирахувати поточну дату і час, застосувавши вбудований модуль, який називається time (час):
- Модуль sys містить засоби для спілкування із самою системою Python
👆Найпоширенішими модулями є:
1) Copy
2) Keyword
3) Random
- randint
- choice
- shuffle
- exit
- stdin
- stdout
- asctime
- localtime
- sleep
Розглянемо детальніше.
💢1) Модуль copy містить функції для створення копій об'єктів.
💢2) Модуль keyword
Ключове слово (keyword) Python - це будь-яке слово, яке є частиною самої мови, наприклад, if, else, for... Модуль містить функцію iskeyword та змінну kwlist.
Функція повертає True, якщо стрічка є ключовим словом у мові Python.
Змінна kwlist повертає список усіх ключових слів у мові Python.
Наприклад,
True отримали у результаті, оскільки if є ключовим словом у цій мові програмування |
False отримали у результаті, оскільки ozwald не є ключовим словом у цій мові програмування |
Результатом став перелік ВСІХ ключових слів |
💢3) Модуль random
Даний модуль містить кілька функцій, які можна використовувати для генерування випадкових чисел. Найкориснішими є randint,choice,shuffle.
- Функція randint вибирає випадкове число із заданого діапазону. Наприклад,
- Функція choice використовується для вибору випадкового елемента зі списку. Наприклад, тобі хочеться, щоб Python замість тебе обрав десерт.
- Функція shuffle використовується для перемішування списку
💪3. Залишайся у безпеці!
___________________________________
04.04.2022
_______________________________________________________
28.03.2022
Трохи дивно, чи не так?
А якщо так⇓
Значно компактніше!
Наприклад, якщо тобі потрібно наповнити бочку на 50 л за допомогою відер місткістю 10 л, то ти точно знаєш, що дію потрібно повторити 5 раз (доречний for-цикл). А якщо місткість бочки не відома? Тоді використовуємо while-цикл, тобто ллємо, поки не наповниться.
__________________________________________
21.03.2022
Повторення знань з теми: "Алгоритми і програми"
👉1. Вітаю! Дуже радію, що ти завітав на мій блог. Приємного навчання! Ми маємо намагатися максимально прокачувати свої ІТ-навички, щоб вміти фейки виявити та не піддатися на провокації у мережі.
👉2. У 8 класі ми вивчали мову програмування Python. Давай пригадаємо основні команди:
print - виведення на екран
input - отримання даних від користувача
Розглянь наступний приклад:
______________________________
21.02.2022
_____________________________________
14.02.2022
___________________________
07.02.2022
____________________
31.01.2022
3. Ознайомся з популярними БД. Напиши у формі нижче посилання на відомі тобі бази даних.
Приклади баз даних:
Немає коментарів:
Дописати коментар