From bffc3bf04c9b4de82bfb052f0c57616403e403af Mon Sep 17 00:00:00 2001 From: SIMAILA Djalim Date: Sat, 1 Jan 2022 23:22:04 +0100 Subject: [PATCH] background + score support but the true one --- headers/pixel_manager.h | 4 +++- src/game_basics.cpp | 3 ++- src/game_managers.cpp | 1 + src/pixel_manager.cpp | 5 ++--- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/headers/pixel_manager.h b/headers/pixel_manager.h index a64dadf..7310bb8 100644 --- a/headers/pixel_manager.h +++ b/headers/pixel_manager.h @@ -18,7 +18,8 @@ public: void drawPlayer(const nsGraphics::Vec2D& baseVector, unsigned width, const nsGraphics::RGBAcolor &color); void drawTorpedo(const nsGraphics::Vec2D& baseVector, unsigned width, const nsGraphics::RGBAcolor& color); void drawMissile(const nsGraphics::Vec2D& baseVector, unsigned width, const nsGraphics::RGBAcolor& color); - void drawSprite(const nsGraphics::Vec2D& baseVector, const std::string& spritePath); + nsGui::Sprite background = nsGui::Sprite("./assets/bg.sl2", nsGraphics::Vec2D(0,0)); // you cant create an empty sprite for some reasons + void drawBackground(); unsigned showInitialMenu(); unsigned showDeathMenu(); @@ -26,6 +27,7 @@ public: unsigned getScreenWidth(); void startFrame(); void endFrame(); + }; diff --git a/src/game_basics.cpp b/src/game_basics.cpp index cc485f7..6d8dbb0 100644 --- a/src/game_basics.cpp +++ b/src/game_basics.cpp @@ -21,6 +21,7 @@ void Game::managedGames() { playMode = initialMenuHandler(); }else{ playGame(); // will read the playMode + cout << players[0].score << endl; // will remove cout << "END OF GAME" << endl; break; // TODO remove if(!deathMenuHandler()) playMode = NONE; // back to the main menu @@ -87,7 +88,6 @@ WinValue Game::playGame(){ // returns when game is finished players[0].x = confData.startXPosition; basePos = position(0,0); - // GAMELOOP #define FPS 1000 @@ -120,6 +120,7 @@ WinValue Game::playGame(){ // returns when game is finished * */ void Game::display() { + pm.drawBackground(); for (unsigned i = 0; i < this->grid.size(); ++i){ for (unsigned j = 0; j < this->grid[i].size(); ++j){ nsGraphics::Vec2D vec( diff --git a/src/game_managers.cpp b/src/game_managers.cpp index f16469f..ff14c0a 100644 --- a/src/game_managers.cpp +++ b/src/game_managers.cpp @@ -161,6 +161,7 @@ bool Game::checkTorpedosAndInvaders() { } if(i==grid.size()) ++tor_ite; else{ + players[tor_ite->owner].score += 100; torpedos.erase(tor_ite); grid[i].pop_back(); } diff --git a/src/pixel_manager.cpp b/src/pixel_manager.cpp index f9e07f8..22bc8a3 100644 --- a/src/pixel_manager.cpp +++ b/src/pixel_manager.cpp @@ -52,9 +52,8 @@ void PixelManager::drawTorpedo(const nsGraphics::Vec2D& baseVector, unsigned wid window << nsShape::Rectangle(baseVector, baseVector+position(width, width*PROJ_LENGTH_FACTOR), color); } -void PixelManager::drawSprite(const nsGraphics::Vec2D& baseVector, const std::string& spritePath){ - nsGui::Sprite sprite(spritePath,baseVector); - sprite.draw(window); +void PixelManager::drawBackground(){ + background.draw(window); } unsigned PixelManager::showInitialMenu(){