Commit 5fdad2b0 authored by Illia Aldabaiev's avatar Illia Aldabaiev
Browse files

move enemies

parent fd3ef088
Loading
Loading
Loading
Loading
+28 −8
Original line number Diff line number Diff line
#include "Enemies.h"

Enemies::Enemies(GameMode mode) :Enemy(mode)
Enemies::Enemies(GameMode m) :Enemy(m)
{

    int speed = 10;
    m = mode;
}

    for (int i = 0; i < 1; ++i)
void Enemies::add_enemy()
{
        Enemy enemy_n(mode);
        enemy.push_back(enemy_n);
    Enemy e(mode);
    e.set_rand_position();
    enemy.push_back(e);
}

void Enemies::remove_enemy(int &i)
{

}

void Enemies::display_enemys(sf::RenderWindow &win)
void Enemies::draw_enemys(sf::RenderWindow &win)
{
    for (int i = 0; i < enemy.size(); ++i)
    {
        enemy[i].draw_enemy(win);
    }
}

int Enemies::get_enemies_count() const
{
    return enemy.size();
}

void Enemies::set_position(int n, int pos_x, int pos_y)
{
    enemy[n].set_position(pos_x,pos_y);
}



+5 −3
Original line number Diff line number Diff line
@@ -8,13 +8,15 @@

class Enemies : public Enemy{
    std::vector<Enemy> enemy;
    GameMode mode;

public:
    Enemies(GameMode mode);
    Enemies(GameMode m);
    void add_enemy();
    void remove_enemy(int &i);
    void display_enemys(sf::RenderWindow &win);

    int get_enemies_count() const;
    void set_position(int n, int pos_x, int pos_y);
    void draw_enemys(sf::RenderWindow &win);
};


+28 −7
Original line number Diff line number Diff line
@@ -9,8 +9,8 @@ Enemy::Enemy(GameMode mode)
        abort();
    }

    enemy.setTexture(enemy_texture);
    enemy.setPosition(400,360);
    set_rand_position();

    switch (mode)
    {
        case NORMAL:
@@ -33,23 +33,44 @@ void Enemy::hit(int &h)
    health -= h;
}

void Enemy::setSpeed(int &s)
void Enemy::set_speed(int s)
{
    health = s;
}

int Enemy::getHealth() const
void Enemy::set_health(int h)
{
    health = h;
}

int Enemy::get_health() const
{
    return health;
}

int Enemy::getSpeed() const
int Enemy::get_speed() const
{
    return speed;
}

void Enemy::draw_enemy(sf::RenderWindow &win) const
void Enemy::set_rand_position()
{
    win.draw(enemy);
    unit.position_x = rand() % 1280;
    unit.position_y = rand() % 535;
    enemy_sprite.setPosition(unit.position_x, unit.position_y);
}

void Enemy::draw_enemy(sf::RenderWindow &win)
{
    enemy_sprite.setTexture(enemy_texture);
    win.draw(enemy_sprite);
}

void Enemy::set_position(int pos_x, int pos_y)
{
    unit.position_x += pos_x;
    unit.position_y += pos_y;
    enemy_sprite.setPosition(unit.position_x,unit.position_y);
}

+15 −5
Original line number Diff line number Diff line
@@ -7,19 +7,29 @@

enum GameMode: int {NORMAL, HERO, GOD};

struct Unit
{
    int position_x;
    int position_y;
};

class Enemy {
    int health;
    int speed;
    sf::Texture enemy_texture;
    sf::Sprite enemy;
    sf::Sprite enemy_sprite;
    Unit unit;

public:
    explicit Enemy(GameMode mode);
    void hit(int &h);
    void setSpeed(int &s);
    int getHealth() const;
    int getSpeed() const;
    void draw_enemy(sf::RenderWindow &win) const;
    void set_health(int h);
    void set_speed(int s);
    void set_rand_position();
    void set_position(int pos_x, int pos_y);
    void draw_enemy(sf::RenderWindow &win);
    int get_health() const;
    int get_speed() const;
};


+2 −2
Original line number Diff line number Diff line
@@ -95,9 +95,9 @@ void Falcon_9::set_laser_pos()
        scope_pos_x += 5;
    if (down_laser)
        scope_pos_y += 5;
    else
        return_laser();


    return_laser();
    sprite_scope.setPosition(scope_pos_x, scope_pos_y);
}

Loading