Coursework submission for the class Advanced Programming, undertaken as part of my masters degree MSc Software Development from University of Glasgow in Feb 2017.
The task was to design and implement a 2 dimensional cellular automata system in the form of a 'grid world' populated by two species of 'creature'.
The assignment had the following requirements:
- Must be implemented in Java;
- Must run from command line;
- Each species has its own maximum lifespan and fitness score;
- Each creature must run on its own thread;
- At the end of a creature's life, it must re-produce then die according to various rules
- The system must handle two edge cases:
- Edges of grid are edges of the world;
- World 'wraps around' grid.
I implemented the program using emojis (in a battle-of-the-sea kinda theme) and very basic user interaction. I got an ⭐️A1⭐️ for this project.
Run this program by compiling all the classes and then running the TestWorld class:
javac *.java
java TestWorld
When it launches, you'll be prompted to choose the edge case:


