Created by: Carrie Chen, Anne Xia, Hao Huan Li, and Francis Lau for CS2112 at Cornell University
This project was the culmination of three parts:
A4: Parsing and Fault Injection
- a recursive descent parser to store programs in the critter language into an Abstract Syntax Tree
A5: Interpretation and Simualtion
- an interpretor and simulator capable of executing critter programs
A6: GUI and Multitrheading
- a GUI to vizualize and interact with the critter simulations
The final product is a simulated display of self-evolutionary artificial life forms (critters) capable of interacting with each other and the environment. We followed a variety of design patterns, such as the Vistor, the MVC, etc... to ensure separation of concerns in our work, where the world simulation becomes the model, and we implement a new view and controller for the app. More information on the project is available under project specs
Note: As per Cornell University's Academic Integrity Policy, we are unable to share any of our implementations of the solution nor code to the project. This repository serves as a demonstration to some of our proudest design choices on the Graphical User Interfaces and shed some insights on the datastructures involved
Video of a simulation running at 100 steps per second

