#include"includes/Global.hpp" #include"includes/Game.hpp" void Game::initshapes() { health.setSize(sf::Vector2f(sirina/3.0,50.0)); health.setFillColor(sf::Color(255,0,0,200)); healthblank.setSize(sf::Vector2f(sirina/3.0,50.0)); healthblank.setFillColor(sf::Color(255,255,255,200)); stomp.setSize(sf::Vector2f(sirina/3.0,50.0)); 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(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() { healthtext.setFont(*font["default"]); healthtext.setString("Health"); healthtext.setCharacterSize(24); healthtext.setFillColor(sf::Color::Black); stomptext.setFont(*font["default"]); stomptext.setString("Stomp"); 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); fps.setFillColor(sf::Color::White); fps.setPosition(sirina*5.0/6,0); score.setFont(*font["default"]); score.setCharacterSize(24); score.setFillColor(sf::Color::White); score.setPosition(sirina*5.0/6,50); } void Game::pwptex() { for(size_t i=0;igetSize().y; sirina=prozor->getSize().x; healthblank.setSize(sf::Vector2f(sirina/3.0,50.0)); stompblank.setSize(sf::Vector2f(sirina/3.0,50.0)); fps.setPosition(sirina*5.0/6,0); score.setPosition(sirina*5.0/6,50); } Game::Game(sf::RenderWindow *glprozor,std::map mainfont,std::map maintex) { prozor=glprozor; font=mainfont; tex=maintex; updatewin(); initshapes(); initent(); inittex(); updatedt(); initui(); updateui(); } bool Game::gameover() { if(igrac.health<=0) return 1; return 0; } void Game::updatedt() { dt=sat.restart().asMicroseconds()/1000000.0; if(dt>1) dt=0; } 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)); } void Game::stompmain() { igrac.stomptime=5; igrac.krug.setPosition(igrac.x,igrac.y); for(size_t i=0;i0) igrac.health+=5; } } for(size_t i=0;i0) igrac.health+=10; } } for(size_t i=0;i0) igrac.health+=20; } } } void Game::keyboard() { float dist=500.0*dt; if((sf::Keyboard::isKeyPressed(sf::Keyboard::W)||sf::Keyboard::isKeyPressed(sf::Keyboard::Up))&&igrac.y>0) igrac.y-=dist; if((sf::Keyboard::isKeyPressed(sf::Keyboard::A)||sf::Keyboard::isKeyPressed(sf::Keyboard::Left))&&igrac.x>0) igrac.x-=dist; if((sf::Keyboard::isKeyPressed(sf::Keyboard::S)||sf::Keyboard::isKeyPressed(sf::Keyboard::Down))&&igrac.y4.6) { if(igrac.vampirictime>0) igrac.krug.setOutlineColor(sf::Color::Red); else igrac.krug.setOutlineColor(sf::Color::White); prozor->draw(igrac.krug); } prozor->draw(igrac.telo); for(size_t i=0;idraw(nep1.at(i).telo); for(size_t i=0;idraw(nep2.at(i).telo); for(size_t i=0;idraw(nep3.at(i).telo); for(size_t i=0;idraw(pow.at(i).telo); prozor->draw(healthblank); prozor->draw(health); prozor->draw(healthtext); 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); } void Game::position() { igrac.telo.setPosition(igrac.x,igrac.y); for(size_t i=0;i