aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoraleksav013 <aleksav013@gmail.com>2021-06-06 04:13:37 +0200
committeraleksav013 <aleksav013@gmail.com>2021-06-06 04:13:37 +0200
commit3fdf53f3c1fbf58e67ab9570f035756469b99424 (patch)
tree3dd0ff504f1b3ccd3cb650ec2964c3642aba6033 /src
parent060ddd25ef18a6289d01283bc76bc4da90bf2a39 (diff)
Adding Vampiric UI; Using Valgrind to fix errors
Diffstat (limited to 'src')
-rw-r--r--src/Enemy2.cpp5
-rw-r--r--src/Game.cpp44
-rw-r--r--src/includes/Enemy2.hpp1
-rw-r--r--src/includes/Game.hpp5
4 files changed, 41 insertions, 14 deletions
diff --git a/src/Enemy2.cpp b/src/Enemy2.cpp
index e89fbb2..a32b8d9 100644
--- a/src/Enemy2.cpp
+++ b/src/Enemy2.cpp
@@ -21,3 +21,8 @@ void Enemy2::izracunajpoz(float igracx,float igracy,float dt)
x+=vx*dt;
y+=vy*dt;
}
+void Enemy2::respawn(int sirina,int visina)
+{
+ Entity::respawn(sirina,visina);
+ vx=vy=0;
+}
diff --git a/src/Game.cpp b/src/Game.cpp
index 2991f88..2fadf1c 100644
--- a/src/Game.cpp
+++ b/src/Game.cpp
@@ -4,16 +4,23 @@
void Game::initshapes()
{
health.setSize(sf::Vector2f(sirina/3.0,50.0));
- health.setFillColor(sf::Color::Red);
+ health.setFillColor(sf::Color(255,0,0,200));
healthblank.setSize(sf::Vector2f(sirina/3.0,50.0));
- healthblank.setFillColor(sf::Color::White);
+ healthblank.setFillColor(sf::Color(255,255,255,200));
stomp.setSize(sf::Vector2f(sirina/3.0,50.0));
- stomp.setFillColor(sf::Color::Blue);
+ stomp.setFillColor(sf::Color(0,0,255,200));
stomp.setPosition(0,50);
stompblank.setSize(sf::Vector2f(sirina/3.0,50.0));
- stompblank.setFillColor(sf::Color::White);
+ stompblank.setFillColor(sf::Color(255,255,255,200));
stompblank.setPosition(0,50);
+
+ vampiric.setSize(sf::Vector2f(sirina/3.0,50.0));
+ vampiric.setFillColor(sf::Color(170,10,10,200));
+ vampiric.setPosition(0,100);
+ vampiricblank.setSize(sf::Vector2f(sirina/3.0,50.0));
+ vampiricblank.setFillColor(sf::Color(255,255,255,200));
+ vampiricblank.setPosition(0,100);
}
void Game::initui()
{
@@ -26,6 +33,11 @@ void Game::initui()
stomptext.setCharacterSize(24);
stomptext.setPosition(0,50);
stomptext.setFillColor(sf::Color::Black);
+ vampirictext.setFont(*font["default"]);
+ vampirictext.setString("Vampiric");
+ vampirictext.setCharacterSize(24);
+ vampirictext.setPosition(0,100);
+ vampirictext.setFillColor(sf::Color::Black);
fps.setFont(*font["default"]);
fps.setCharacterSize(24);
@@ -76,11 +88,6 @@ void Game::updatewin()
stompblank.setSize(sf::Vector2f(sirina/3.0,50.0));
fps.setPosition(sirina*5.0/6,0);
score.setPosition(sirina*5.0/6,50);
- updateui();
-}
-Game::Game()
-{
-
}
Game::Game(sf::RenderWindow *glprozor,std::map<std::string,sf::Font*> mainfont,std::map<std::string,sf::Texture*> maintex)
{
@@ -89,10 +96,12 @@ Game::Game(sf::RenderWindow *glprozor,std::map<std::string,sf::Font*> mainfont,s
tex=maintex;
updatewin();
- initui();
initshapes();
initent();
inittex();
+ updatedt();
+ initui();
+ updateui();
}
bool Game::gameover()
{
@@ -107,7 +116,10 @@ void Game::updatedt()
void Game::updateui()
{
health.setSize(sf::Vector2f(sirina*igrac.health/300.0,50.0));
+ if(igrac.health>=100) healthblank.setSize(health.getSize());
+ else healthblank.setSize(sf::Vector2f(sirina/3.0,50.0));
stomp.setSize(sf::Vector2f(sirina*(5-igrac.stomptime)/15.0,50.0));
+ vampiric.setSize(sf::Vector2f(sirina*(igrac.vampirictime)/36.0,50.0));
fps.setString("fps: "+std::to_string((int)(1/dt)));
score.setString("xp: "+std::to_string(igrac.xp));
}
@@ -172,6 +184,12 @@ void Game::draw()
prozor->draw(stompblank);
prozor->draw(stomp);
prozor->draw(stomptext);
+ if(igrac.vampirictime>0)
+ {
+ prozor->draw(vampiricblank);
+ prozor->draw(vampiric);
+ prozor->draw(vampirictext);
+ }
prozor->draw(fps);
prozor->draw(score);
}
@@ -306,7 +324,11 @@ void Game::run()
void Game::loop(bool ischanged,bool pause)
{
updatedt();
- if(ischanged) updatewin();
+ if(ischanged)
+ {
+ updatewin();
+ updateui();
+ }
if(!pause)
{
keyboard();
diff --git a/src/includes/Enemy2.hpp b/src/includes/Enemy2.hpp
index c619c54..a224013 100644
--- a/src/includes/Enemy2.hpp
+++ b/src/includes/Enemy2.hpp
@@ -12,6 +12,7 @@ class Enemy2:public Entity
Enemy2(sf::Vector2f pozicija,sf::Vector2f velicina,sf::Color boja);
void izracunajbrzinu(float igracx,float igracy,float dt);
void izracunajpoz(float igracx,float igracy,float dt);
+ void respawn(int sirina,int visina);
};
#endif
diff --git a/src/includes/Game.hpp b/src/includes/Game.hpp
index b04b1c3..d893fd8 100644
--- a/src/includes/Game.hpp
+++ b/src/includes/Game.hpp
@@ -24,8 +24,8 @@ class Game
int visina,sirina;
sf::RenderWindow *prozor;
- sf::RectangleShape health,healthblank,stomp,stompblank;
- sf::Text healthtext,stomptext,fps,score;
+ sf::RectangleShape health,healthblank,stomp,stompblank,vampiric,vampiricblank;
+ sf::Text healthtext,stomptext,fps,score,vampirictext;
void keyboard();
void run();
@@ -44,7 +44,6 @@ class Game
void initent();
void updatewin();
public:
- Game();
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();