| 6.170 | Laboratory in Software Engineering
Spring 2000 Problem Set 6 Amendment |
Initial play testers of Gizmoball are clamoring for the ability to go backwards in time and replay a part of their game. Add an "undo" feature, which allows the user to rewind the game by ten seconds by pressing a key in run mode. All elements of the game must return to the previous state. It need not be exactly ten seconds; you are allowed to rewind to a state which occurred between nine and ten seconds earlier. If nine seconds have not passed, you should return the game to its original state.
The user should be able to set and change the undo key in build mode. The user should also be able to choose not to have an undo key at all. The file format is also now amended to include an undo entry:
DefineUndoKey KEYID
So the line
DefineUndoKey 32will set the space bar as the undo key. If no undo entry is found in the input file, GizmoBall does not need to provide the undo function.
Spend some time thinking about the best way to incorporate this change into your design. Be sure to discuss the changes you make to your initial design (and the relevant trade-offs) in your final design write-up. You will be graded on how easily your initial design can support the amendment, and how cleanly you incorporate the amendment into your design.