Done with every menu - Alma, Lukas, Malin
authormalak585 <malak585@su11-103.ad.liu.se>
Mon, 4 Dec 2023 11:06:24 +0000 (12:06 +0100)
committermalak585 <malak585@su11-103.ad.liu.se>
Mon, 4 Dec 2023 11:06:24 +0000 (12:06 +0100)
assets/highscore.csv
assets/muspekareGul.png
src/GameOver_menu.cc
src/Pause_menu.cc
src/Scoreboard_menu.cc
src/Start_menu.cc
src/States.h

index 65d19a705ee51fd5d501235d4203fa907cbd8ffa..65b2d03eb95d5a9f324257144ecf0c1dd5a64f05 100644 (file)
Binary files a/assets/highscore.csv and b/assets/highscore.csv differ
index 1f22c8bcf8db50ac3db963cc6eb012ffe9a7c0a2..25551c1d54018f35094c49c2b24f9ae660269dbb 100644 (file)
Binary files a/assets/muspekareGul.png and b/assets/muspekareGul.png differ
index 99cda2640f3f61721c7dae8189eb9ba70496f6eb..c19186cf4b529373a5f8cb1c57dc16bc19991c20 100644 (file)
@@ -13,7 +13,7 @@
 using json = nlohmann::json;
 
 
-GameOver_menu::GameOver_menu(int const points, json& params) : texture{}, texture2{}, sprite{}, rectangle{},  mouse_l{}, mouse_r{}, linetext{}, entertext{}, pointstext{}, 
+GameOver_menu::GameOver_menu(int const points, json& params) : texture{}, texture2{}, sprite{}, rectangle{},  mouse_l{}, mouse_r{}, linetext{}, funfacttext{}, entertext{}, pointstext{}, 
                                                  playerInput{}, data{}, playerText{}, savetext{}, quittext{},  font{}, exit_game{false}, menu{false}, menu_index{1}, points{points}
 {
     texture.loadFromFile("assets/game_over.png");
@@ -45,6 +45,12 @@ GameOver_menu::GameOver_menu(int const points, json& params) : texture{}, textur
     pointstext.setPosition (S_WIDTH / 2 , ((S_HEIGHT / 2) - 100));
     pointstext.setFillColor(sf::Color::Black); 
 
+    // Fun fact
+    funfacttext = sf::Text{"You can buy: " + std::to_string(static_cast<float>(points)/static_cast<float>(79)) + " Kir!", font, 14 };
+    sf::FloatRect gbff {funfacttext.getGlobalBounds()};
+    funfacttext.setOrigin(gbff.width / 2, gbff.height / 2);
+    funfacttext.setPosition (S_WIDTH / 2 , ((S_HEIGHT / 2) - 70));
+    funfacttext.setFillColor(sf::Color::Black);
 
     // Enter text
     entertext = sf::Text{ "Enter your name:", font, 24 };
@@ -75,8 +81,7 @@ GameOver_menu::GameOver_menu(int const points, json& params) : texture{}, textur
     texture2.loadFromFile("assets/muspekareRed.png");
     mouse_l.setTexture(texture2);
 
-    mouse_l.setScale(0.1, 0.1);
-    mouse_l.setRotation(180);
+    mouse_l.setScale(-0.1, 0.1);
     sf::FloatRect gbm {mouse_l.getGlobalBounds()};
 
     mouse_r.setTexture(texture2);
@@ -118,7 +123,7 @@ void GameOver_menu::update(Context& context)
 
     // mouse placement
     mouse_r.setPosition(((S_WIDTH / 2) + 60 - 30*(menu_index - 1)), ((S_HEIGHT / 2) + 85 + 50*(menu_index - 1)));
-    mouse_l.setPosition(((S_WIDTH / 2) - 58 + 30*(menu_index - 1)), ((S_HEIGHT / 2) + 132 + 50*(menu_index - 1))); 
+    mouse_l.setPosition(((S_WIDTH / 2) - 58 + 30*(menu_index - 1)), ((S_HEIGHT / 2) + 85 + 50*(menu_index - 1))); 
 }
 
 
@@ -130,9 +135,10 @@ void GameOver_menu::render(sf::RenderWindow& window) const
     window.draw(mouse_l);
     window.draw(mouse_r);
 
-    window.draw(entertext);
     window.draw(playerText);
     window.draw(linetext);
+    window.draw(funfacttext);
+    window.draw(entertext);
     window.draw(pointstext);
     window.draw(savetext);
     window.draw(quittext);
@@ -220,7 +226,7 @@ void GameOver_menu::handle_input(sf::Event& event)
         }
 
         // if not backspace, print letters
