Skip to content

WerWojtas/Darwin_Simulation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

214 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Darwin Simulation

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

Simulation parameters

Menu provides configuring parameters in a simulation environment. The menu is organized into sections for:

  • map settings,
  • plant settings,
  • animal settings

Config & Logs

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.

Validation

If required field is empty or given data is invalid then user is informed about that with AlertBox and specified error message.

Simulation

Game

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

Following Animal

Example view of running simulation with followed animal:

Prefferd Fields

Highlighted Preffered fields for plant growth:

Best Animal

White animal is higlighted as 'Best Animal':

Tests

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.


About

Darwin Simulation Project in Java with JavaFX GUI and Multithreading

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 100.0%