aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraleksav013 <aleksav013@gmail.com>2021-06-05 19:11:51 +0200
committeraleksav013 <aleksav013@gmail.com>2021-06-05 19:11:51 +0200
commit36fdc5a7001f464b00f003f67fb6e886ed32c60b (patch)
tree43f7a74ecaaf2ed842a22d463ff6ebca4bd96438
parent2002db81a90af09ebc281b8f54f7f2544b92780b (diff)
Grouping assets; Moving krug to Player
-rw-r--r--src/Game.cpp37
-rw-r--r--src/Player.cpp6
-rw-r--r--src/State.cpp19
-rw-r--r--src/includes/Game.hpp8
-rw-r--r--src/includes/Player.hpp2
-rw-r--r--src/includes/State.hpp4
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;