#ifndef OBJECTS_H #define OBJECTS_H #include #include "messages.h" class Cell; class Torch; class BallOfString; class Club; using namespace std; class BallOfString { public: void save_location(Cell* cell); void tie_string() { tie_sw = true;} bool untie_string(); Cell* get_location(); private: stack hold_location; bool tie_sw; }; class Cell { public: Cell(char ladder=NULL, bool ex=false);//ex = exit, ladder = u, d, or l void setDescription(MSG m) {description = m;} const char* getDescription() { return select_message(description);} private: Club* club; BallOfString* ball_of_string; Torch* torch; bool compass; bool exit_sw; //is this the exit? char ladder_type; //d for down, u for up, l for both, NULL for none. MSG description; // value is an enumerated item }; class Club { public: size_t getStrength() {return strength;} size_t getWeight() {return weight;} private: size_t strength, weight; }; class Torch { public: void LightTorch() { lit_sw = true;} bool isLit() { return lit_sw;} private: bool lit_sw; }; #endif