PART ONE
TERRAIN

SETTING UP THE PROJECT

A NOTE ON YOUR NOTES
This first section will provide a lot of direct code examples to get you set up!  As the project moves onward, you'll be doing a lot more on your own.

Setting Up A New Project

Making Packages

PROJECT ORGANIZATION

Composition "has-a"

Inheritance  "is-a"

Terrain

Dirt and Grass

Cell

WATCH OUT
Did you write the accessor methods requested above?  Note that not all of the code will be provided!

World

Since this is a graphical program, these names can be clearer than using rows and columns to help us visualize the positions of cells

Game

CHECKPOINT
At this point, your code should compile.  When you run it... you'll get a blank screen.  Let's make things more exciting.

DISPLAYING THE WORLD

Setting Cell Size


Note that this will distort the ratios on other resolutions.  This is okay for simplicity here - your project only needs to look good on the school computers.

The Render Chain


Woah, that's a lot of work for to just draw a few squares!  Why so many layers?


As this project goes on, each of these layers will be responsible for multiple jobs.  Be patient, this will pay off!

Hardcoding Starting Terrain

CHECKPOINT
Run your code... at this point, we' should now be able to see