#ifndef _INTERPRET_H_ #define _INTERPRET_H_ #include <string> #include "character.h" // // Base Interpret class // class BaseInterpret { public: virtual ~ BaseInterpret(); virtual void action(Character & ch, string parameters); string getCommand(); int getLevelRequired(); protected: string command; int levelrequired; }; #define DECLARE_INTERPRET(A) class A:public BaseInterpret { public: A(); void action(Character & ch, string parameters); } // If you couldn't tell, I really don't like rewriting code. // Please try to keep these in alphabetical order. DECLARE_INTERPRET(InterpretHelp); DECLARE_INTERPRET(InterpretPassword); DECLARE_INTERPRET(InterpretQuit); DECLARE_INTERPRET(InterpretSave); DECLARE_INTERPRET(InterpretSay); DECLARE_INTERPRET(InterpretShutdown); DECLARE_INTERPRET(InterpretWho); #endif