Commit 4e973d29 authored by Illia Aldabaiev's avatar Illia Aldabaiev
Browse files

segmentation fault was fixed

parent a886f7d2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ set(CMAKE_CXX_STANDARD 14)

add_executable(SpaceTour_ main.cpp OpenSpace.cpp OpenSpace.h ScreenController.cpp ScreenController.h Falcon_9.cpp Falcon_9.h Enemy.cpp Enemy.h Enemies.cpp Enemies.h Menu.cpp Menu.h)

add_compile_options(-Wall -Wextra)
add_compile_options(-Wall -Wextra -pedantic)
include_directories(/usr/local/include)

find_package(SFML 2.5 COMPONENTS system window graphics network audio REQUIRED)
+0 −6
Original line number Diff line number Diff line
@@ -22,11 +22,6 @@ 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()
{
@@ -43,7 +38,6 @@ void Enemies::remove_enemy(int &idx)
        enemy.erase(enemy.begin() + idx);
        add_enemy();
    }

}

void Enemies::draw_enemys(sf::RenderWindow &win)
+25 −2
Original line number Diff line number Diff line
@@ -22,6 +22,12 @@ Falcon_9::Falcon_9()
    laser_bool = false;
    right_or_left_laser = true;

    health = 50;

    healt_elem = sf::RectangleShape(sf::Vector2f(5, 20));
    healt_elem.setFillColor(sf::Color::Red);
    health_bar_position_x = 15;

    sprite_cabine.setPosition(0, 0);
    sprite_cabine.setTexture(cabine_texture);
    sprite_cabine.setRotation(2);
@@ -39,10 +45,16 @@ Falcon_9::Falcon_9()

}

void Falcon_9::draw_falcon(sf::RenderWindow &win) const
void Falcon_9::draw_falcon(sf::RenderWindow &win)
{
    win.draw(sprite_cabine);
    set_health_bar();

    win.draw(sprite_scope);
    win.draw(sprite_cabine);
    for (int i = 0; i < health; ++i)
    {
        win.draw(health_bar[i]);
    }
}

int Falcon_9::get_speed()
@@ -154,4 +166,15 @@ bool Falcon_9::get_laser_condition() const
    return laser_bool;
}

void Falcon_9::set_health_bar()
{
    for (int i = 0; i < health; ++i)
    {
        health_bar_position_x += 7;
        healt_elem.setPosition(health_bar_position_x,15);
        health_bar.push_back(healt_elem);

    }
}

+6 −2
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ class Falcon_9 {
    sf::Texture cabine_texture;
    sf::Sprite sprite_cabine;
    sf::Sprite sprite_scope;
    sf::VertexArray laser;
    sf::RectangleShape healt_elem;

    bool left_laser;
    bool up_laser;
@@ -19,12 +19,16 @@ class Falcon_9 {
    bool right_or_left_laser;
    int scope_pos_x;
    int scope_pos_y;
    int health;
    float health_bar_position_x;
    std::vector<sf::RectangleShape> health_bar;

public:
    Falcon_9();
    void draw_falcon(sf::RenderWindow &win) const;
    void draw_falcon(sf::RenderWindow &win);
    void lasers(sf::RenderWindow &win);
    void key_press(sf::Event &e, bool set);
    void set_health_bar();
    void set_laser_pos();
    int get_scope_pos_x() const;
    int get_scope_pos_y() const;
+4 −4
Original line number Diff line number Diff line
@@ -121,25 +121,25 @@ void OpenSpace::move_falcon(int &i)
    if (left)
    {
        stars[i].star_position_x += 2;
        if (i <= check)
        if (i < check)
            enemies.set_position(i,3,0);
    }
    if (up)
    {
        stars[i].star_position_y += 2;
        if (i <= check)
        if (i < check)
            enemies.set_position(i,0,3);
    }
    if (right)
    {
        stars[i].star_position_x -= 2;
        if (i <= check)
        if (i < check)
            enemies.set_position(i,-3,0);
    }
    if (down)
    {
        stars[i].star_position_y -= 2;
        if (i <= check)
        if (i < check)
            enemies.set_position(i,0,-3);
    }
}
Loading