Artificial Life Simulator
• Manage, run and visualise simulations of artificial life forms in 2D maps.
• The vertical and horizontal dimensions of the map should be user defined parameters.
• Life forms:
Move and sense the environment (sight, smell etc.).
Find and eat food to increase energy stamina level.
Using inheritance several different life forms should be developed.
Some forms may prefer some types of foods over others.
Some forms may have a complex behaviour and organize themselves in social groups or communicate with each other to hunt.
When life forms perform an action (moving, sensing) its energy stamina decreases.
• The environment:
Can contain life forms food entities containing some amount of calories or poison.
Complex food entities may be able to provide a continuous source of food (grass, fruit trees, plants etc.)
Contains obstacles (rocks, trees etc.)
Some objects can be used as protection or changed by life forms.
• All entities and life forms should be shown on the maps by means of icons and images.
Graphical User Interface:
• Based on JavaFX
• Can use Java console (stdin/stdot) only for displaying debugging information
• Has menu with menu items and a toolbar with buttons to control the simulation (start, pause, reset etc.)
• Must be hand-coded my using JavaFX API directly.
• Organized in 5 Menus as shown in Image 1.
• You can make design choices about menu items as long as you describe it in the design section.
• The code should make use of either an abstract class or an interface.
• Genetics must be used through the code.
Animation: you can use any method as long as you use JavaFX