-        else if(playerInput.getSize() < 30)
+        else if(playerInput.getSize() < 15)
         {
             playerInput += event.text.unicode;
         }
index 8cfb4a678597e4f3eee9e951b9fd4da7f692d3c5..95e1cb814bbb39695dca938a87524a459943651b 100644 (file)
@@ -22,8 +22,7 @@ Pause_menu::Pause_menu() : texture{}, texture2{}, sprite{}, mouse_l{}, mouse_r{}
     texture2.loadFromFile("assets/muspekareGul.png");
     mouse_l.setTexture(texture2);
 
-    mouse_l.setScale(0.1, 0.1);
-    mouse_l.setRotation(180);
+    mouse_l.setScale(-0.1, 0.1);
     sf::FloatRect gbm {mouse_l.getGlobalBounds()};
 
     mouse_r.setTexture(texture2);
@@ -71,26 +70,26 @@ void Pause_menu::update(Context& context)
     // changes color on text depending on selection
     if( menu_index == 1)
     {
-        resumetext.setFillColor(sf::Color::Yellow);
+        resumetext.setFillColor(sf::Color(229, 191, 9));
         startmenutext.setFillColor(sf::Color::Black);
         quittext.setFillColor(sf::Color::Black);  
     }
     else if( menu_index == 2)
     {
         resumetext.setFillColor(sf::Color::Black);
-        startmenutext.setFillColor(sf::Color::Yellow);
+        startmenutext.setFillColor(sf::Color(229, 191, 9));
         quittext.setFillColor(sf::Color::Black);  
     }
         else if( menu_index == 3)
     {
         resumetext.setFillColor(sf::Color::Black);
         startmenutext.setFillColor(sf::Color::Black);
-        quittext.setFillColor(sf::Color::Yellow);  
+        quittext.setFillColor(sf::Color(229, 191, 9));  
     }
 
     // mouse placement
-    mouse_r.setPosition(((S_WIDTH / 2) + 60), ((S_HEIGHT / 2) - 45 + 50*(menu_index - 1)));
-    mouse_l.setPosition(((S_WIDTH / 2) - 58), ((S_HEIGHT / 2) + 2 + 50*(menu_index - 1))); 
+    mouse_r.setPosition(((S_WIDTH / 2) + 60 - 7*(menu_index - 2)*(menu_index - 3) - 15*(menu_index - 1)*(menu_index - 2)), ((S_HEIGHT / 2) - 45 + 50*(menu_index - 1)));
+    mouse_l.setPosition(((S_WIDTH / 2) - 58 + 7*(menu_index - 2)*(menu_index - 3) + 15*(menu_index - 1)*(menu_index - 2)), ((S_HEIGHT / 2) - 45 + 50*(menu_index - 1))); 
 }
 
 void Pause_menu::render(sf::RenderWindow& window) const
index 82abec6ec18a8395f909aca442b3d84e23e83a21..04f1e0683635bb5d296fc952d568b47fcf5e28d6 100644 (file)
@@ -28,8 +28,7 @@ Scoreboard_menu::Scoreboard_menu() : texture{}, texture2{}, sprite{}, menu{false
     texture2.loadFromFile("assets/muspekare2.png");
     mouse_l.setTexture(texture2);
 
-    mouse_l.setScale(0.1, 0.1);
-    mouse_l.setRotation(180);
+    mouse_l.setScale(-0.1, 0.1);
     sf::FloatRect gbm {mouse_l.getGlobalBounds()};
 
     mouse_r.setTexture(texture2);
@@ -45,24 +44,27 @@ Scoreboard_menu::Scoreboard_menu() : texture{}, texture2{}, sprite{}, menu{false
     scoreboardtext = sf::Text{ "Scoreboard:", font, 39 };
     sf::FloatRect gbs {scoreboardtext.getGlobalBounds()};
     scoreboardtext.setOrigin(gbs.width / 2, gbs.height / 2);
-    scoreboardtext.setPosition (S_WIDTH / 2 - 15, ((S_HEIGHT / 2) - 120));
+    scoreboardtext.setPosition (S_WIDTH / 2 - 15, ((S_HEIGHT / 2) - 100));
     scoreboardtext.setFillColor(sf::Color(153, 0, 0));
 
-    // -----------------------------------------------------------------------
-    // First place text
 
+    // Scorelist
+    // -----------------------------------------------------------------------
     std::ifstream highscore_file_r{"assets/highscore.csv"};
 
-    std::string csv_content {};
-    for (std::string one_line; std::getline(highscore_file_r, one_line); csv_content += one_line + "p \n");
+    std::string csv_content{};
+    int index{0};
 
+    for (std::string one_line; std::getline(highscore_file_r, one_line); csv_content += std::to_string(index) + ". " + one_line + "p \n")
+    {
+        ++index;
+    }
 
     firstplacetext = sf::Text{ csv_content , font, 18 };
     sf::FloatRect gbfp {firstplacetext.getGlobalBounds()};
     firstplacetext.setOrigin(gbfp.width / 2, gbfp.height / 2);
-    firstplacetext.setPosition (S_WIDTH / 2 - 15, ((S_HEIGHT / 2) - 30));
+    firstplacetext.setPosition (S_WIDTH / 2 - 15, S_HEIGHT / 2);
     firstplacetext.setFillColor(sf::Color(153, 0, 0));
-
     // -----------------------------------------------------------------------
    
     // Start menu text
@@ -99,8 +101,8 @@ void Scoreboard_menu::update(Context& context)
     }
 
     // mouse placement
-    mouse_r.setPosition(((S_WIDTH / 2) + 45), ((S_HEIGHT / 2) + 65 + 50*(menu_index - 1)));
-    mouse_l.setPosition(((S_WIDTH / 2) - 73), ((S_HEIGHT / 2) + 112 + 50*(menu_index - 1))); 
+    mouse_r.setPosition(((S_WIDTH / 2) + 45 - 30*(menu_index - 1)), ((S_HEIGHT / 2) + 65 + 50*(menu_index - 1)));
+    mouse_l.setPosition(((S_WIDTH / 2) - 73 + 30*(menu_index - 1)), ((S_HEIGHT / 2) + 65 + 50*(menu_index - 1))); 
 }
 
 
