This project is a recreation of the video game Peggle in C#, with an implementation of the genetic algorithm that will learn to beat the first level. Each generation creates multiple instances of the level, each within a separate thread, and displays them running concurrently.
The functions for the genetic algorithm are declared in IGeneticAlgorithm.cs and implemented in PeggleAlgorithm.cs. The PeggleAlgorithm.main() function executes the algorithm.
The other files within the project implement the game itself. LevelComponent.cs tracks a single instance of the level and handles the counting score, detecting if the game is finished, etc.
Game1.cs is the main thread, and handles the updating and drawing of each level to the screen.