The contest to submit working code for this lab is now closed. Congratulations to Neil Hughes from Wirral, England! You can still send in creative alternatives, though—see these details.
The Spec: Build an Adventure Game
Your job is to build an adventure game where a mighty adventurer
is on a quest to defeat level after level of deadly enemies. You'll
build a turn-based system, which means the player makes
one move and then the enemies make one move. The player can
move or attack, and then each enemy gets a chance to move and
attack. The game keeps going until the player either defeats all the
enemies on all seven levels or dies.
The player picks up weapons...
There are weapons and potions scattered around the
dungeon that the player can pick up and use to defeat his
enemies. All he has to do is move onto a weapon and it
disappears from the floor and appears in his inventory.
A black box around a weapon means it's currently
equipped. Different weapons work differently—they have
different ranges, some only attack in one direction while
others have a wider range, and they cause different
levels of damage to the enemies they hit.
...and attacks enemies with them
Every level in the game has a weapon that the player can
pick up and use to defeat his enemies. Once the weapon's
picked up, it should disappear from the game floor.
Higher levels bring more enemies
There are three different kinds of enemies: a bat, a ghost, and
a ghoul. The first level only has a bat. The seventh level is the
last one, and it has all three enemies.
You'll find the class diagrams, method declarations, architecture overview, and everything else you'll need to build Lab #2 in Head First C#.