Skip to content

jeh362/CritterWorld

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 

Repository files navigation

Critter World

Unfortunately, the academic integrity policies at Cornell University prohibit making source code from course projects publically available. However feel free to contact me, if you find this project interesting and wish to view the source code!

CritterWorld is a project in Java that simulates a world of small critters. These critters can move, eat, grow, attack each other and even mate with other willing critters. Critters are also able to sense the nearest piece of food with a “smell” command, implemented with a modified version of Dijkstra's shortest path algorithm.

Each critter follows a “Critter Program” that determines how the critter will behave in the world. This program is written in the “Critter Language”—a context-free grammar—defined by the course staff which can be found in the detailed project spec below. As part of the project, I wrote the parser and interpreter for this critter language. New critters created from mating of budding inherit the critter program from their parents with a slight chance of mutation—implemented using fault injection in the abstract syntax trees constructed by the interpreter of the critter language. The GUI was built in JavaFX.

More details about the project can be found here: https://www.cs.cornell.edu/courses/cs2112/2022fa/project/project.pdf?1668394201

Screenshots of our Critter World's UI are displayed here:

image

image

image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published