diff --git a/ghost.h b/ghost.h new file mode 100644 index 0000000000000000000000000000000000000000..725676953f9c50978f2058d8efa42d5bd495b4b5 --- /dev/null +++ b/ghost.h @@ -0,0 +1,76 @@ + +#infdef ghost.h +#define ghost.h + +#include "given.h" +#include "string" +using namespace std; +class Ghost +{ +public: +Clyde(std::string const &color, Point const &start_pos); +virtual void set_pos(const Point &new_pos); +virtual Point get_scatter(const Point &pos_pacman) = 0; +virtual Point get_chase(const Point &pos_pacman, const Point &dir_pacman) = 0; +virtual Point get_pos(); +virtual std::string get_color()const = 0; +virtual ~Ghost() = default; + + + +private: +std::string color_index +Point position; + +}; + + + +class Clyde +{ + public: +Clyde(std::string const &color, Point const &start_pos); +void set_pos(const Point &new_pos); +Point get_scatter(const Point &pos_pacman); +Point get_chase(const Point &pos_pacman, const Point &dir_pacman); +Point get_pos(); +std::string get_color()const; + + + +}; + + + +class Pinky +{ + public: +Pinky(std::string const &color, Point const &start_pos); +void set_pos(const Point &new_pos); +Point get_scatter(const Point &pos_pacman); +Point get_chase(const Point &pos_pacman, const Point &dir_pacman); +Point get_pos(); +std::string get_color()const; + + + +}; + + + +class Blinky +{ + public: +Bool angry(); +anger_activated(bool state); +Blinky(std::string const &color, Point const &start_pos); +void set_pos(const Point &new_pos); +Point get_scatter(const Point &pos_pacman); +Point get_chase(const Point &pos_pacman, const Point &dir_pacman); +Point get_pos(); +std::string get_color()const; + + + +}; +#endif \ No newline at end of file