Commit 8db81bc7 authored by Illia Aldabaiev's avatar Illia Aldabaiev
Browse files

Ready project version 1.0

parent 5967b687
Loading
Loading
Loading
Loading
+18 −9
Original line number Diff line number Diff line
#include <iostream>
#include "Enemies.h"

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

int Enemies::get_enemies_count() const
@@ -22,21 +19,23 @@ Enemy Enemies::get_enemy(int idx)
    return enemy[idx];
}

void Enemies::add_enemy()
void Enemies::add_enemy(GameMode m)
{
    Enemy e(mode);
    Enemy e(m);
    e.set_rand_position();
    enemy.push_back(e);
}

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

void Enemies::draw_enemys(sf::RenderWindow &win)
@@ -60,7 +59,6 @@ void Enemies::move_back_to_screen(int idx)
        last_pos_y = enemy[idx].get_position().position_y;
        clock.restart();
    }

    if (time1.asMicroseconds() > 0.1)
    {
        if (new_pos_x < last_pos_x)
@@ -83,7 +81,6 @@ int Enemies::attack(sf::RenderWindow &win)

    if (cool_dawn.asSeconds() > 5)
    {
//        std::cout << "Hit!\n";
        cool_dawn_attack.restart();
        enemy[en].attack_animations(win);
        return enemy[en].get_attack();
@@ -91,6 +88,18 @@ int Enemies::attack(sf::RenderWindow &win)
    return 0;
}

void Enemies::reset_enemies()
{
    enemy.clear();
}

void Enemies::restart_clock()
{
    clock.restart();
    clock1.restart();
    cool_dawn_attack.restart();
}




+5 −7
Original line number Diff line number Diff line
@@ -8,25 +8,23 @@

class Enemies : public Enemy{
    std::vector<Enemy> enemy;
    GameMode mode;
    int last_pos_x;
    int last_pos_y;
    sf::Clock clock;
    sf::Clock clock1;
    sf::Clock cool_dawn_attack;


public:
    Enemies(GameMode m);
    explicit Enemies(GameMode m);
    void move_back_to_screen(int idx);

    void set_position(int n, int pos_x, int pos_y);
    int get_enemies_count() const;
    Enemy get_enemy(int idx);
    void add_enemy();
    void remove_enemy(int &idx);
    void add_enemy(GameMode m);
    int remove_enemy(int &idx, GameMode m);
    int attack(sf::RenderWindow &win);

    void restart_clock();
    void reset_enemies();
    void draw_enemys(sf::RenderWindow &win);

};
+4 −13
Original line number Diff line number Diff line
@@ -14,18 +14,15 @@ Enemy::Enemy(GameMode mode)
    switch (mode)
    {
        case NORMAL:
            health = 10;
            speed = 5;
            attack = 10;
            health = 1;
            attack = 4;
            break;
        case HERO:
            health = 15;
            speed = 6;
            attack = 15;
            health = 10;
            attack = 6;
            break;
        case GOD:
            health = 20;
            speed = 7;
            attack = 20;
            break;
    }
@@ -36,11 +33,6 @@ void Enemy::hit(int h)
    health -= h;
}

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

int Enemy::get_health() const
{
    return health;
@@ -134,7 +126,6 @@ void Enemy::attack_animations(sf::RenderWindow &win)

    win.draw(laser1);
    win.draw(laser2);

}


+1 −3
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@



enum GameMode: int {NORMAL, HERO, GOD};
enum GameMode: int {NORMAL = 0, HERO = 1, GOD};

struct Position
{
@@ -15,7 +15,6 @@ struct Position

class Enemy {
    int health;
    int speed;
    int attack;
    sf::Texture enemy_texture;
    sf::Sprite enemy_sprite;
@@ -32,7 +31,6 @@ public:
    Position get_position() const;
    int get_health() const;
    int get_attack() const;

