Read the whole instructions before accepting to work on this project !!!
Your revised game should include the following features:
0. Add 2 numbers of puzzle-room classes. For each puzzle-room class, you should also add appropriate ordinary Room instances, Item instances and new CommandWords as needed. Each puzzle room should, in general, involve at least one new CommandWord, one new Item, one new subclass of Room, and (in most cases) some kind of "state change" to the new room (eg the valve is now turned, the wand is now found) (this does not apply to all rooms, eg the LockedRoom).
1. At least one of your puzzle rooms should have a feature where you cannot leave the room until some action occurs; this is somewhat like SerpentRoom except that there you could leave (GO EAST) in another direction. Possibilities are:
You have to FIGHT the dragon (with a SWORD?)
You have to GIVE the dragon a PRESENT or COOKIE.
There is a cave-in and you have to DIG (with SHOVEL?)
It is a good idea to give the player some kind of hint, before entry, as to what they will need.
2. Add a new subclass to Item, and a puzzle room (included in the list above) where this new subclass is used. For example, you could add a subclass Edible, so the command
works (everywhere) as long as STUFF is Edible. At this point you can add a specific edible, Chocolate, that makes you stronger:
There is a large stone in the middle of the room.
You are too weak to move the stone. Perhaps if you had more energy...
You feel much stronger!
A box_of_jewels is now visible underneath where the stone lay.
The CHOCOLATE should go away after you eat it. Bonus: have it go away after you EAT CHOCOLATE twice, which means that the Edible class must contain a field counting the number of bites remaining.
3. Add an ending to the game: a room that you can only enter if you have collected one or more designated Items and, once you enter, the game is finished.