From 209e1289abbb9a1896e8c714ea6d88816e4f5bed Mon Sep 17 00:00:00 2001 From: SIMAILA Djalim Date: Mon, 10 Jan 2022 15:54:03 +0100 Subject: [PATCH] score during gameplay --- headers/game.h | 6 ++++++ src/game/display.cpp | 13 ++++++++++++- src/game/gameBasics.cpp | 6 ------ 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/headers/game.h b/headers/game.h index c63529d..3714560 100644 --- a/headers/game.h +++ b/headers/game.h @@ -132,6 +132,12 @@ private: // drawing methods + /*! + * @brief display players score on the screen + * @fn void displayScore(); + */ + void displayScore() const; + /*! * @brief main display function, clear the window and calls sub display functions * @param[in] fps : current screen refresh rate diff --git a/src/game/display.cpp b/src/game/display.cpp index d6d7b4e..3353a5f 100644 --- a/src/game/display.cpp +++ b/src/game/display.cpp @@ -34,8 +34,9 @@ void Game::displayAll(unsigned fps) const { pm->drawTorpedo(tor, confData.torpedosWidth, confData.torpedosColor); } - + displayGod(); + displayScore(); DEBUG_INSTR( pm->drawText(Position(pm->getScreenWidth()-200, 20), "FPS : "+to_string(fps), nsGraphics::KWhite, Font::BITMAP_8_BY_13); @@ -69,6 +70,16 @@ void Game::displayHearts(playerID pID) const { } } +void Game::displayScore() const{ + unsigned margin = 0; + unsigned playerNumber = 1; + for (auto& player: players){ + pm->drawText(Position(0,10+margin),"player "+to_string(playerNumber)+" :",nsGraphics::KWhite,Font::BITMAP_8_BY_13); + pm->drawText(Position(100,10+margin),to_string(player.score) ,nsGraphics::KWhite,Font::BITMAP_8_BY_13); + ++playerNumber; + } +} + void Game::displayInvader(const Position& pos, InvaderType type) const { if(type==InvaderType::NONE)return; const InvaderTypeDef& invDef = confData.invadersDef.at(type); diff --git a/src/game/gameBasics.cpp b/src/game/gameBasics.cpp index 67a6024..5618fc9 100644 --- a/src/game/gameBasics.cpp +++ b/src/game/gameBasics.cpp @@ -109,12 +109,6 @@ void Game::initGame(){ } -/** - * Plays the game, and returns once the game is finished - * - * @return @WinValue::PLAYERS if the players won, @WinValue::INVADERS is the invaders won, WinValue::NOBODY else (also in case of error) - */ - #define START_TIMER() DEBUG_INSTR(debugTime = chrono::high_resolution_clock::now()) #define PRINT_TIMER(X) DEBUG_MSG((X) << " :" << chrono::duration_cast(chrono::high_resolution_clock::now()-debugTime).count())