Finish Option class. This is the base class for the abstract objects representing options offered by finishGame.
class
FinishOption : object
The description, as displayed in the list of options. For the default English messages, this is expected to be a verb phrase in infinitive form, and should show the keyword accepted as a response in all capitals: "RESTART", "see some AMUSING things to do", "show CREDITS".
By default, the item is listed. If you want to create an invisible option that's accepted but which isn't listed in the prompt, just set this to nil. Invisible options are sometimes useful when the output of one option mentions another option; for example, the CREDITS message might mention a LICENSE command for displaying the license, so you want to make that command available without cluttering the prompt with it.
Carry out the option. This is called when the player enters a response that matches this option. This routine must perform the action of the option, then return true to indicate that we should ask for another option, or nil to indicate that the finishGame() routine should simply return.
Match a response string to this option. Returns true if the string matches our response, nil otherwise. By default, we'll return true if the string exactly matches responseKeyword or exactly matches our responseChar (if that's non-nil), but this can be overridden to match other strings if desired. By default, we'll match the response without regard to case.