From 4a5570448e7e2a5b80636a8c2b71212049fa2ba1 Mon Sep 17 00:00:00 2001 From: aleksav013 Date: Fri, 21 May 2021 22:33:07 +0200 Subject: Making enemies move; Basic functionality --- main.cpp | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 84 insertions(+), 8 deletions(-) diff --git a/main.cpp b/main.cpp index 8f7227f..9b50140 100644 --- a/main.cpp +++ b/main.cpp @@ -1,10 +1,8 @@ -#include -#include #include #include #include std::mt19937 rng(time(0)); -const int n=30; +const int n=20; class Entity { public: @@ -24,25 +22,59 @@ Entity::Entity(sf::Vector2f pozicija, sf::Vector2f velicina,sf::Color boja) class Enemy:public Entity { public: + bool ziv=1; Enemy():Entity() {} Enemy(sf::Vector2f pozicija,sf::Vector2f velicina,sf::Color boja):Entity(pozicija,velicina,boja) {} + void kaigracu(float igracx,float igracy); }; +void Enemy::kaigracu(float igracx,float igracy) +{ + float k=(igracy-y)/(igracx-x); + float r=1.0; + float dx=r/std::sqrt(1+k*k); + if(igracx-x<0) dx=-dx; + float dy=k*dx; + + x+=dx; + y+=dy; + +} class Player:public Entity { - int health; public: + int health,xp; + int stomprad=300; + float stomptime; + Player():Entity() {} Player(sf::Vector2f pozicija,sf::Vector2f velicina,sf::Color boja):Entity(pozicija,velicina,boja) { health=100; + xp=0; + stomptime=0; } + void stomp(Enemy neprijatelj[]); }; +void Player::stomp(Enemy neprijatelj[]) +{ + stomptime=3; + for(int i=0;i0) igrac.x-=dist; if(sf::Keyboard::isKeyPressed(sf::Keyboard::S)&&igrac.y2.8) prozor.draw(krug); prozor.draw(igrac.telo); - for(int i=0;i0) igrac.stomptime-=0.01; igrac.telo.setPosition(igrac.x,igrac.y); - for(int i=0;i