Commit a886f7d2 authored by Illia Aldabaiev's avatar Illia Aldabaiev
Browse files

laser collisions

parent 5fdad2b0
Loading
Loading
Loading
Loading
+30 −10
Original line number Diff line number Diff line
#include <iostream>
#include "Enemies.h"

Enemies::Enemies(GameMode m) :Enemy(m)
{
    int speed = 10;
    m = mode;
    mode = m;
}

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);
}

Enemy Enemies::get_enemy(int idx)
{
    return enemy[idx];
}

//void Enemies::check_health(int idx)
//{
//    if (enemy[idx].get_health() <= 0)
//        remove_enemy(idx);
//}

void Enemies::add_enemy()
{
    Enemy e(mode);
@@ -13,8 +35,14 @@ void Enemies::add_enemy()
    enemy.push_back(e);
}

void Enemies::remove_enemy(int &i)
void Enemies::remove_enemy(int &idx)
{
    enemy[idx].hit(1);
    if (enemy[idx].get_health() <= 0)
    {
        enemy.erase(enemy.begin() + idx);
        add_enemy();
    }

}

@@ -26,15 +54,7 @@ void Enemies::draw_enemys(sf::RenderWindow &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 −2
Original line number Diff line number Diff line
@@ -13,10 +13,13 @@ class Enemies : public Enemy{
public:
    Enemies(GameMode m);
    void add_enemy();
    void remove_enemy(int &i);
    int get_enemies_count() const;
    void remove_enemy(int &idx);
    void check_health(int idx);
    void set_position(int n, int pos_x, int pos_y);
    int get_enemies_count() const;
    Enemy get_enemy(int idx);
    void draw_enemys(sf::RenderWindow &win);

};


+6 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ Enemy::Enemy(GameMode mode)
    }
}

void Enemy::hit(int &h)
void Enemy::hit(int h)
{
    health -= h;
}
@@ -73,4 +73,9 @@ void Enemy::set_position(int pos_x, int pos_y)
    enemy_sprite.setPosition(unit.position_x,unit.position_y);
}

Unit Enemy::get_position()
{
    return unit;
}

+2 −1
Original line number Diff line number Diff line
@@ -22,11 +22,12 @@ class Enemy {

public:
    explicit Enemy(GameMode mode);
    void hit(int &h);
    void hit(int h);
    void set_health(int h);
    void set_speed(int s);
    void set_rand_position();
    void set_position(int pos_x, int pos_y);
    Unit get_position();
    void draw_enemy(sf::RenderWindow &win);
    int get_health() const;
    int get_speed() const;
+15 −0
Original line number Diff line number Diff line
@@ -139,4 +139,19 @@ void Falcon_9::return_laser()
    }
}

int Falcon_9::get_scope_pos_x() const
{
    return scope_pos_x;
}

int Falcon_9::get_scope_pos_y() const
{
    return scope_pos_y;
}

bool Falcon_9::get_laser_condition() const
{
    return laser_bool;
}

Loading