The Darwin Simulation project is a Java-based application that simulates the evolution of creatures inspired by the principles of Charles Darwin's theory of natural selection. With user data validation and tests implemented in JUnit. Created by:
Menu provides configuring parameters in a simulation environment. The menu is organized into sections for:
- map settings,
- plant settings,
- animal settings
Notably, the configuration section allows users to save and load settings, choose whether to save logs to CSV, set log names, and specify a move delay for the simulation.
If required field is empty or given data is invalid then user is informed about that with AlertBox and specified error message.
simulation interface with visualizations for animal and plant counts, a grid for the simulation map, and statistics on current simulation state. It includes controls for pausing/resuming, starting, and toggling the display of preferred settings and the best animal. Legend:
- Blue animal - >75% of max energy
- Orange animal - >25% of max energy
- Red animal - >0% of max energy
- Black animal - 0% energy
Example view of running simulation with followed animal:
Highlighted Preffered fields for plant growth:
White animal is higlighted as 'Best Animal':
The tests for the system aim to ensure the correctness, reliability, and robustness of the implemented functionalities. Test cases cover a variety of scenarios, including normal use cases, edge cases, and potential error conditions. The testing strategy involves unit tests and integration tests.