    void draw_enemy(sf::RenderWindow &win);
};

+79 −7
Original line number Diff line number Diff line
#include <iostream>
#include "Falcon_9.h"
#include "sstream"


Falcon_9::Falcon_9()
{
    if (!font.loadFromFile("../Fonts/Arial.ttf"))
    {
        std::cerr << strerror(errno) << std::endl;
        abort();
    }
    if (!cabine_texture.loadFromFile("../IMG/cabine1.png"))
    {
        std::cerr << strerror(errno) << std::endl;
@@ -22,11 +28,12 @@ Falcon_9::Falcon_9()
    laser_bool = false;
    right_or_left_laser = true;

    score = 0;
    health = 50;

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

    sprite_cabine.setPosition(0, 0);
    sprite_cabine.setTexture(cabine_texture);
@@ -34,15 +41,25 @@ Falcon_9::Falcon_9()
    sprite_cabine.setScale(1, 1.05);
    sprite_cabine.setPosition(0, -40);


    scope_pos_x = 640;
    scope_pos_y = 360;

    sprite_scope.setTexture(scope_texture);
    sprite_scope.setPosition(scope_pos_x, scope_pos_y);

    score_txt.setFont(font);
    score_txt.setString("Score: ");
    score_txt.setFillColor(sf::Color(132, 77, 248));
    score_txt.setPosition(1110,5);

    speed = 5;
    score_num.setFont(font);
    score_num.setFillColor(sf::Color(132, 77, 248));
    score_num.setPosition(1215,5);

    mode_txt.setFont(font);
    mode_txt.setPosition(1040,670);
    mode_txt.setFillColor(sf::Color(132, 77, 248));
}

void Falcon_9::lasers(sf::RenderWindow &win)
@@ -95,7 +112,6 @@ void Falcon_9::set_laser_pos()
    if (down_laser)
        scope_pos_y += 5;


    return_laser();
    sprite_scope.setPosition(scope_pos_x, scope_pos_y);
}
@@ -138,12 +154,12 @@ void Falcon_9::return_laser()
    }
}

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

int Falcon_9::get_scope_pos_y() const
float Falcon_9::get_scope_pos_y() const
{
    return scope_pos_y;
}
@@ -158,9 +174,8 @@ 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);
        healt_elem.setPosition(health_bar_position_x,5);
        health_bar.push_back(healt_elem);

    }
}

@@ -181,10 +196,67 @@ void Falcon_9::draw_falcon(sf::RenderWindow &win)
    set_health_bar();
    win.draw(sprite_scope);
    win.draw(sprite_cabine);
    draw_score(win);
    for (int i = 0; i < health; ++i)
    {
        win.draw(health_bar[i]);
    }
}

void Falcon_9::draw_score(sf::RenderWindow &win, std::string str)
{
    if(str == "finish")
    {
        score_txt.setPosition(560,350);
        score_num.setPosition(675,350);
    }
    win.draw(score_txt);
    score_num.setString(number_to_string(score));
    win.draw(score_num);
}

void Falcon_9::draw_mode(sf::RenderWindow &win, std::string str_mode)
{
    mode_txt.setString(str_mode);
    win.draw(mode_txt);
}

void Falcon_9::increase_score(int s)
{
    score += s;
}

void Falcon_9::restart_clock()
{
    clock.restart();
}

void Falcon_9::reser_falcon()
{
    scope_pos_x = 640;
    scope_pos_y = 360;
    sprite_scope.setPosition(scope_pos_x, scope_pos_y);
    health = 50;
    score = 0;
    score_txt.setPosition(1110,5);
    score_num.setPosition(1215,5);
    left_laser = false;
    up_laser = false;
    right_laser = false;
    down_laser = false;
    laser_bool = false;
    right_or_left_laser = true;
}

std::string Falcon_9::number_to_string(int num)
{
    std::stringstream score;
    score << num << std::endl;
    return score.str();
}





Loading