Loading Enemies.cpp +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 Loading @@ -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) Loading @@ -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) Loading @@ -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(); Loading @@ -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(); } Loading Enemies.h +5 −7 Original line number Diff line number Diff line Loading @@ -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); }; Loading Enemy.cpp +4 −13 Original line number Diff line number Diff line Loading @@ -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; } Loading @@ -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; Loading Loading @@ -134,7 +126,6 @@ void Enemy::attack_animations(sf::RenderWindow &win) win.draw(laser1); win.draw(laser2); } Loading Enemy.h +1 −3 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ enum GameMode: int {NORMAL, HERO, GOD}; enum GameMode: int {NORMAL = 0, HERO = 1, GOD}; struct Position { Loading @@ -15,7 +15,6 @@ struct Position class Enemy { int health; int speed; int attack; sf::Texture enemy_texture; sf::Sprite enemy_sprite; Loading @@ -32,7 +31,6 @@ public: Position get_position() const; int get_health() const; int get_attack() const; void draw_enemy(sf::RenderWindow &win); }; Loading Falcon_9.cpp +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; Loading @@ -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); Loading @@ -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) Loading Loading @@ -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); } Loading Loading @@ -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; } Loading @@ -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); } } Loading @@ -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
Enemies.cpp +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 Loading @@ -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) Loading @@ -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) Loading @@ -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(); Loading @@ -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(); } Loading
Enemies.h +5 −7 Original line number Diff line number Diff line Loading @@ -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); }; Loading
Enemy.cpp +4 −13 Original line number Diff line number Diff line Loading @@ -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; } Loading @@ -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; Loading Loading @@ -134,7 +126,6 @@ void Enemy::attack_animations(sf::RenderWindow &win) win.draw(laser1); win.draw(laser2); } Loading
Enemy.h +1 −3 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ enum GameMode: int {NORMAL, HERO, GOD}; enum GameMode: int {NORMAL = 0, HERO = 1, GOD}; struct Position { Loading @@ -15,7 +15,6 @@ struct Position class Enemy { int health; int speed; int attack; sf::Texture enemy_texture; sf::Sprite enemy_sprite; Loading @@ -32,7 +31,6 @@ public: Position get_position() const; int get_health() const; int get_attack() const; void draw_enemy(sf::RenderWindow &win); }; Loading
Falcon_9.cpp +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; Loading @@ -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); Loading @@ -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) Loading Loading @@ -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); } Loading Loading @@ -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; } Loading @@ -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); } } Loading @@ -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(); }