Урок 39. Space Invaders 9 — sprites, звук і polish
Урок 39. Space Invaders 9 — sprites, звук і polish
Section titled “Урок 39. Space Invaders 9 — sprites, звук і polish”Тривалість: 45–60 хв Рівень: Game Developer
🎯 Місія
Section titled “🎯 Місія”Додай sprites, звуки, стартовий екран і власну механіку.
🧠 Ключова ідея
Section titled “🧠 Ключова ідея”laser_sound = pygame.mixer.Sound("assets/laser.wav")laser_sound.play()💡 Пояснення простою мовою
Section titled “💡 Пояснення простою мовою”Після того як гра працює — треба зробити її красивою та приємною. Sprites замінюють квадрати на картинки, а звуки роблять гру «живою».
💡 Аналогія: Як прикрасити літак-паперець: спочатку зібрав, а потім розфарбував, додав стікери та зробив «вввж-вввж» звуками. Тепер він не просто літає — він вражає.
🧩 Розбираємо по рядках
Section titled “🧩 Розбираємо по рядках”pygame.mixer.Sound("assets/laser.wav")— завантажуємо звуковий файл;.play()— програємо звук один раз.
Порядок дій у цьому уроці
Section titled “Порядок дій у цьому уроці”graph LR
A["1. Sprites<br/>замінити rect<br/>на картинки"] --> B["2. Звуки<br/>лазер, вибух,<br/> фонова музика"]
B --> C["3. Стартовий екран<br/>'Натисни SPACE<br/>щоб почати'"]
C --> D["4. Power-up<br/>власна механіка"]
✏️ Основні завдання
Section titled “✏️ Основні завдання”- Додай sprites.
🙋 Підказка: створи папку
assets/, поклади туди PNG-картинки. Завантажуй черезpygame.image.load(...).convert_alpha(). - Додай звуки.
🙋 Підказка:
laser_sound = pygame.mixer.Sound("assets/laser.wav")і.play()при пострілі. - Стартовий екран.
🙋 Підказка: до початку game loop покажи текст “Press SPACE to start” і чекай подію
K_SPACE. - Власний power-up. 🙋 Підказка: подумай, що цікавого може трапитися — швидша стрільба, щит, подвійна куля?
⭐ Challenge
Section titled “⭐ Challenge”Додай shield, rapid fire або інший power-up.
🧪 Перед запуском
Section titled “🧪 Перед запуском”Хоча б раз за урок спробуй передбачити результат коду до запуску. Після запуску порівняй прогноз із реальністю.
🐞 Debug Mission
Section titled “🐞 Debug Mission”Навмисно зламай одну частину програми. Прочитай traceback або спостережи неправильну поведінку, знайди причину й виправ її.
✅ Урок завершено, якщо Марко може
Section titled “✅ Урок завершено, якщо Марко може”- пояснити головну ідею своїми словами;
- виконати основні завдання без копіювання готового рішення;
- змінити програму під нову вимогу;
- знайти й виправити хоча б одну власну помилку.
🏠 Домашня місія
Section titled “🏠 Домашня місія”Покращ Challenge однією власною ідеєю. Перед кодом сформулюй її одним реченням.
💡 Підказка для дорослого
Section titled “💡 Підказка для дорослого”Не виправляйте код одразу. Краще запитайте: «Що ти очікував? Що сталося? Який рядок за це відповідає? Що можна перевірити?»