#ifndef GAMEPLAY_H #define GAMEPLAY_H #include #include "Level.h" #include "PacMan.h" #include "Enemy.h" #include "Bonus.h" #include "EnemyReward.h" #include "constant.h" using namespace std; class Gameplay { Level currentLevel; PacMan player; Enemy monster[4]; Bonus fruit; EnemyReward reward[4]; int enemiesConsumed; int cagePosition; RLE_SPRITE *rleBonus; int dots; bool energyShown; int framesRendered, energyAttained, energyExpires; void flood(int map[boardW][boardH], int x, int y, int value); public: Gameplay(Level &desiredCurrentLevel, RLE_SPRITE *desiredRleBonus) : currentLevel(desiredCurrentLevel), player(this), fruit(this, true), enemiesConsumed(0), cagePosition(0), rleBonus(desiredRleBonus), energyShown(true), framesRendered(0), energyAttained(-2), energyExpires(0) { monster[blinky] = Enemy(this, blinky); monster[pinky] = Enemy(this, pinky); monster[inky] = Enemy(this, inky); monster[clyde] = Enemy(this, clyde); for (int i = 0; i < 4; i++) reward[i] = EnemyReward(0, 0, i, false); } Level* getLevelPointer(); PacMan* getPlayerPointer(); int getCagePosition(); RLE_SPRITE* getRleBonus(); bool energized(); void installTimers(); void uninstallTimers(); bool parse(); void play(); void drawActors(); void drawGame(); }; #endif