Передумови
Скачайте даний проєкт та працюйте у ньому.
Основне Завдання
Використовуйте результат минулої практичної (theme-19-base.zip) як основу.
Додайте інтерфейс IDamagable та структуру DamageInfo (Code/Objects), та переробіть EnemyCrab та Player - так, як показано в теорії.
Оновіть GameManager.
Головна вимога: зовнішня поведінка гри не повинна змінитись - той самий стрибок на голову вбиває краба, той самий дотик до краба збоку шкодить гравцю, той самий HUD і DeathMenu спрацьовують як і раніше.
Завдання 2
Додайте новий об'єкт, що реалізує IDamagable, але не є ворогом чи гравцем - наприклад, розбивний ящик чи вазу (StaticBody2D або Area2D), який зникає з рівня після одного контакту з гравцкем.
Завдання 3
Підпишіться на власну подію EnemyCrab.Damaged всередині самого EnemyCrab (наприклад, коротке мигання спрайту через Modulate).
Завдання 4
Спробуйте зберігати посилання на гравця в GameManager як IDamagable замість Player там, де конкретний тип Player насправді не потрібен (наприклад, у самій підписці на Damaged/Died) - і поясніть собі, чому там, де потрібне HP для HUD, від Player все одно нікуди не подітися (або доповніть IDamagable щоб уникнути цієї проблеми).
build info
- compiler
- 2.0.5.1 · 4054EF9BF6C4510A
- built
- 2026-11-08 14:31:25 UTC
WebUniverse