Exercises
To help Steve apply recursion concepts to his tower defense game, Julia prepared three coding challenges. Let’s see if you can help Steve solve them!
Exercise 1
Steve’s game has a hierarchical structure of enemy waves, where each wave can contain both individual enemies and sub-waves. Implement a recursive function, CountAllEnemies, that navigates through a Wave object (which can contain both Enemy objects and Wave objects) and returns the total count of enemies found within that wave, including all its sub-waves:
public interface IWaveContent {}
public class Enemy : IWaveContent
{
public string Name { get; set; }
}
public class Wave : IWaveContent
{
public List<IWaveContent> Contents { get; set; } = new();
}
// Implement this method
int CountAllEnemies(Wave wave)
{
// Your recursive logic here
} Test your method with a Wave containing a mix of Enemy objects...