edited start menu, Alma + Malin
authorAlma Dejus <almde515@student.liu.se>
Mon, 13 Nov 2023 10:35:53 +0000 (11:35 +0100)
committerAlma Dejus <almde515@student.liu.se>
Mon, 13 Nov 2023 10:35:53 +0000 (11:35 +0100)
src/States.cc
src/States.h

index 012042a9f2e74cb4b80fd195241fe3d323d66a80..00cd9c1ef40bf8a27e4ef6ac98780d5f6ce95b47 100644 (file)
@@ -50,14 +50,44 @@ void Game_state::handle_input(sf::Event& event)
     player.handle_input(event);
 }
 
-Start_menu::Start_menu() : texture{}, sprite{}, exit_menu{false}
+Start_menu::Start_menu() : texture{}, sprite{}, exit_menu{false}, gametitle{}, starttext{}, scoreboardtext{}, quittext{}, font{}
 {
-    texture.loadFromFile("assets/sack.png");
+    //sprite
+    texture.loadFromFile("assets/meny_bild.png");
     sprite.setTexture(texture);
 
+    sprite.setScale(S_SCALE_KOEFF, S_SCALE_KOEFF);
     sf::FloatRect gb {sprite.getGlobalBounds()};
-    sprite.setOrigin(gb.width / 2, gb.height / 2);
-    sprite.setPosition(S_WIDTH / 2, S_HEIGHT / 2); // hej
+    sprite.setPosition(0, 0); 
+
+
+    //load textfont
+    if ( !font.loadFromFile ("assets/fonts/ComicNeue-Bold.ttf") )
+        throw std::invalid_argument ("Unable to load font");
+
+    //start 
+    starttext = sf::Text{ "Start Game", font, 24 };
+    sf::FloatRect gbts {starttext.getGlobalBounds()};
+    starttext.setOrigin(gbts.width / 2, gbts.height / 2);
+    starttext.setPosition ((S_WIDTH) / 2, ((S_HEIGHT / 2) - 100));
+    starttext.setFillColor(sf::Color::Black);
+
+    //score
+    scoreboardtext = sf::Text{ "Scoreboard", font, 24 };
+    sf::FloatRect gbtb {scoreboardtext.getGlobalBounds()};
+    scoreboardtext.setOrigin(gbtb.width / 2, gbtb.height / 2);
+    scoreboardtext.setPosition (S_WIDTH / 2, ((S_HEIGHT / 2) - 50));
+    scoreboardtext.setFillColor(sf::Color::Black);
+
+    //quit
+    quittext = sf::Text{ "Quit", font, 24 };
+    sf::FloatRect gbtq {quittext.getGlobalBounds()};
+    quittext.setOrigin(gbtq.width / 2, gbtq.height / 2);
+    quittext.setPosition (S_WIDTH / 2, S_HEIGHT / 2);
+    quittext.setFillColor(sf::Color::Black);
+
+
+
 }
 
 void Start_menu::update(Context& context)
@@ -71,6 +101,11 @@ void Start_menu::update(Context& context)
 void Start_menu::render(sf::RenderWindow& window) const
 {
     window.draw(sprite);
+
+    window.draw(gametitle);
+    window.draw(starttext);
+    window.draw(scoreboardtext);
+    window.draw(quittext);
 }
 
 void Start_menu::handle_input(sf::Event& event)
index 8664b0f000fa1b16e513b95e1d56ec082c42ab8f..fbefefb99500c2616e792afa0fa09ed3d0724f55 100644 (file)
@@ -1,12 +1,13 @@
 #ifndef STATES_H
 #define STATES_H
 
+#include <memory>
 #include "SFML/Graphics.hpp"
 
 #include "Map.h"
 #include "Player.h"
 
-struct Context; //finns en strukt som säger att Context finns innan den är deklarerad
+struct Context;
 
 class State
 {
@@ -26,9 +27,9 @@ public:
     void update(Context& context) override;
     void render(sf::RenderWindow& window) const override;
     void handle_input(sf::Event& event) override;
+    Map game_map;
 protected:
 private:
-    Map game_map;
     Player player;
     bool pause_game;
 };
@@ -45,6 +46,11 @@ public:
 private:
     sf::Texture texture;
     sf::Sprite sprite;
+    sf::Text gametitle;
+    sf::Text starttext;
+    sf::Text scoreboardtext;
+    sf::Text quittext;
+    sf::Font font;
     bool exit_menu;
 };
 
@@ -63,4 +69,5 @@ private:
     bool exit_game;
 };
 
+
 #endif
\ No newline at end of file