method ovveride

This commit is contained in:
Thomas 2022-01-11 14:42:41 +01:00
parent 9cd2593f47
commit 7acfc27bb5
No known key found for this signature in database
GPG Key ID: E538821A6CDFDAD7
5 changed files with 50 additions and 8 deletions

BIN
assets/heart.si2 Normal file

Binary file not shown.

View File

@ -14,7 +14,7 @@
#
general:
maxFPS: 30
theme: bad
theme: good
#############################

View File

@ -47,6 +47,19 @@ class GoodPixelManager : public PixelManager{
* @brief sprite of the torpedo
*/
MySprite torpedo;
/*!
* @brief sprite of the heart
*/
MySprite heart;
void drawInvaderA(const Position& baseVector, unsigned size, const RGBAcolor& color) const override;
void drawInvaderB(const Position& baseVector, unsigned size, const RGBAcolor& color) const override;
void drawInvaderC(const Position& baseVector, unsigned size, const RGBAcolor& color) const override;
void drawPlayer(unsigned x, unsigned width, const RGBAcolor& color) const override;
void drawMissile(const Position& baseVector, unsigned width, const RGBAcolor& color) const override;
void drawTorpedo(const Position& baseVector, unsigned width, const RGBAcolor& color) const override;
void drawHeart(const Position& baseVector) const override;
public:
/*!

View File

@ -96,7 +96,7 @@ public:
* @param[in] color : color multiplicaror of the invader
* @fn void drawInvaderA(const Position& baseVector, unsigned size, const RGBAcolor& color) const;
*/
void drawInvaderA(const Position& baseVector, unsigned size, const RGBAcolor& color) const;
virtual void drawInvaderA(const Position& baseVector, unsigned size, const RGBAcolor& color) const;
/*!
* @brief display a type B invader on screen
@ -105,7 +105,7 @@ public:
* @param[in] color : color multiplicaror of the invader
* @fn void drawInvaderB(const Position& baseVector, unsigned size, const RGBAcolor& color) const;
*/
void drawInvaderB(const Position& baseVector, unsigned size, const RGBAcolor& color) const;
virtual void drawInvaderB(const Position& baseVector, unsigned size, const RGBAcolor& color) const;
/*!
* @brief display a type C invader on screen
@ -114,7 +114,7 @@ public:
* @param[in] color : color multiplicaror of the invader
* @fn void drawInvaderC(const Position& baseVector, unsigned size, const RGBAcolor& color) const;
*/
void drawInvaderC(const Position& baseVector, unsigned size, const RGBAcolor& color) const;
virtual void drawInvaderC(const Position& baseVector, unsigned size, const RGBAcolor& color) const;
/*!
* @brief display a player on screen
@ -123,7 +123,7 @@ public:
* @param[in] color : color of the plater
* @fn void drawPlayer(unsigned x, unsigned width, const nsGraphics::RGBAcolor& color) const;
*/
void drawPlayer(unsigned x, unsigned width, const nsGraphics::RGBAcolor& color) const;
virtual void drawPlayer(unsigned x, unsigned width, const nsGraphics::RGBAcolor& color) const;
/*!
* @brief display a missile on screen
@ -132,7 +132,7 @@ public:
* @param[in] color : color of the missile
* @fn void drawMissile(const Position& baseVector, unsigned width, const nsGraphics::RGBAcolor& color) const;
*/
void drawMissile(const Position& baseVector, unsigned width, const nsGraphics::RGBAcolor& color) const;
virtual void drawMissile(const Position& baseVector, unsigned width, const nsGraphics::RGBAcolor& color) const;
/*!
* @brief display a torpedo on screen
@ -141,7 +141,7 @@ public:
* @param[in] color : color of the torpedo
* @fn void drawTorpedo(const Position& baseVector, unsigned width, const nsGraphics::RGBAcolor& color) const;
*/
void drawTorpedo(const Position& baseVector, unsigned width, const nsGraphics::RGBAcolor& color) const;
virtual void drawTorpedo(const Position& baseVector, unsigned width, const nsGraphics::RGBAcolor& color) const;
#define HEART_LENGTH 40
@ -150,7 +150,7 @@ public:
* @param[in] baseVector : pixel coordinates of the heart
* @fn void drawHeart(const Position& baseVector) const;
*/
void drawHeart(const Position& baseVector) const;
virtual void drawHeart(const Position& baseVector) const;
/*!
* @brief display a sprite on screen

View File

@ -8,8 +8,37 @@ void GoodPixelManager::loadSprites(vector<Task>& tasks) {
ADD_SPRITE_TASK(invaderC)
ADD_SPRITE_TASK(missile)
ADD_SPRITE_TASK(torpedo)
ADD_SPRITE_TASK(heart)
}
GoodPixelManager::GoodPixelManager(MinGL& win) : PixelManager(win) {
}
void GoodPixelManager::drawInvaderA(const Position& baseVector, unsigned size, const RGBAcolor &color) const {
drawSprite(invaderA, baseVector);
}
void GoodPixelManager::drawInvaderB(const Position& baseVector, unsigned size, const RGBAcolor &color) const {
drawSprite(invaderB, baseVector);
}
void GoodPixelManager::drawInvaderC(const Position& baseVector, unsigned size, const RGBAcolor &color) const {
drawSprite(invaderC, baseVector);
}
void GoodPixelManager::drawPlayer(unsigned x, unsigned width, const RGBAcolor& color) const {
drawSprite(player, Position(x, PLAYER_HEIGHT));
}
void GoodPixelManager::drawMissile(const Position& baseVector, unsigned width, const RGBAcolor& color) const {
drawSprite(missile, baseVector);
}
void GoodPixelManager::drawTorpedo(const Position& baseVector, unsigned width, const RGBAcolor& color) const {
drawSprite(torpedo, baseVector);
}
void GoodPixelManager::drawHeart(const Position& baseVector) const {
drawSprite(heart, baseVector);
}