Skip to content

Урок 37. Space Invaders 7 — життя, score та UI

Урок 37. Space Invaders 7 — життя, score та UI

Section titled “Урок 37. Space Invaders 7 — життя, score та UI”

Тривалість: 45–60 хв Рівень: Game Developer

Додай lives, score та ігровий HUD.

lives = 3
score = 0
level = 1

💡 Пояснення простою мовою

Section titled “💡 Пояснення простою мовою”

HUD — це панель зверху, де показано, скільки у нас життів, очок і який рівень. Ці змінні змінюються під час гри, але завжди видні на екрані.

💡 Аналогія: HUD — це як табло на стадіоні: рахунок, час, номер команди. Гравець завжди бачить «свій стан».

🧩 Розбираємо по рядках

Section titled “🧩 Розбираємо по рядках”
  • lives = 3 — у гравця 3 життя, при попаданні ворожої кулі мінус одне;
  • score = 0 — лічильник очок;
  • level = 1 — номер поточного рівня.

Щоб показати текст на екрані

Section titled “Щоб показати текст на екрані”
font = pygame.font.Font(None, 36)
score_text = font.render(f"Score: {score}", True, (255, 255, 255))
screen.blit(score_text, (10, 10))
  1. Покажи score. 🙋 Підказка: створи шрифт через pygame.font.Font(None, 36) та малюй render(...) кожен кадр.
  2. Покажи lives. 🙋 Підказка: аналогічно score, тільки текст f"Lives: {lives}".
  3. Collision з Player. 🙋 Підказка: enemy_bullet.colliderect(player.rect) → lives -= 1.
  4. Game Over при 0 lives. 🙋 Підказка: if lives <= 0: running = False або покажи екран “GAME OVER”.

Додай high score.

Хоча б раз за урок спробуй передбачити результат коду до запуску. Після запуску порівняй прогноз із реальністю.

Навмисно зламай одну частину програми. Прочитай traceback або спостережи неправильну поведінку, знайди причину й виправ її.

✅ Урок завершено, якщо Марко може

Section titled “✅ Урок завершено, якщо Марко може”
  • пояснити головну ідею своїми словами;
  • виконати основні завдання без копіювання готового рішення;
  • змінити програму під нову вимогу;
  • знайти й виправити хоча б одну власну помилку.

Покращ Challenge однією власною ідеєю. Перед кодом сформулюй її одним реченням.

💡 Підказка для дорослого

Section titled “💡 Підказка для дорослого”

Не виправляйте код одразу. Краще запитайте: «Що ти очікував? Що сталося? Який рядок за це відповідає? Що можна перевірити?»