Assignments Office Hours Hall of Fame Notes
Assignments Office Hours Hall of Fame Notes

Serious Snakes

Assigned: 2019-11-06
Due Date: 2019-11-12 by 11:59PM U.S. Central Time

Snaaake a snake oh it's a snake

— https://www.youtube.com/watch?v=NL6CDFn2i3I

Your templated linked list was exceptional, but your boss was less than pleased that you hadn't implemented an entire cloud computing platform on your own yet, so unfortunately, Minisoft has given you the boot (and kept your linked list code for themselves.) Aw man!

We know just what would make this situation better — video games! And what better video game to play than one of the classics: Snake! We've got a version of Snake that we wrote ourselves, but it's got some problems: maybe you can use your newly-acquired free time (and linked list code) to help us out?

Assignment Spec

Part 0: Getting Started

Get your copy of the repository here: https://classroom.github.com/a/saySZqdb

This is not a CLion+CMake project! You will need to use the openFrameworks Project Generator to set up this project and get it compiling/running in your IDE (XCode, Visual Studio, etc.) You can download openFrameworks here (Note: macOS users may need to download the nightly version at the bottom of the downloads page). Also, see this guide for help on using Visual Studio / Xcode.

Part 1: Serious Snakes

Once you have your IDE set up and openFrameworks installed, you'll need to get our Serious Snakes application working. All you need to do is copy over your ll.h and ll.hpp files from last week. Any other documentation you might need can be found in the code comments, the README.md, and the openFrameworks documentation on the openFrameworks website.

Part 1b: Extra Credit

You can receive extra credit for refactoring the snake application to use the templated linked list where the application currently uses the implicit linked list.

You can also receive extra credit for extending the Serious Snakes application in any interesting way. The more significant and interesting the extension the more points you can receive; in general, each hour of additional work is a point of extra credit. (Some things to consider: adding sound or more interesting graphics to the snake game)

Part 2: Final Project Proposal

The other part of this week's assignment will be to write a brief proposal on what you would like to do for your final project.

After this week's assignment, you will begin working on your final project! You will be making a C++ application that leverages openFrameworks to do something interesting — and you get to choose what you want to make! The concrete requirements for your final project are:

We expect this project to take you about 4 weeks of development time in total, with each week requiring about as much work as one of our assignments, so keep that in mind when thinking about the scope of your project.

Your proposal should go in the PROPOSAL.md file in the provided repository. It should be roughly 3-4 paragraphs long and include the following information:

Your moderator will be responsible for approving or requesting changes to your proposal before you can begin working on your final project, but it's O.K. if you change your mind on some of these details later.

Make sure you read the guide on Markdown so that you can properly format your proposal.

Grading and Deliverables

This is not a coding-heavy assignment; we expect most of your time to be spent on getting your IDE set up with openFrameworks, and writing your proposal. Spend the time now troubleshooting your build environment, rather than later!