diff options
| author | aleksav013 <aleksav013@gmail.com> | 2021-05-20 19:43:53 +0200 |
|---|---|---|
| committer | aleksav013 <aleksav013@gmail.com> | 2021-05-20 19:43:53 +0200 |
| commit | ca919785fbc94b4c4aa29efd9649d89a8c266f22 (patch) | |
| tree | f1ec36930fd40322eff411736c90d97d06955404 /main.cpp | |
| parent | 6df5ab82ba8b59ccada491f05c285551c5dd2c2e (diff) | |
Initial commit
Diffstat (limited to 'main.cpp')
| -rw-r--r-- | main.cpp | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..4614500 --- /dev/null +++ b/main.cpp @@ -0,0 +1,83 @@ +#include<iostream> +#include<SFML/Graphics.hpp> +class Player +{ + public: + float x,y; + sf::RectangleShape telo; + Player(); +}; +Player::Player() +{ + telo.setSize(sf::Vector2f(100.0f,100.0f)); + telo.setOrigin(sf::Vector2f(telo.getSize().x/2,telo.getSize().y/2)); + x=y=0; +} +class Game +{ + Player igrac; + sf::RenderWindow prozor; + public: + Game(); + void loop(); + void events(); + void keyboard(); + void run(); + void draw(); +}; +Game::Game() +{ + prozor.create(sf::VideoMode(512,512),"RPG igra"); + igrac.x=(float)prozor.getSize().x/2; + igrac.y=(float)prozor.getSize().y/2; +} +void Game::keyboard() +{ + float dist=10.0; + if(sf::Keyboard::isKeyPressed(sf::Keyboard::W)) igrac.y-=dist; + if(sf::Keyboard::isKeyPressed(sf::Keyboard::A)) igrac.x-=dist; + if(sf::Keyboard::isKeyPressed(sf::Keyboard::S)) igrac.y+=dist; + if(sf::Keyboard::isKeyPressed(sf::Keyboard::D)) igrac.x+=dist; +} +void Game::events() +{ + sf::Event evnt; + while(prozor.pollEvent(evnt)) + { + switch(evnt.type) + { + case sf::Event::EventType::Closed: + prozor.close(); + break; + case sf::Event::EventType::Resized: + std::cout<<"Nova velicina prozora je:"<<prozor.getSize().x<<' '<<prozor.getSize().x<<std::endl; + break; + } + } + keyboard(); +} +void Game::draw() +{ + prozor.clear(); + prozor.draw(igrac.telo); + prozor.display(); +} +void Game::run() +{ + igrac.telo.setPosition(igrac.x,igrac.y); +} +void Game::loop() +{ + while(prozor.isOpen()) + { + events(); + run(); + draw(); + } +} +int main() +{ + Game igra; + igra.loop(); + return 0; +} |
