Skip to content
Snippets Groups Projects
Commit 8a4940fb authored by Alrik Appelfeldt's avatar Alrik Appelfeldt
Browse files

Upload New File

parent c91bdf67
No related branches found
No related tags found
No related merge requests found
#ifndef GHOST_H
#define GHOST_H
#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 get_angry();
void set_angry(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;
private:
bool angry = false ;
};
#endif
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment