Pacman Torben Petré
Loading...
Searching...
No Matches
AbstractFactory.h
Go to the documentation of this file.
1#ifndef ABSTRACTFACTORY_H
2#define ABSTRACTFACTORY_H
3
7#include "PacmanModel.h"
8#include "FruitModel.h"
9#include "WallModel.h"
10#include "CoinModel.h"
11
12
13namespace logic {
14
22 public:
23 virtual ~AbstractFactory() = default;
24
33 virtual std::shared_ptr<PacmanModel> createPacMan(float x, float y, float mapWidth, float mapHeight) = 0;
34
43 virtual std::shared_ptr<ChasingGhost> createBlinky(float x, float y, float mapWidth, float mapHeight) = 0;
44
53 virtual std::shared_ptr<AmbushGhost> createPinky(float x, float y, float mapWidth, float mapHeight) = 0;
54
63 virtual std::shared_ptr<AmbushGhost> createInky(float x, float y, float mapWidth, float mapHeight) = 0;
64
73 virtual std::shared_ptr<RandomGhost> createClyde(float x, float y, float mapWidth, float mapHeight) = 0;
74
83 virtual std::shared_ptr<WallModel> createWall(float x, float y, char type) = 0;
84
91 virtual std::shared_ptr<CoinModel> createCoin(float x, float y) = 0;
92
99 virtual std::shared_ptr<FruitModel> createFruit(float x, float y) = 0;
100 };
101}
102
103
104#endif //ABSTRACTFACTORY_H
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