Skip to content

04jono/critter-world-writeup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Critter World

This stub repository is a write-up for our CS 2112 project Critter World. For reasons of academic integrity, the source code cannot be published publicly.

Team

Jonathan Chen

Žiga Kovačič

Luke Tao

Implementation

Approximately 8000 lines of Java source code were written from scratch.

Our first task was to design and implement a recursive descent parser for the grammar of a "critter" programming language specified in the project spec below.

Project spec: https://www.cs.cornell.edu/courses/cs2112/2022fa/project/project.pdf?1668394201

We then had to develop an interpreter for the critter programming language. These interpreted programs defined the behavior of critters in a simulated world.

Finally, we designed a modern GUI in JavaFX to allow the user to interact with the world. Features included zooming, panning, and intuitive controls for clicking on critters and fast-forwarding the world simulation.

In all, we implemented the parser and interpreter for a novel programming language, and developed a modern and user-friendly UI for the game based on the critter language.

Images

Example world with critters and food. The color scheme and theming is based on the food onigiri.

Screenshot

Interface when a critter is clicked, displaying its attributes and its program DNA.

Screenshot

Example large world with obstacles.

Screenshot

About

Writeup for CS2112 Critter World Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published