diff --git a/Uppgift-3-Spel/ghost.h b/Uppgift-3-Spel/ghost.h new file mode 100644 index 0000000000000000000000000000000000000000..34c6f6c192120bbefce67f5554ce10218e36282a --- /dev/null +++ b/Uppgift-3-Spel/ghost.h @@ -0,0 +1,74 @@ + +#include "given.h" +//#include "given.h" +#include "string" +using namespace std; +class Ghost +{ +public: +Ghost(std::string const &color, Point const &start_pos); +virtual void set_pos( 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; + + + +public: +std::string color_index; +Point pos; + +}; + + +class Clyde: public Ghost + +{ + public: +Clyde(std::string const &color, Point const &start_pos); +void set_pos(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 Ghost + +{ + public: +Pinky(std::string const &color, Point const &start_pos); +void set_pos(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 Ghost +{ + public: +bool angry(); +void anger_activated(bool state); +Blinky(std::string const &color, Point const &start_pos); +void set_pos(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; + + + +};