Loading Enemies.cpp +59 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,65 @@ void Enemies::draw_enemys(sf::RenderWindow &win) } } void Enemies::move_back_to_screen(int idx) { int new_pos_x = set_rand_position_on_the_screen().position_x; int new_pos_y = set_rand_position_on_the_screen().position_y; sf::Time time = clock.getElapsedTime(); if (time.asMicroseconds() > 0.4) { last_pos_x = enemy[idx].get_position().position_x; last_pos_y = enemy[idx].get_position().position_y; clock.restart(); } sf::Time time1 = clock1.getElapsedTime(); if (time1.asMicroseconds() > 0.1) { if (new_pos_x < last_pos_x) last_pos_x -= 5; if (new_pos_x > last_pos_x) last_pos_x += 5; if (new_pos_y < last_pos_y) last_pos_y -= 5; if (new_pos_y > last_pos_y) last_pos_y += 5; enemy[idx].set_position(last_pos_x, last_pos_y, "equel"); clock1.restart(); } } //void Enemies::move_enemies() //{ // for (int i = 0; i < enemy.size(); ++i) // { // Unit new_pos = set_rand_position_on_the_screen(); // Unit pos_now = enemy[i].get_position(); // // sf::Time time2 = clock2.getElapsedTime(); // if (time2.asSeconds() > 0.5) // { // while (new_pos.position_x != pos_now.position_x && // new_pos.position_y != pos_now.position_y) // { // sf::Time time1 = clock1.getElapsedTime(); // if (time1.asSeconds() > 0.5) { // if (pos_now.position_x < new_pos.position_x) // ++pos_now.position_x; // if (pos_now.position_x > new_pos.position_x) // --pos_now.position_x; // if (pos_now.position_y < new_pos.position_y) // ++pos_now.position_y; // if (pos_now.position_y > new_pos.position_y) // --pos_now.position_x; // enemy[i].set_position(pos_now.position_x, pos_now.position_y, "equel"); // clock1.restart(); // } // } // } // } //} Loading Enemies.h +8 −0 Original line number Diff line number Diff line Loading @@ -9,13 +9,21 @@ 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 clock2; sf::Time current_time; public: Enemies(GameMode m); void add_enemy(); void remove_enemy(int &idx); void move_back_to_screen(int idx); void check_health(int idx); void set_position(int n, int pos_x, int pos_y); void move_enemies(); int get_enemies_count() const; Enemy get_enemy(int idx); void draw_enemys(sf::RenderWindow &win); Loading Enemy.cpp +43 −5 Original line number Diff line number Diff line Loading @@ -55,21 +55,46 @@ int Enemy::get_speed() const void Enemy::set_rand_position() { unit.position_x = rand() % 1280; unit.position_y = rand() % 535; if(rand() % 2) { unit.position_x = -200; } else { unit.position_x = 1480; } if (rand() % 2) { unit.position_y = -100; } else { unit.position_y = 820; } enemy_sprite.setPosition(unit.position_x, unit.position_y); } void Enemy::draw_enemy(sf::RenderWindow &win) { enemy_sprite.setTexture(enemy_texture); enemy_sprite.setPosition(unit.position_x,unit.position_y); win.draw(enemy_sprite); } void Enemy::set_position(int pos_x, int pos_y) void Enemy::set_position(int pos_x, int pos_y, std::string str) { if (str == "equel") { unit.position_x = pos_x; unit.position_y = pos_y; } if (str == "increase") { unit.position_x += pos_x; unit.position_y += pos_y; } enemy_sprite.setPosition(unit.position_x,unit.position_y); } Loading @@ -78,4 +103,17 @@ Unit Enemy::get_position() return unit; } Unit Enemy::set_rand_position_on_the_screen() { Unit position; position.position_x = rand() % 960 + 160; position.position_y = rand() % 540; return position; } bool Enemy::need_or_not_move_enemy() { return false; } Enemy.h +3 −1 Original line number Diff line number Diff line Loading @@ -26,8 +26,10 @@ public: void set_health(int h); void set_speed(int s); void set_rand_position(); void set_position(int pos_x, int pos_y); Unit set_rand_position_on_the_screen(); void set_position(int pos_x, int pos_y, std::string str = "increase"); Unit get_position(); bool need_or_not_move_enemy(); void draw_enemy(sf::RenderWindow &win); int get_health() const; int get_speed() const; Loading Falcon_9.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -47,8 +47,9 @@ Falcon_9::Falcon_9() void Falcon_9::draw_falcon(sf::RenderWindow &win) { sf::Time time = clock.getElapsedTime(); current_time = time; set_health_bar(); win.draw(sprite_scope); win.draw(sprite_cabine); for (int i = 0; i < health; ++i) Loading Loading @@ -93,7 +94,11 @@ void Falcon_9::lasers(sf::RenderWindow &win) { win.draw(laser2); } if(current_time.asMilliseconds() > 70) { (right_or_left_laser)? right_or_left_laser = false : right_or_left_laser = true; clock.restart(); } } } Loading @@ -116,7 +121,7 @@ void Falcon_9::set_laser_pos() void Falcon_9::key_press(sf::Event &e, bool set) { int key = e.key.code; std::cout << key; switch (key) { case 71: Loading Loading
Enemies.cpp +59 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,65 @@ void Enemies::draw_enemys(sf::RenderWindow &win) } } void Enemies::move_back_to_screen(int idx) { int new_pos_x = set_rand_position_on_the_screen().position_x; int new_pos_y = set_rand_position_on_the_screen().position_y; sf::Time time = clock.getElapsedTime(); if (time.asMicroseconds() > 0.4) { last_pos_x = enemy[idx].get_position().position_x; last_pos_y = enemy[idx].get_position().position_y; clock.restart(); } sf::Time time1 = clock1.getElapsedTime(); if (time1.asMicroseconds() > 0.1) { if (new_pos_x < last_pos_x) last_pos_x -= 5; if (new_pos_x > last_pos_x) last_pos_x += 5; if (new_pos_y < last_pos_y) last_pos_y -= 5; if (new_pos_y > last_pos_y) last_pos_y += 5; enemy[idx].set_position(last_pos_x, last_pos_y, "equel"); clock1.restart(); } } //void Enemies::move_enemies() //{ // for (int i = 0; i < enemy.size(); ++i) // { // Unit new_pos = set_rand_position_on_the_screen(); // Unit pos_now = enemy[i].get_position(); // // sf::Time time2 = clock2.getElapsedTime(); // if (time2.asSeconds() > 0.5) // { // while (new_pos.position_x != pos_now.position_x && // new_pos.position_y != pos_now.position_y) // { // sf::Time time1 = clock1.getElapsedTime(); // if (time1.asSeconds() > 0.5) { // if (pos_now.position_x < new_pos.position_x) // ++pos_now.position_x; // if (pos_now.position_x > new_pos.position_x) // --pos_now.position_x; // if (pos_now.position_y < new_pos.position_y) // ++pos_now.position_y; // if (pos_now.position_y > new_pos.position_y) // --pos_now.position_x; // enemy[i].set_position(pos_now.position_x, pos_now.position_y, "equel"); // clock1.restart(); // } // } // } // } //} Loading
Enemies.h +8 −0 Original line number Diff line number Diff line Loading @@ -9,13 +9,21 @@ 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 clock2; sf::Time current_time; public: Enemies(GameMode m); void add_enemy(); void remove_enemy(int &idx); void move_back_to_screen(int idx); void check_health(int idx); void set_position(int n, int pos_x, int pos_y); void move_enemies(); int get_enemies_count() const; Enemy get_enemy(int idx); void draw_enemys(sf::RenderWindow &win); Loading
Enemy.cpp +43 −5 Original line number Diff line number Diff line Loading @@ -55,21 +55,46 @@ int Enemy::get_speed() const void Enemy::set_rand_position() { unit.position_x = rand() % 1280; unit.position_y = rand() % 535; if(rand() % 2) { unit.position_x = -200; } else { unit.position_x = 1480; } if (rand() % 2) { unit.position_y = -100; } else { unit.position_y = 820; } enemy_sprite.setPosition(unit.position_x, unit.position_y); } void Enemy::draw_enemy(sf::RenderWindow &win) { enemy_sprite.setTexture(enemy_texture); enemy_sprite.setPosition(unit.position_x,unit.position_y); win.draw(enemy_sprite); } void Enemy::set_position(int pos_x, int pos_y) void Enemy::set_position(int pos_x, int pos_y, std::string str) { if (str == "equel") { unit.position_x = pos_x; unit.position_y = pos_y; } if (str == "increase") { unit.position_x += pos_x; unit.position_y += pos_y; } enemy_sprite.setPosition(unit.position_x,unit.position_y); } Loading @@ -78,4 +103,17 @@ Unit Enemy::get_position() return unit; } Unit Enemy::set_rand_position_on_the_screen() { Unit position; position.position_x = rand() % 960 + 160; position.position_y = rand() % 540; return position; } bool Enemy::need_or_not_move_enemy() { return false; }
Enemy.h +3 −1 Original line number Diff line number Diff line Loading @@ -26,8 +26,10 @@ public: void set_health(int h); void set_speed(int s); void set_rand_position(); void set_position(int pos_x, int pos_y); Unit set_rand_position_on_the_screen(); void set_position(int pos_x, int pos_y, std::string str = "increase"); Unit get_position(); bool need_or_not_move_enemy(); void draw_enemy(sf::RenderWindow &win); int get_health() const; int get_speed() const; Loading
Falcon_9.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -47,8 +47,9 @@ Falcon_9::Falcon_9() void Falcon_9::draw_falcon(sf::RenderWindow &win) { sf::Time time = clock.getElapsedTime(); current_time = time; set_health_bar(); win.draw(sprite_scope); win.draw(sprite_cabine); for (int i = 0; i < health; ++i) Loading Loading @@ -93,7 +94,11 @@ void Falcon_9::lasers(sf::RenderWindow &win) { win.draw(laser2); } if(current_time.asMilliseconds() > 70) { (right_or_left_laser)? right_or_left_laser = false : right_or_left_laser = true; clock.restart(); } } } Loading @@ -116,7 +121,7 @@ void Falcon_9::set_laser_pos() void Falcon_9::key_press(sf::Event &e, bool set) { int key = e.key.code; std::cout << key; switch (key) { case 71: Loading