diff --git a/headers/game.h b/headers/game.h index 024f467..50ac457 100644 --- a/headers/game.h +++ b/headers/game.h @@ -45,11 +45,12 @@ private: void displayAll(unsigned fps) const; void displayGod() const; void displayInvader(const Position& basePos, InvaderType type) const; + void displayHearts(playerID) const; // managers void managePlayers(); - void manageOnePlayer(unsigned); + void manageOnePlayer(playerID); bool manageInvaders(); // collision things diff --git a/headers/pixelManager.h b/headers/pixelManager.h index 38a77c1..1bd3350 100644 --- a/headers/pixelManager.h +++ b/headers/pixelManager.h @@ -42,6 +42,8 @@ public: void drawPlayer(unsigned x, unsigned width, const nsGraphics::RGBAcolor& color) const; void drawMissile(const Position& baseVector, unsigned width, const nsGraphics::RGBAcolor& color) const; void drawTorpedo(const Position& baseVector, unsigned width, const nsGraphics::RGBAcolor& color) const; +#define HEART_LENGTH 40 + void drawHeart(const Position& baseVector) const; void drawSprite(const nsGui::Sprite& sprite, const Position& pos) const; void displayButton(const Position& baseVector,const string& text,nsGraphics::RGBAcolor& color); // TODO remove because unused ? diff --git a/headers/utils.h b/headers/utils.h index d86b2a2..ad98596 100644 --- a/headers/utils.h +++ b/headers/utils.h @@ -24,7 +24,9 @@ enum class WinValue{ typedef nsGraphics::Vec2D Position; -typedef unsigned playerID; // 0 for player 1, 1 for player 2 +typedef unsigned playerID; +#define PLAYER1 0 +#define PLAYER2 1 // didn't want to use Position because of the semantic with x and y bool areLinesColliding(unsigned start1, unsigned end1, unsigned start2, unsigned end2); diff --git a/src/drawEntity.cpp b/src/drawEntity.cpp index c2eb83c..fe0638d 100644 --- a/src/drawEntity.cpp +++ b/src/drawEntity.cpp @@ -13,7 +13,7 @@ PixelManager::PixelManager(MinGL& a) : window(a) { window.initGraphic(); } -void drawHeart(MinGL& window, const Position& baseVector){ +void PixelManager::drawHeart(const Position& baseVector) const { window << Circle(Position(10, 10)+baseVector,10, nsGraphics::KRed); window << Circle(Position(30, 10)+baseVector,10, nsGraphics::KRed); window << Triangle(Position(0,10)+baseVector,Position(40,10)+baseVector,Position(20,40)+baseVector,nsGraphics::KRed); @@ -128,7 +128,7 @@ void PixelManager::displayText(const Position& pos, const string& text,const nsG } void PixelManager::drawFPS(unsigned fps) const { - window << Text(Position(getScreenWidth()-100, 10), "FPS : "+ to_string(fps), nsGraphics::KWhite); + window << Text(Position(getScreenWidth()-200, 10), "FPS : "+ to_string(fps), nsGraphics::KWhite); } diff --git a/src/game/display.cpp b/src/game/display.cpp index c7fbbae..80c7f82 100644 --- a/src/game/display.cpp +++ b/src/game/display.cpp @@ -23,14 +23,32 @@ void Game::displayAll(unsigned fps) const { pm.drawTorpedo(tor, confData.torpedosWidth, confData.torpedosColor); } - for(size_t i=0;i