Critter World

CS 2112: Honors Object-Oriented Design & Data Structures

Java, 2019

Critter World is a simulation of critters defined by programs written in Java for a CS2112 final project. Critters can move around a hexagonal world, eat manna, attack other critters, spawn new critters, and mate with other critters. The behavior of critters is determined by their program, which can mutate and chage as they mate and spawn new critters. Critter world includes a functional GUI created using JavaFX.

This project involved writing a parser and interpreter for critter programs, writing a simulator that simulated the world and ran critter programs, writing a GUI, and finally, writing a networked, distributed version of the same program, where a simulation was run on a server and any number of clients could connect to that server to view and modify the world.

*source code unavailable due to academic integrity