У файлі main.py ми додаємо два меню: одне для випадку, коли гравець перемагає, і друге — коли програє. Меню перемоги відображає повідомлення про успіх та пропонує перезапустити гру або вийти. Меню програшу, у свою чергу, показує повідомлення про завершення гри та надає ті ж опції для вибору. Ці меню створюють завершеність ігрового процесу та покращують взаємодію користувача з грою.
Функція update: Ця функція оновлює всі об'єкти гри (спрайти) і перевіряє, чи виконані умови для перемоги.
Функція check_victory: Ця функція перевіряє, чи знищені всі вороги. Якщо так, викликає меню перемоги.
Функція game_over_menu: Ця функція відображає меню поразки, яке включає текст "Гра Закінчена", кнопку для перезапуску гри, кнопку для виходу, і обробляє події клавіатури та миші для взаємодії.
Функція victory_menu: Ця функція відображає меню перемоги, яке включає текст "Ви Перемогли!", кнопку для перезапуску гри, кнопку для виходу, і обробляє події клавіатури та миші для взаємодії.
Цей файл майже не зазнав змін, лише додаємо виклик функції self.game.game_over_menu() у функції damage() в класі Player.
Вітаю! Ви щойно створили свою першу повноцінну гру – це круте досягнення! Тепер у вас є всі необхідні знання, щоб експериментувати, створювати власні ігрові світи та реалізовувати найсміливіші ідеї. Те, що ви освоїли сьогодні, — це лише початок вашого шляху як творця ігор. Хто знає, можливо, саме ваша наступна гра стане справжнім хітом! 🚀🎮
Ви можете знайти повну версію коду нашої гри на GitHub за посиланням. Тут ви знайдете всі файли проекту та зможете детально ознайомитись з реалізацією.
Наступний етап вашого навчання — вдосконалення вашої гри. Ознайомтеся зі списком запропонованих доповнень, оберіть щонайменше 5 ідей зі всіх категорій та інтегруйте їх у ваш проект. Ви також можете додати власні креативні ідеї. Після завершення надішліть оновлені версії гри на electro00727@gmail.com та обов’язково вкажіть, які саме доповнення ви реалізували.
1. Особливості ворогів:
Вогняний ворог: при влучанні завдає додатковий урон з ефектом горіння (гравець отримує урон протягом кількох секунд).
Льодовий ворог: уповільнює швидкість гравця на кілька секунд після влучання.
Отруйний ворог: завдає поступового урону та знижує швидкість на короткий час.
Різні рівні здоров'я ворогам: деякі можуть бути слабшими, але швидшими, а інші — міцнішими та повільнішими.
Вороги з щитами: вороги, які можуть блокувати певну кількість атак перед отриманням урону.
2. Перешкоди та навколишнє середовище:
Лава: діє як небезпечна зона; якщо гравець торкнеться лави, він або починає горіти, або моментально вмирає.
Слиз: тимчасово уповільнюють гравця при проходженні.
Зачинені двері: двері до певних кімнат, для яких необхідно знайти ключ, щоб продовжити шлях.
3. Предмети:
Еліксир опору: тимчасово захищає від певного типу урону (наприклад, від вогню чи отрути).
Пастки: якщо гравець наступає на пастку, він отримує урон чи стає паралізованим на декілька секунд.
Ключі: потрібні для відкриття дверей до певних кімнат.
Різні типи патронів: вогняні патрони підпалюють ворогів і завдають додатковий урон з часом, льодові патрони заморожують ворогів і сповільнюють їх рухи, а патрони блискавки завдають електричного удару, який може передаватися іншим ворогам поблизу.
4. Рівні складності:
Декілька рівнів: кожен рівень містить більше ворогів, перешкод або нові механіки, такі як таймери на виконання завдань.
Додавання боса: наприкінці рівня з унікальними здібностями (наприклад, босс, який викликає хвилі ворогів чи випускає лаву).
5. Патрони та боєзапас:
Обмежена кількість патронів: кількість патронів обмежена і їх можна поповнювати, знаходячи відповідні предмети.
Меч: додайте зброю для ближнього бою, яка дозволяє гравцеві атакувати ворогів на короткій відстані.
6. Додаткові функції карти:
Телепорти: створення порталів, які випадково переміщують гравця в іншу частину карти.
Елементи-підсилювачі: предмети, які тимчасово підсилюють атаку, швидкість або захист гравця.
Вітаю, розробнику! 🎮 Ти успішно завершив курс створення гри, і в нас є для тебе останнє міні-завдання - пройти невелике опитування. Твої відповіді допоможуть зробити курс ще цікавішим!