index bad9f3fb5f929b75dd2463d28ad9decd123bd5ee..3b29b659625050d1d3b8c04b6706ac3cc93e6cb6 100644 (file)
@@ -25,8 +25,7 @@ Start_menu::Start_menu() : texture{},  texture2{}, sprite{}, mouse_l{}, mouse_r{
     texture2.loadFromFile("assets/muspekareGul.png");
     mouse_l.setTexture(texture2);
 
-    mouse_l.setScale(0.1, 0.1);
-    mouse_l.setRotation(180);
+    mouse_l.setScale(-0.1, 0.1);
     sf::FloatRect gbm {mouse_l.getGlobalBounds()};
 
     mouse_r.setTexture(texture2);
@@ -73,26 +72,26 @@ void Start_menu::update(Context& context)
     // changes color on text depending on selection
     if( menu_index == 1)
     {
-        starttext.setFillColor(sf::Color::Yellow);
+        starttext.setFillColor(sf::Color(229, 191, 9));
         scoreboardtext.setFillColor(sf::Color::Black);
         quittext.setFillColor(sf::Color::Black);  
     }
     else if( menu_index == 2)
     {
         starttext.setFillColor(sf::Color::Black);
-        scoreboardtext.setFillColor(sf::Color::Yellow);
+        scoreboardtext.setFillColor(sf::Color(229, 191, 9));
         quittext.setFillColor(sf::Color::Black);  
     }
         else if( menu_index == 3)
     {
         starttext.setFillColor(sf::Color::Black);
         scoreboardtext.setFillColor(sf::Color::Black);
-        quittext.setFillColor(sf::Color::Yellow);  
+        quittext.setFillColor(sf::Color(229, 191, 9));  
     }
 
     // mouse placement
-    mouse_r.setPosition(((S_WIDTH / 2) + 60), ((S_HEIGHT / 2) - 115 + 50*(menu_index - 1)));
-    mouse_l.setPosition(((S_WIDTH / 2) - 58), ((S_HEIGHT / 2) - 68 + 50*(menu_index - 1))); 
+    mouse_r.setPosition(((S_WIDTH / 2) + 60 - 17*(menu_index - 1)*(menu_index - 2)), ((S_HEIGHT / 2) - 117 + 50*(menu_index - 1)));
+    mouse_l.setPosition(((S_WIDTH / 2) - 58 + 17*(menu_index - 1)*(menu_index - 2)), ((S_HEIGHT / 2) - 117 + 50*(menu_index - 1))); 
     
 }
 
index 4776ae5bebecdc6c6e8aa74b7204c0817ab484f9..2cb0b45a9158eb674a73cf1d4cdb8b2ef9f45f40 100644 (file)
@@ -166,6 +166,7 @@ private:
     sf::String playerInput;
     sf::Text playerText;
     sf::Text linetext;
+    sf::Text funfacttext;
     sf::Text entertext;
     sf::Text pointstext;
     sf::Text savetext;