You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Open the BuildWindows folder and launch Programming Theory Project.exe.
🎮 Controls
Key
Action
W A S D
Move
SPACE
Jump
LEFT CLICK
Attack
V
Change Camera View
📸 Screenshots
Main Menu
Controls
First-Person View (Wave 1)
Third-Person View (Wave 1)
Multiple Skeleton Enemies (Wave 2)
Health Pickup
Orc Enemy (Wave 3)
Death Screen
🧠 OOP Implementation
Inheritance:PlayerHealth and EnemyHealth inherit from HealthManager; PlayerAttack and EnemyAttack inherit from AttackManager
Polymorphism:PlayerAttack and EnemyAttack override the virtual Attack() method with unique behavior; TakeDamage() is overridden in PlayerHealth to update UI
Abstraction:WaveManager spawns waves without exposing details; ChasePlayer handles enemy AI logic; MeleeAttackHandler manages combat without exposing internals
Encapsulation:Health property in HealthManager uses a private _health field with protected getter/setter to control access and prevent invalid states
🛠️ Built With
Game Engine: Unity (2021.3.9f1)
Scripting Language: C#
Course: Unity Junior Programmer Pathway (Submission: Programming Theory in Action)