Skip to content

An app created for Object Oriented Programming Java course on AGH UST.

Notifications You must be signed in to change notification settings

zfurtak/evolution-simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Evolution Simulation

Description

This app was created for Object Oriented Programming course on AGH UST. Evolution simulation was created in Java using JavaFX UI library.

General rules

  • Each animal has genome containing 32 numbers from 0 to 7 (numbers represent directions, so the whole genome shows probability of animal's movement)
  • The animal dies if its energy reaches 0, to survive it has to gain energy by eating plants randomly placed on the map
  • Animals can reproduce, if their energy is above 50% of initial energy level
  • The resulting child has its genome generated based on genomes and energy levels of the parent
  • Reproducing and moving cost the animal energy

Configurations

At the start of simulation user can choose options which determine evolutionary run.

image

Types

The app provides 2 different types of map:

  • Rolled map - animal is moved onto the other side when runs into edge of the map
  • Map with borders - animal is stopped if runs into the edge of the map

Other functionality

The app can also:

  • Graph the simulation statistics in real time
  • Show most common genome currently on the map and mark animals with it
  • Select a specific animal by clicking on it and show its genome
  • Save simulation statistics to a .csv file

Gameplay demo

GIF 13 04 2022 13-55-05

Requirements

The application was created based on requirements posted here:

https://github.com/apohllo/obiektowe-lab/tree/master/proj1

About

An app created for Object Oriented Programming Java course on AGH UST.

Resources

Stars

Watchers

Forks

Packages

No packages published