1#ifndef ABSTRACTFACTORY_H
2#define ABSTRACTFACTORY_H
33 virtual std::shared_ptr<PacmanModel>
createPacMan(
float x,
float y,
float mapWidth,
float mapHeight) = 0;
43 virtual std::shared_ptr<ChasingGhost>
createBlinky(
float x,
float y,
float mapWidth,
float mapHeight) = 0;
53 virtual std::shared_ptr<AmbushGhost>
createPinky(
float x,
float y,
float mapWidth,
float mapHeight) = 0;
63 virtual std::shared_ptr<AmbushGhost>
createInky(
float x,
float y,
float mapWidth,
float mapHeight) = 0;
73 virtual std::shared_ptr<RandomGhost>
createClyde(
float x,
float y,
float mapWidth,
float mapHeight) = 0;
83 virtual std::shared_ptr<WallModel>
createWall(
float x,
float y,
char type) = 0;
91 virtual std::shared_ptr<CoinModel>
createCoin(
float x,
float y) = 0;
99 virtual std::shared_ptr<FruitModel>
createFruit(
float x,
float y) = 0;
Interface for creating game entities.
Definition AbstractFactory.h:21
virtual std::shared_ptr< WallModel > createWall(float x, float y, char type)=0
Creates a Wall entity.
virtual std::shared_ptr< FruitModel > createFruit(float x, float y)=0
Creates a Fruit entity.
virtual ~AbstractFactory()=default
virtual std::shared_ptr< PacmanModel > createPacMan(float x, float y, float mapWidth, float mapHeight)=0
Creates a Pacman entity.
virtual std::shared_ptr< AmbushGhost > createInky(float x, float y, float mapWidth, float mapHeight)=0
Creates a AmbushGhost entity (Inky's chasing personality).
virtual std::shared_ptr< ChasingGhost > createBlinky(float x, float y, float mapWidth, float mapHeight)=0
Creates a ChasingGhost entity (Blinky's chasing personality).
virtual std::shared_ptr< AmbushGhost > createPinky(float x, float y, float mapWidth, float mapHeight)=0
Creates a AmbushGhost entity (Pinky's chasing personality).
virtual std::shared_ptr< CoinModel > createCoin(float x, float y)=0
Creates a Coin entity.
virtual std::shared_ptr< RandomGhost > createClyde(float x, float y, float mapWidth, float mapHeight)=0
Creates a RandomGhost entity (Clyde's chasing personality).
Definition Difficulty.h:6