diff options
| author | aleksav013 <aleksav013@gmail.com> | 2021-06-05 19:11:51 +0200 |
|---|---|---|
| committer | aleksav013 <aleksav013@gmail.com> | 2021-06-05 19:11:51 +0200 |
| commit | 36fdc5a7001f464b00f003f67fb6e886ed32c60b (patch) | |
| tree | 43f7a74ecaaf2ed842a22d463ff6ebca4bd96438 /src | |
| parent | 2002db81a90af09ebc281b8f54f7f2544b92780b (diff) | |
Grouping assets; Moving krug to Player
Diffstat (limited to 'src')
| -rw-r--r-- | src/Game.cpp | 37 | ||||
| -rw-r--r-- | src/Player.cpp | 6 | ||||
| -rw-r--r-- | src/State.cpp | 19 | ||||
| -rw-r--r-- | src/includes/Game.hpp | 8 | ||||
| -rw-r--r-- | src/includes/Player.hpp | 2 | ||||
| -rw-r--r-- | src/includes/State.hpp | 4 |
6 files changed, 39 insertions, 37 deletions
diff --git a/src/Game.cpp b/src/Game.cpp index 6435daa..e74efa5 100644 --- a/src/Game.cpp +++ b/src/Game.cpp @@ -3,12 +3,6 @@ void Game::initshapes() { - krug.setRadius(igrac.stomprad); - krug.setFillColor(sf::Color::Black); - krug.setOutlineThickness(10); - krug.setOutlineColor(sf::Color::White); - krug.setOrigin(krug.getRadius(),krug.getRadius()); - health.setSize(sf::Vector2f(sirina/3.0,50.0)); health.setFillColor(sf::Color::Red); healthblank.setSize(sf::Vector2f(sirina/3.0,50.0)); @@ -23,31 +17,31 @@ void Game::initshapes() } void Game::initui() { - healthtext.setFont(font); + healthtext.setFont(*font["default"]); healthtext.setString("Health"); healthtext.setCharacterSize(24); healthtext.setFillColor(sf::Color::Black); - stomptext.setFont(font); + stomptext.setFont(*font["default"]); stomptext.setString("Stomp"); stomptext.setCharacterSize(24); stomptext.setPosition(0,50); stomptext.setFillColor(sf::Color::Black); - fps.setFont(font); + fps.setFont(*font["default"]); fps.setCharacterSize(24); fps.setFillColor(sf::Color::White); fps.setPosition(sirina*5.0/6,0); - score.setFont(font); + score.setFont(*font["default"]); score.setCharacterSize(24); score.setFillColor(sf::Color::White); score.setPosition(sirina*5.0/6,50); } void Game::inittex() { - for(size_t i=0;i<pow.size();i++) pow.at(i).telo.setTexture(healthtex); - for(size_t i=0;i<nep1.size();i++) nep1.at(i).telo.setTexture(neprijateljtex); - for(size_t i=0;i<nep2.size();i++) nep2.at(i).telo.setTexture(neprijateljtex); - for(size_t i=0;i<nep3.size();i++) nep3.at(i).telo.setTexture(neprijateljtex); + for(size_t i=0;i<pow.size();i++) pow.at(i).telo.setTexture(tex["health"]); + for(size_t i=0;i<nep1.size();i++) nep1.at(i).telo.setTexture(tex["neprijatelj"]); + for(size_t i=0;i<nep2.size();i++) nep2.at(i).telo.setTexture(tex["neprijatelj"]); + for(size_t i=0;i<nep3.size();i++) nep3.at(i).telo.setTexture(tex["neprijatelj"]); } void Game::initent() { @@ -67,12 +61,11 @@ void Game::updatewin() score.setPosition(sirina*5.0/6,50); updateui(); } -Game::Game(sf::RenderWindow *glprozor,sf::Font mainfont,sf::Texture *healthtexture,sf::Texture *neprijateljtexture) +Game::Game(sf::RenderWindow *glprozor,std::map<std::string,sf::Font*> mainfont,std::map<std::string,sf::Texture*> maintex) { prozor=glprozor; font=mainfont; - healthtex=healthtexture; - neprijateljtex=neprijateljtexture; + tex=maintex; updatewin(); initui(); @@ -99,10 +92,10 @@ void Game::updateui() void Game::stompmain() { igrac.stomptime=5; - krug.setPosition(igrac.x,igrac.y); + igrac.krug.setPosition(igrac.x,igrac.y); for(size_t i=0;i<nep1.size();i++) if(nep1.at(i).ziv) { - if(seseku(nep1.at(i).telo,krug)) + if(seseku(nep1.at(i).telo,igrac.krug)) { igrac.xp+=5; nep1.at(i).ziv=0; @@ -110,7 +103,7 @@ void Game::stompmain() } for(size_t i=0;i<nep2.size();i++) if(nep2.at(i).ziv) { - if(seseku(nep2.at(i).telo,krug)) + if(seseku(nep2.at(i).telo,igrac.krug)) { igrac.xp+=10; nep2.at(i).ziv=0; @@ -118,7 +111,7 @@ void Game::stompmain() } for(size_t i=0;i<nep3.size();i++) if(nep3.at(i).ziv) { - if(seseku(nep3.at(i).telo,krug)) + if(seseku(nep3.at(i).telo,igrac.krug)) { igrac.xp+=20; nep3.at(i).ziv=0; @@ -136,7 +129,7 @@ void Game::keyboard() } void Game::draw() { - if(igrac.stomptime>4.6) prozor->draw(krug); + if(igrac.stomptime>4.6) prozor->draw(igrac.krug); prozor->draw(igrac.telo); for(size_t i=0;i<nep1.size();i++) if(nep1.at(i).ziv) prozor->draw(nep1.at(i).telo); for(size_t i=0;i<nep2.size();i++) if(nep2.at(i).ziv) prozor->draw(nep2.at(i).telo); diff --git a/src/Player.cpp b/src/Player.cpp index d73ead1..19f6539 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -5,6 +5,12 @@ Player::Player(sf::Vector2f pozicija,sf::Vector2f velicina,sf::Color boja):Entit health=100; stomptime=0; xp=0; + + krug.setRadius(stomprad); + krug.setFillColor(sf::Color::Black); + krug.setOutlineThickness(10); + krug.setOutlineColor(sf::Color::White); + krug.setOrigin(krug.getRadius(),krug.getRadius()); } void Player::updatest(float dt) { diff --git a/src/State.cpp b/src/State.cpp index 3c73da1..a8f7aea 100644 --- a/src/State.cpp +++ b/src/State.cpp @@ -18,15 +18,18 @@ void State::initwin() } void State::initassets() { - if(!font.loadFromFile("assets/fonts/LiberationMono-Regular.ttf")) + font["default"] = new sf::Font; + tex["neprijatelj"] = new sf::Texture; + tex["health"] = new sf::Texture; + if(!font["default"]->loadFromFile("assets/fonts/LiberationMono-Regular.ttf")) { std::cerr<<"Font not found\n"; } - if(!healthtex.loadFromFile("assets/images/healing.png")) + if(!tex["health"]->loadFromFile("assets/images/healing.png")) { std::cerr<<"Texture not found\n"; } - if(!neprijateljtex.loadFromFile("assets/images/nep.png")) + if(!tex["neprijatelj"]->loadFromFile("assets/images/nep.png")) { std::cerr<<"Texture not found\n"; } @@ -84,14 +87,14 @@ void State::initui() podloga.setSize(sf::Vector2f(600.0f,120.0f)); podloga.setOrigin(podloga.getSize().x/2.0,podloga.getSize().y/2.0); - pausetext.setFont(font); + pausetext.setFont(*font["default"]); pausetext.setString("Pauza\nPritisnite Esc da nastavite igru"); pausetext.setCharacterSize(24); pausetext.setStyle(sf::Text::Bold); pausetext.setFillColor(sf::Color::White); pausetext.setOrigin(pausetext.getGlobalBounds().width/2.0,pausetext.getGlobalBounds().height/2.0); - krajtext.setFont(font); + krajtext.setFont(*font["default"]); krajtext.setString("Kraj igre\nPritisnite Y da zapocnete novu igru"); krajtext.setCharacterSize(24); krajtext.setStyle(sf::Text::Bold); @@ -108,7 +111,7 @@ void State::updateui() } void State::loop() { - Game *igra=new Game(&prozor,font,&healthtex,&neprijateljtex); + Game *igra=new Game(&prozor,font,tex); while(prozor.isOpen()) { events(); @@ -116,13 +119,12 @@ void State::loop() igra->loop(ischanged,pause||kraj); if(ischanged) updateui(); - prozor.clear(); igra->draw(); if(kraj) { prozor.draw(podloga); prozor.draw(krajtext); - if(newgame) igra=new Game(&prozor,font,&healthtex,&neprijateljtex); + if(newgame) igra=new Game(&prozor,font,tex); } if(pause) { @@ -130,6 +132,7 @@ void State::loop() prozor.draw(pausetext); } prozor.display(); + prozor.clear(); ischanged=0; newgame=0; diff --git a/src/includes/Game.hpp b/src/includes/Game.hpp index a85d384..5b935a4 100644 --- a/src/includes/Game.hpp +++ b/src/includes/Game.hpp @@ -10,8 +10,8 @@ class Game { private: - sf::Font font; - sf::Texture *healthtex,*neprijateljtex; + std::map<std::string,sf::Font*> font; + std::map<std::string,sf::Texture*> tex; float dt; sf::Clock sat,time; @@ -24,7 +24,6 @@ class Game int visina,sirina; sf::RenderWindow *prozor; - sf::CircleShape krug; sf::RectangleShape health,healthblank,stomp,stompblank; sf::Text healthtext,stomptext,fps,score; @@ -44,8 +43,7 @@ class Game void initent(); void updatewin(); public: - Game() {} - Game(sf::RenderWindow *glprozor,sf::Font font,sf::Texture *neprijateljtex,sf::Texture *healthtex); + Game(sf::RenderWindow *glprozor,std::map<std::string,sf::Font*> mainfont,std::map<std::string,sf::Texture*> maintex); void loop(bool ischanged,bool pause); void draw(); bool gameover(); diff --git a/src/includes/Player.hpp b/src/includes/Player.hpp index 3a2a040..ff094e9 100644 --- a/src/includes/Player.hpp +++ b/src/includes/Player.hpp @@ -9,6 +9,8 @@ class Player:public Entity int stomprad=270; float stomptime; + sf::CircleShape krug; + Player():Entity() {} Player(sf::Vector2f pozicija,sf::Vector2f velicina,sf::Color boja); void updatest(float dt); diff --git a/src/includes/State.hpp b/src/includes/State.hpp index 453939f..bcfb365 100644 --- a/src/includes/State.hpp +++ b/src/includes/State.hpp @@ -9,8 +9,8 @@ class State int visina,sirina; bool ischanged=0,newgame=0,pause=0,kraj=0; - sf::Font font; - sf::Texture healthtex,neprijateljtex; + std::map<std::string,sf::Font*> font; + std::map<std::string,sf::Texture*> tex; sf::RectangleShape podloga; sf::Text pausetext,krajtext; |
