Set up GameMaker project from the end of Galaga 1

Here's a GameMaker file (and all our assets) set up with the results of Lesson
1. It will be the starting point for Lesson 2.
Zip up project files and start off the README
Prevent the ship from flying off the screen

I tried to do this a few ways, and this is the one that worked best. The problem
with registering a simple `Outside Room` event like one would expect is that (I
think) the `<Left>` event keeps firing, so we toggle the ship's speed between 0
and 10, and the result is it keeps moving. We could avoid continuing to send
`<Left>`s by checking a `Key Press` instead of a `Keyboard`, but that leads to
funky controls that don't behave the way you'd expect as you fly around.

So though it seems a little clumsy, this approach with the `if`/`else` seems to
work best. Whenever `<Left>` fires, we check if the ship is capable of moving
left (`x >= 10`) or right (`x <= (640 - 32)`) and set the speed to either 10 or
0.

`galaga-final.gmk` contains my progress through the lesson, while `galaga.gmk`
will remain the initial state, which is bundled up in the `zip`.
Make baddies move back and forth

I really wish Game Maker would behave just a little move intuitively and let us
perform a `Reverse Horizontal` upon `Intersect Boundary`, but I can't get that
to work. My guess is the intersect event fires twice before we manage to turn
around, so everyone keeps drifting right.

It works with a little logic in the `Intersect` event. If the intersecting
baddie has `x >= 608`, we can set speed explicitly to the leftwards velocity
(`-3`), and similarly for `x <= 0`.
Don't encourage using their last project file

Just to keep everyone starting from a known state.
Teach baddies to shoot!

The baddies will create a `badMissile` randomly every ~500 steps, however long a
step turns out to be. The missile rockets downward at the same pace as
`goodMissile`, and the ship uses the same `explosion` animation as the baddies
when it collides.
Add image assets used by the tutorial

So they're available while I write, all these are uploaded and referenced at
https://github.com/kristjan/Lesson-Plans/downloads, but here they are for
posterity and future use too.
Leaving the direction blank yielded no results for me. I had to click the 'stop' direction to get it to work.
change "baddieExplosion" to "explosion" to match the instructions
Add "relative" otherwise the missile comes from (0,0) of the document.
Merge pull request #1 from cameronmcefee/galaga_part_deux

Instruction tweaks
Incorporate feedback from a novice

Just watched someone go through it from scratch and added help anywhere there
was a bump.

- Styles on references to actions, events and interface elements are now more
  consistent.
- Lots more screenshots
Update explosion sprite to match object name

Since we're in the habit of naming objects the same thing as their sprites,
just keeping these consistent. Also updates the zip.
Clean up badMissiles when they leave the screen

Unnoticeable unless you do something silly like, say, have every baddie fire a
misile every step, but good to clean up after ourselves.
Add Win and Lose states

When your ship explodes, "Game Over" gets printed. I tried using "Draw Text",
but it was finicky and only drew the plainest text ever.

When you shoot the last baddie, we notice via a "Test Instance Count" and print
"You Win!"

I refactored the pieces responsible for various destructive tendencies. Now when
a baddie goes up in flames, its own `Destroy` event is responsible for creating
the explosion and updating the score. Both missiles is now only responsible for
destroying themself and the thing they hit. That way, we can also have the bad
missile create the Game Over state when it hits the ship, and vise versa for the
good missile and baddies.
Merge branch 'galaga_part_deux'

* galaga_part_deux:
  Add Win and Lose states
  Clean up badMissiles when they leave the screen
  Update explosion sprite to match object name
  Incorporate feedback from a novice
  Add "relative" otherwise the missile comes from (0,0) of the document.
  change "baddieExplosion" to "explosion" to match the instructions
  Leaving the direction blank yielded no results for me. I had to click the 'stop' direction to get it to work.
  Add image assets used by the tutorial
  Teach baddies to shoot!
  Don't encourage using their last project file
  Make baddies move back and forth
  Prevent the ship from flying off the screen
  Zip up project files and start off the README
  Set up GameMaker project from the end of Galaga 1