From 629b1279a93586440cf9835d445bdf2ac4332dab Mon Sep 17 00:00:00 2001 From: Kuba Date: Mon, 13 Jan 2025 23:59:18 +0100 Subject: [PATCH 01/10] Boss utworzony, strzela, bombuje, wiazkuje(#KolizjaToDo) --- CMakeLists.txt | 2 + assets/img/wiazka/wiazka.png | Bin 40209 -> 0 bytes headers/Boss.h | 63 +++++++++++++++ headers/Plansza.h | 9 +++ sources/Boss.cpp | 149 +++++++++++++++++++++++++++++++++++ sources/Plansza.cpp | 85 ++++++++++++++++++-- 6 files changed, 301 insertions(+), 7 deletions(-) delete mode 100644 assets/img/wiazka/wiazka.png create mode 100644 headers/Boss.h create mode 100644 sources/Boss.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 67e2d81..a1f4172 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -44,6 +44,8 @@ add_executable(LotoStatek main.cpp sources/Heart.cpp headers/PowerUp.h sources/PowerUp.cpp + sources/Boss.cpp + headers/Boss.h ) if(WIN32) diff --git a/assets/img/wiazka/wiazka.png b/assets/img/wiazka/wiazka.png deleted file mode 100644 index a70f3f0411eb46287fa8c90bf8940b0041958258..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40209 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 diff --git a/headers/Boss.h b/headers/Boss.h new file mode 100644 index 0000000..b8c2281 --- /dev/null +++ b/headers/Boss.h @@ -0,0 +1,63 @@ +#ifndef BOSS_H +#define BOSS_H + +#include "Actor.h" +#include "Bullet.h" +#include "Beam.h" +#include +#include + +enum class BossDirection { + Up, + Down, + Left, + Right +}; + +class Boss : public Actor { +public: + Boss(int x, int y, const sf::Texture &bossTexture, const sf::Texture &bulletTexture, sf::Texture BombaTexture, + sf::RenderWindow *window); + + void moveLeft() override; + void moveRight() override; + void moveUp() override; + void moveDown() override; + + + + void shoot() override; + void dropBomb(); + void shootLaser(); + void move(float deltaX, float deltaY) override; + void update(); + void takeDamage(); + bool isAlive() const; + std::vector& getBullets() { return bullets; } + std::vector& getBombs() { return bombs; } + +private: + float movementSpeed = 1.5f; + BossDirection direction = BossDirection::Down; + + sf::Clock shootClock; + sf::Clock bombClock; + sf::Clock laserClock; + sf::Clock directionClock; + sf::Clock beamDurationClock; + float beamDuration = 1.0f; + + sf::Texture bulletTexture; + sf::Texture BombaTexture; + sf::Texture beamTexture; + sf::RenderWindow* window; + Beam* laserBeam = nullptr; + + std::vector bullets; + std::vector bombs; + + void setRandomDirection(); + void handleBounds(); +}; + +#endif // BOSS_H diff --git a/headers/Plansza.h b/headers/Plansza.h index 5365dd8..47e00f4 100644 --- a/headers/Plansza.h +++ b/headers/Plansza.h @@ -17,6 +17,7 @@ #include "Heart.hpp" #include "PowerUp.h" #include "Size.h" +#include "Boss.h" enum ships{ nova, @@ -49,10 +50,14 @@ public: void spawn_enemy(); void spawn_advanced_enemy(); void spawn_wiazkowiec(); + + void spawn_boss(); + void spawn_bomber(); void spawn_kamikadze(); ~Plansza() { delete ship; // usuwanie wskaźnika ship + delete boss; // Usuwanie wskaźnika bossa } static ships selectedShip; @@ -86,6 +91,7 @@ private: sf::Texture advancedEnemyTexture; sf::Texture BomberEnemyTexture; sf::Texture BombaTexture; + sf::Texture BossTexture; sf::Texture KamikadzeTexture; sf::Texture WiazkowiecTexture; sf::Texture WiazkaTexture; @@ -105,6 +111,9 @@ private: std::vector hearts; std::vector heartStats; std::vector powerUps; + Boss* boss = nullptr; // Wskaźnik na bossa + sf::Clock bossSpawnClock; // Zegar do spawnowania bossa + bool bossSpawned = false; // Flaga informująca, czy boss został już zespawnowany bool gameOver = false; }; diff --git a/sources/Boss.cpp b/sources/Boss.cpp new file mode 100644 index 0000000..e9fea30 --- /dev/null +++ b/sources/Boss.cpp @@ -0,0 +1,149 @@ +#include "../headers/Boss.h" +#include +#include +#include "../headers/RandomNumberGenerator.h" + +Boss::Boss(int x, int y, const sf::Texture& bossTexture, const sf::Texture& bulletTexture, const sf::Texture BombaTexture, sf::RenderWindow* window) + : Actor(x, y, bossTexture), bulletTexture(bulletTexture), BombaTexture(BombaTexture), window(window) { + try { + beamTexture.loadFromFile("../assets/img/wiazka/laser.png"); + } catch (std::exception& e) { + std::cerr << "Failed to load textures: " << e.what() << std::endl; + exit(-500); + } + hp = 100; + firerate = 2000; + +} + +void Boss::shoot() { + if (shootClock.getElapsedTime().asMilliseconds() >= firerate) { + Bullet leftBullet(position.x - 20, position.y, bulletTexture); + leftBullet.setSpeed(5.0f); + Bullet centerBullet(position.x, position.y, bulletTexture); + centerBullet.setSpeed(5.0f); + Bullet rightBullet(position.x + 20, position.y, bulletTexture); + rightBullet.setSpeed(5.0f); + bullets.push_back(std::move(leftBullet)); + bullets.push_back(std::move(centerBullet)); + bullets.push_back(std::move(rightBullet)); + std::cout << "Strzal lezy" << std::endl; + shootClock.restart(); + } +} + +void Boss::dropBomb() { + if (bombClock.getElapsedTime().asMilliseconds() >= 5000) { + Bullet Bomb(position.x, position.y, BombaTexture); + Bomb.setSpeed(0.1f); + bullets.emplace_back(std::move(Bomb)); // Można zmienić na bombę + std::cout << "Bombka lezy" << std::endl; + bombClock.restart(); + } +} + +void Boss::shootLaser() { + if (!laserBeam && laserClock.getElapsedTime().asSeconds() >= 5.0f) { + laserBeam = new Beam(position.x, position.y, beamTexture); + beamDurationClock.restart(); + laserClock.restart(); + } + + if (laserBeam) { + window->draw(laserBeam->getSprite()); + std::cout << "Laser beam shooted" << std::endl; + + if (beamDurationClock.getElapsedTime().asSeconds() >= beamDuration) { + delete laserBeam; + laserBeam = nullptr; + } + } +} + + +void Boss::move(float deltaX, float deltaY) { + actorSprite.move(deltaX, deltaY); + position.x += static_cast(deltaX); + position.y += static_cast(deltaY); + handleBounds(); +} + +void Boss::update() { + if (directionClock.getElapsedTime().asSeconds() >= 3.0f) { + setRandomDirection(); + directionClock.restart(); + } + + switch (direction) { + case BossDirection::Up: move(0, -movementSpeed); break; + case BossDirection::Down: move(0, movementSpeed); break; + case BossDirection::Left: move(-movementSpeed, 0); break; + case BossDirection::Right: move(movementSpeed, 0); break; + } + + shoot(); + dropBomb(); + shootLaser(); + + // Aktualizacja pocisków + for (auto it = bullets.begin(); it != bullets.end();) { + it->update(); + window->draw(it->getSprite()); + if (it->isOutOfBounds()) { + it = bullets.erase(it); + } else { + ++it; + } + } + + // Aktualizacja bomb + for (auto it = bombs.begin(); it != bombs.end();) { + it->update(); + window->draw(it->getSprite()); + if (it->isOutOfBounds()) { + it = bombs.erase(it); + } else { + ++it; + } + } +} + +void Boss::moveLeft() { + move(-movementSpeed, 0.0f); +} + +void Boss::moveRight() { + move(movementSpeed, 0.0f); +} + +void Boss::moveUp() { + move(0.0f, -movementSpeed); +} + +void Boss::moveDown() { + move(0.0f, movementSpeed); +} + + +void Boss::takeDamage() { + if (--hp <= 0) { + hp = 0; + } +} + +bool Boss::isAlive() const { + return hp > 0; +} + +void Boss::setRandomDirection() { + int randomValue = RandomNumberGenerator::getRandomNumber(0, 3); + direction = static_cast(randomValue); +} + + +void Boss::handleBounds() { + if (position.x <= 0) direction = BossDirection::Right; + if (position.x >= 300) direction = BossDirection::Left; + if (position.y <= 0) direction = BossDirection::Down; + if (position.y >= 300) direction = BossDirection::Up; +} diff --git a/sources/Plansza.cpp b/sources/Plansza.cpp index 84b6f5c..d34184f 100644 --- a/sources/Plansza.cpp +++ b/sources/Plansza.cpp @@ -36,11 +36,21 @@ Plansza::Plansza(unsigned int windowHeight, unsigned int windowWidth, sf::Render KamikadzeTexture.loadFromFile("../assets/img/enemy/kamikadze.png"); BombaTexture.loadFromFile("../assets/img/bullets/bomba.png"); WiazkowiecTexture.loadFromFile("../assets/img/enemy/wiazkowiec.png"); + enemyBulletTexture.loadFromFile("../assets/img/bullets/enemy_bullet.png"); } catch (std::exception &e) { std::cerr << "Failed to load textures: " << e.what() << std::endl; exit(-500); } + try { + // ... + BossTexture.loadFromFile("../assets/img/boss/boss.png"); + } catch (std::exception &e) { + std::cerr << "Failed to load boss texture: " << e.what() << std::endl; + exit(-500); + } + + score = 0; // Wczytywanie czcionki dla licznika punktów @@ -115,11 +125,12 @@ void Plansza::update() { spawn_meteor(); spawn_hearts(); spawn_power_up(); - spawn_enemy(); - spawn_advanced_enemy(); - spawn_wiazkowiec(); - spawn_bomber(); - spawn_kamikadze(); + // spawn_enemy(); + // spawn_advanced_enemy(); + // spawn_wiazkowiec(); + // spawn_bomber(); + // spawn_kamikadze(); + spawn_boss(); // utrzymanie meteorów i pocisków w ruchu for (auto &meteor: meteors) { @@ -364,6 +375,55 @@ void Plansza::update() { } } + // Aktualizacja bossa + if (boss && boss->isAlive()) { + boss->update(); + window->draw(boss->getSprite()); + + // Kolizje bossa z pociskami + for (auto bulletIt = ship->getBullets().begin(); bulletIt != ship->getBullets().end();) { + if (boss->getSprite().getGlobalBounds().intersects(bulletIt->getSprite().getGlobalBounds())) { + boss->takeDamage(); + bulletIt = ship->getBullets().erase(bulletIt); + } else { + ++bulletIt; + } + } + + // Kolizja bossa z graczem + if (ship->getSprite().getGlobalBounds().intersects(boss->getSprite().getGlobalBounds())) { + ship->takeDamage(); + } + } else if (bossSpawned && (!boss || !boss->isAlive())) { + std::cout << "Boss defeated!" << std::endl; + delete boss; + boss = nullptr; + bossSpawned = false; // Resetowanie flagi, jeśli boss został pokonany + } + + // Obsługa pocisków bossa + if (boss && boss->isAlive()) { + for (auto it = boss->getBullets().begin(); it != boss->getBullets().end();) { + if (ship->getSprite().getGlobalBounds().intersects(it->getSprite().getGlobalBounds())) { + ship->takeDamage(); + it = boss->getBullets().erase(it); // Usuwanie pocisku po trafieniu + } else { + ++it; + } + } + + // Obsługa bomb bossa + for (auto it = boss->getBombs().begin(); it != boss->getBombs().end();) { + if (ship->getSprite().getGlobalBounds().intersects(it->getSprite().getGlobalBounds())) { + ship->takeDamage(); + it = boss->getBombs().erase(it); // Usuwanie bomby po trafieniu + } else { + ++it; + } + } + + } + for (auto &enemy: enemies) { enemy.shoot(); @@ -403,6 +463,7 @@ void Plansza::update() { } } + for (auto &bomberEnemy: BEnemies) { for (auto it = bomberEnemy.getBullets().begin(); it != bomberEnemy.getBullets().end();) { bool bulletDestroyed = false; @@ -819,7 +880,7 @@ void Plansza::spawn_kamikadze() { } void Plansza::spawn_wiazkowiec() { - if (WiazkowiecSpawnClock.getElapsedTime().asSeconds() >= 50) { // Spawn co 10 sekund + if (WiazkowiecSpawnClock.getElapsedTime().asSeconds() >= 3) { // Spawn co 10 sekund if (WEnemies.size() < 1) { int spawnX = RandomNumberGenerator::getRandomNumber(50, size.width - 50); Wiazkowiec wiazkowiec(spawnX, -50, WiazkowiecTexture, window); @@ -831,6 +892,15 @@ void Plansza::spawn_wiazkowiec() { } } +void Plansza::spawn_boss() { + if (!bossSpawned && bossSpawnClock.getElapsedTime().asSeconds() >= 3) { // Spawn po 60 sekundach + boss = new Boss(size.width / 2, -100, BossTexture, enemyBulletTexture, BombaTexture, window); + bossSpawned = true; + std::cout << "Boss spawned!" << std::endl; + } +} + + Size Plansza::getSize() { return size; } @@ -893,4 +963,5 @@ void Plansza::check_Meteor_collisions() { } ships Plansza::selectedShip = none; -unsigned int Plansza::score = 0; \ No newline at end of file +unsigned int Plansza::score = 0; + From baced5f9714af164fca8a4c6e0297247a5bdc235 Mon Sep 17 00:00:00 2001 From: Kuba Date: Tue, 14 Jan 2025 13:52:05 +0100 Subject: [PATCH 02/10] Kolizja wiazki dodana --- headers/Boss.h | 11 ++++++- headers/Plansza.h | 5 +-- sources/Boss.cpp | 74 +++++++++++++++++++++++++++++++++++---------- sources/Plansza.cpp | 16 +++++++--- 4 files changed, 83 insertions(+), 23 deletions(-) diff --git a/headers/Boss.h b/headers/Boss.h index b8c2281..53bee8e 100644 --- a/headers/Boss.h +++ b/headers/Boss.h @@ -19,6 +19,8 @@ public: Boss(int x, int y, const sf::Texture &bossTexture, const sf::Texture &bulletTexture, sf::Texture BombaTexture, sf::RenderWindow *window); + void setPlanszaHeight(int height, int width); + void moveLeft() override; void moveRight() override; void moveUp() override; @@ -35,9 +37,11 @@ public: bool isAlive() const; std::vector& getBullets() { return bullets; } std::vector& getBombs() { return bombs; } + bool isShooting() const { return laserBeam != nullptr; } + Beam* getBeam() const { return laserBeam; } private: - float movementSpeed = 1.5f; + float movementSpeed = 5.5f; BossDirection direction = BossDirection::Down; sf::Clock shootClock; @@ -56,6 +60,11 @@ private: std::vector bullets; std::vector bombs; + int planszaHeight = 800; + int planszaWidth = 600; + + bool isStationary = false; + void setRandomDirection(); void handleBounds(); }; diff --git a/headers/Plansza.h b/headers/Plansza.h index 47e00f4..15422e8 100644 --- a/headers/Plansza.h +++ b/headers/Plansza.h @@ -56,8 +56,8 @@ public: void spawn_bomber(); void spawn_kamikadze(); ~Plansza() { - delete ship; // usuwanie wskaźnika ship - delete boss; // Usuwanie wskaźnika bossa + delete ship; + delete boss; } static ships selectedShip; @@ -115,6 +115,7 @@ private: sf::Clock bossSpawnClock; // Zegar do spawnowania bossa bool bossSpawned = false; // Flaga informująca, czy boss został już zespawnowany bool gameOver = false; + unsigned int nextBossScoreThreshold = 1; // Próg punktowy dla spawnu bossa }; #endif //PLANSZA_H diff --git a/sources/Boss.cpp b/sources/Boss.cpp index e9fea30..a6a5416 100644 --- a/sources/Boss.cpp +++ b/sources/Boss.cpp @@ -13,9 +13,15 @@ Boss::Boss(int x, int y, const sf::Texture& bossTexture, const sf::Texture& bull } hp = 100; firerate = 2000; + movementSpeed = 2.0f; } +void Boss::setPlanszaHeight(int height, int width) { + planszaHeight = height; + planszaWidth = width; +} + void Boss::shoot() { if (shootClock.getElapsedTime().asMilliseconds() >= firerate) { Bullet leftBullet(position.x - 20, position.y, bulletTexture); @@ -35,7 +41,7 @@ void Boss::shoot() { void Boss::dropBomb() { if (bombClock.getElapsedTime().asMilliseconds() >= 5000) { Bullet Bomb(position.x, position.y, BombaTexture); - Bomb.setSpeed(0.1f); + Bomb.setSpeed(0.5f); bullets.emplace_back(std::move(Bomb)); // Można zmienić na bombę std::cout << "Bombka lezy" << std::endl; bombClock.restart(); @@ -47,6 +53,7 @@ void Boss::shootLaser() { laserBeam = new Beam(position.x, position.y, beamTexture); beamDurationClock.restart(); laserClock.restart(); + isStationary = true; } if (laserBeam) { @@ -56,12 +63,16 @@ void Boss::shootLaser() { if (beamDurationClock.getElapsedTime().asSeconds() >= beamDuration) { delete laserBeam; laserBeam = nullptr; + isStationary = false; } } } void Boss::move(float deltaX, float deltaY) { + if (deltaX == 0 && deltaY == 0) { + std::cerr << "Boss stopped: deltaX and deltaY are both 0" << std::endl; + } actorSprite.move(deltaX, deltaY); position.x += static_cast(deltaX); position.y += static_cast(deltaY); @@ -69,16 +80,21 @@ void Boss::move(float deltaX, float deltaY) { } void Boss::update() { - if (directionClock.getElapsedTime().asSeconds() >= 3.0f) { - setRandomDirection(); - directionClock.restart(); - } + std::cout << "Current movementSpeed: " << movementSpeed << std::endl; + std::cout << "Boss position: (" << position.x << ", " << position.y << "), Direction: " << static_cast(direction) << std::endl; - switch (direction) { - case BossDirection::Up: move(0, -movementSpeed); break; - case BossDirection::Down: move(0, movementSpeed); break; - case BossDirection::Left: move(-movementSpeed, 0); break; - case BossDirection::Right: move(movementSpeed, 0); break; + if (!isStationary) { + if (directionClock.getElapsedTime().asSeconds() >= 3.0f) { + setRandomDirection(); + directionClock.restart(); + } + + switch (direction) { + case BossDirection::Up: moveUp(); break; + case BossDirection::Down: moveDown(); break; + case BossDirection::Left: moveLeft(); break; + case BossDirection::Right: moveRight(); break; + } } shoot(); @@ -125,9 +141,11 @@ void Boss::moveDown() { } + void Boss::takeDamage() { if (--hp <= 0) { hp = 0; + std::cout << "HP bossa" << hp << std::endl; } } @@ -136,14 +154,38 @@ bool Boss::isAlive() const { } void Boss::setRandomDirection() { - int randomValue = RandomNumberGenerator::getRandomNumber(0, 3); - direction = static_cast(randomValue); + BossDirection previousDirection = direction; + do { + int randomValue = RandomNumberGenerator::getRandomNumber(0, 3); + direction = static_cast(randomValue); + } while ( + (direction == BossDirection::Left && position.x <= 0) || + (direction == BossDirection::Right && position.x >= planszaWidth) || + (direction == BossDirection::Up && position.y <= 0) || + (direction == BossDirection::Down && position.y >= planszaHeight) + ); + if (previousDirection == direction) { + std::cerr << "Boss kept the same direction: " << static_cast(direction) << std::endl; + } } + void Boss::handleBounds() { - if (position.x <= 0) direction = BossDirection::Right; - if (position.x >= 300) direction = BossDirection::Left; - if (position.y <= 0) direction = BossDirection::Down; - if (position.y >= 300) direction = BossDirection::Up; + if (position.x < 0) { + position.x = 0; + direction = BossDirection::Right; + } else if (position.x > planszaWidth - actorSprite.getGlobalBounds().width) { + position.x = planszaWidth - actorSprite.getGlobalBounds().width; + direction = BossDirection::Left; + } + + if (position.y < 0) { + position.y = 0; + direction = BossDirection::Down; + } else if (position.y > planszaHeight - actorSprite.getGlobalBounds().height) { + position.y = planszaHeight - actorSprite.getGlobalBounds().height; + direction = BossDirection::Up; + } } + diff --git a/sources/Plansza.cpp b/sources/Plansza.cpp index d34184f..f91a751 100644 --- a/sources/Plansza.cpp +++ b/sources/Plansza.cpp @@ -126,7 +126,7 @@ void Plansza::update() { spawn_hearts(); spawn_power_up(); // spawn_enemy(); - // spawn_advanced_enemy(); + spawn_advanced_enemy(); // spawn_wiazkowiec(); // spawn_bomber(); // spawn_kamikadze(); @@ -422,6 +422,12 @@ void Plansza::update() { } } + if (boss->isShooting() && boss->getBeam() != nullptr) { + if (ship->getSprite().getGlobalBounds().intersects(boss->getBeam()->getSprite().getGlobalBounds())) { + ship->takeDamage(); // Gracz otrzymuje obrażenia + } + } + } @@ -851,7 +857,7 @@ void Plansza::spawn_enemy() { } void Plansza::spawn_advanced_enemy() { - if (AenemySpawnClock.getElapsedTime().asSeconds() >= 20) { // Spawn co 10 sekund + if (AenemySpawnClock.getElapsedTime().asSeconds() >= 8) { // Spawn co 10 sekund int spawnX = RandomNumberGenerator::getRandomNumber(50, size.width - 50); AEnemies.emplace_back(spawnX, -50, advancedEnemyTexture, enemyBulletTexture); std::cout << "Spawned Advanced Enemy at X: " << spawnX << std::endl; @@ -893,10 +899,12 @@ void Plansza::spawn_wiazkowiec() { } void Plansza::spawn_boss() { - if (!bossSpawned && bossSpawnClock.getElapsedTime().asSeconds() >= 3) { // Spawn po 60 sekundach + if (!bossSpawned && score >= nextBossScoreThreshold) { // Spawn po 60 sekundach boss = new Boss(size.width / 2, -100, BossTexture, enemyBulletTexture, BombaTexture, window); + boss->setPlanszaHeight(size.width, size.height); bossSpawned = true; - std::cout << "Boss spawned!" << std::endl; + nextBossScoreThreshold += 1000; + std::cout << "Boss spawned at score: " << score << std::endl; } } From 7d2b8bd9a25a43adb081d424c7ed0bb276ce5010 Mon Sep 17 00:00:00 2001 From: Kuba Date: Tue, 14 Jan 2025 13:52:58 +0100 Subject: [PATCH 03/10] Kolizja wiazki dodana --- sources/Plansza.cpp | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/sources/Plansza.cpp b/sources/Plansza.cpp index f91a751..bdb3452 100644 --- a/sources/Plansza.cpp +++ b/sources/Plansza.cpp @@ -37,20 +37,12 @@ Plansza::Plansza(unsigned int windowHeight, unsigned int windowWidth, sf::Render BombaTexture.loadFromFile("../assets/img/bullets/bomba.png"); WiazkowiecTexture.loadFromFile("../assets/img/enemy/wiazkowiec.png"); enemyBulletTexture.loadFromFile("../assets/img/bullets/enemy_bullet.png"); + BossTexture.loadFromFile("../assets/img/boss/boss.png"); } catch (std::exception &e) { std::cerr << "Failed to load textures: " << e.what() << std::endl; exit(-500); } - try { - // ... - BossTexture.loadFromFile("../assets/img/boss/boss.png"); - } catch (std::exception &e) { - std::cerr << "Failed to load boss texture: " << e.what() << std::endl; - exit(-500); - } - - score = 0; // Wczytywanie czcionki dla licznika punktów From 2e02b17cc77c5c74e109dab37628f11f893a1653 Mon Sep 17 00:00:00 2001 From: Andrii Solianyk Date: Tue, 14 Jan 2025 14:09:18 +0100 Subject: [PATCH 04/10] dodano laser --- assets/img/wiazka/laser.png | Bin 0 -> 18238 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/img/wiazka/laser.png diff --git a/assets/img/wiazka/laser.png b/assets/img/wiazka/laser.png new file mode 100644 index 0000000000000000000000000000000000000000..c58f7eeb3182ad203911f907acc24cda98689c51 GIT binary patch literal 18238 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μ-dm+~Q zB83Ofp@=`4@wakN?dG3CJ|RcKA)^0T+er|Y7_7bAQ}`Xr>x^_9Yp@0$WR1Ug-kwzf z1pn4V{F`6sNRG=#7wAvcvzaF!4Ir>~D(Y4Dmh@j}HbTmlq_xSH;pBk!qL)Fg&OnZ! z(mrJu9G&q29|kMYQ-GE+@Gmg@vK~?5%J(V4{27^fGOl$L&IbnzZ?0e@{IVt#3HYlA z6Q6f|_bXqH9h^~Zmb0-X-E86<~i@ffoV>#MlG=808zp|XfuYpdL4wVk1 z(vxv6cI;Q!S2{t|DI+BJ#>r>$Ixvj9KhxMT@+W!D>IH%rBX2X`89JJ#S^+B7%)trjg227L>qCR=ilo@jvog1EjsOQ+0;=()r9AqW*Y)#vaUVF3h_zvrXeu;lM0bfrAPQ_Z0VM z%&*{9+1sNx1H&>>b}JM($9rOF|pZ6Skd^Yda zmU@GEIdkW&s*g^>@9U|dZVEbPm4dT*cGbmmrWH+dw&&dXmw++-Lk^XjG)c{Gr~)#6 zvT5|MuSk8}^0@P6pSk-TUh2O+c4JA3-3r8Oz$evd^K{zIn^p3FY&mv}c=y(FJ-XI_ zAQP=jb(Vv*&$7?wp})=$jVbfIiKGh(Xc2POz#6c&N{|6a> VPXF#SmOKCe002ovPDHLkV1jD5Rj~j7 literal 0 HcmV?d00001 From b833a21dbbab08f9f360e898d01e0bac9d8adf53 Mon Sep 17 00:00:00 2001 From: Kuba Date: Tue, 14 Jan 2025 14:09:28 +0100 Subject: [PATCH 05/10] Tekstura bossa --- assets/img/boss/Boss.png | Bin 0 -> 58983 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/img/boss/Boss.png diff --git a/assets/img/boss/Boss.png b/assets/img/boss/Boss.png new file mode 100644 index 0000000000000000000000000000000000000000..025a1143c270615427c34f9d72aba5e27204a4da GIT binary patch literal 58983 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 literal 0 HcmV?d00001 From 17a1d3689b5ceefb0762fdf3e8c2c76c15e19c2f Mon Sep 17 00:00:00 2001 From: Andrii Solianyk Date: Tue, 14 Jan 2025 14:45:13 +0100 Subject: [PATCH 06/10] todo added --- sources/Boss.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/sources/Boss.cpp b/sources/Boss.cpp index a6a5416..3fcffab 100644 --- a/sources/Boss.cpp +++ b/sources/Boss.cpp @@ -22,6 +22,7 @@ void Boss::setPlanszaHeight(int height, int width) { planszaWidth = width; } +// TODO: Po mergowaniu dodać obsługę pocisku, przy pomocy nowego konstruktora Bullet void Boss::shoot() { if (shootClock.getElapsedTime().asMilliseconds() >= firerate) { Bullet leftBullet(position.x - 20, position.y, bulletTexture); From 2539892b7192fc0237c805d92ca91b8c2b86132f Mon Sep 17 00:00:00 2001 From: Kuba Date: Tue, 14 Jan 2025 15:38:02 +0100 Subject: [PATCH 07/10] Boss nie wylazi --- sources/Boss.cpp | 12 ++++-------- sources/Plansza.cpp | 7 +++++-- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/sources/Boss.cpp b/sources/Boss.cpp index a6a5416..817de5b 100644 --- a/sources/Boss.cpp +++ b/sources/Boss.cpp @@ -160,9 +160,9 @@ void Boss::setRandomDirection() { direction = static_cast(randomValue); } while ( (direction == BossDirection::Left && position.x <= 0) || - (direction == BossDirection::Right && position.x >= planszaWidth) || + (direction == BossDirection::Right && position.x >= 600) || (direction == BossDirection::Up && position.y <= 0) || - (direction == BossDirection::Down && position.y >= planszaHeight) + (direction == BossDirection::Down && position.y >= 800) ); if (previousDirection == direction) { std::cerr << "Boss kept the same direction: " << static_cast(direction) << std::endl; @@ -173,18 +173,14 @@ void Boss::setRandomDirection() { void Boss::handleBounds() { if (position.x < 0) { - position.x = 0; direction = BossDirection::Right; - } else if (position.x > planszaWidth - actorSprite.getGlobalBounds().width) { - position.x = planszaWidth - actorSprite.getGlobalBounds().width; + } else if (position.x > 600 - actorSprite.getGlobalBounds().width) { direction = BossDirection::Left; } if (position.y < 0) { - position.y = 0; direction = BossDirection::Down; - } else if (position.y > planszaHeight - actorSprite.getGlobalBounds().height) { - position.y = planszaHeight - actorSprite.getGlobalBounds().height; + } else if (position.y > 800 - actorSprite.getGlobalBounds().height) { direction = BossDirection::Up; } } diff --git a/sources/Plansza.cpp b/sources/Plansza.cpp index bdb3452..22e102a 100644 --- a/sources/Plansza.cpp +++ b/sources/Plansza.cpp @@ -118,7 +118,7 @@ void Plansza::update() { spawn_hearts(); spawn_power_up(); // spawn_enemy(); - spawn_advanced_enemy(); + // spawn_advanced_enemy(); // spawn_wiazkowiec(); // spawn_bomber(); // spawn_kamikadze(); @@ -414,6 +414,9 @@ void Plansza::update() { } } + + + if (boss->isShooting() && boss->getBeam() != nullptr) { if (ship->getSprite().getGlobalBounds().intersects(boss->getBeam()->getSprite().getGlobalBounds())) { ship->takeDamage(); // Gracz otrzymuje obrażenia @@ -858,7 +861,7 @@ void Plansza::spawn_advanced_enemy() { } void Plansza::spawn_bomber() { - if (BomberSpawnClock.getElapsedTime().asSeconds() >= 30) { // Spawn co 10 sekund + if (BomberSpawnClock.getElapsedTime().asSeconds() >= 5) { // Spawn co 10 sekund int spawnX = RandomNumberGenerator::getRandomNumber(50, size.width - 50); Bomber bomber(spawnX, -50, BomberEnemyTexture, BombaTexture); bomber.setPlanszaHeight(size.height, size.width); // Przekazanie wysokości i szerokości okna From 0ea80559e58f6c3c7874e3c8898bb2009ba730c2 Mon Sep 17 00:00:00 2001 From: Kuba Date: Wed, 15 Jan 2025 19:40:08 +0100 Subject: [PATCH 08/10] Boss poprawnie reaguje z rakietami --- sources/Plansza.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/sources/Plansza.cpp b/sources/Plansza.cpp index 22e102a..794d2a0 100644 --- a/sources/Plansza.cpp +++ b/sources/Plansza.cpp @@ -382,6 +382,16 @@ void Plansza::update() { } } + for (auto rocketIt = ship->getRockets().begin(); rocketIt != ship->getRockets().end();) { + if (boss->getSprite().getGlobalBounds().intersects(rocketIt->getSprite().getGlobalBounds())) { + boss->takeDamage(); + rocketIt = ship->getRockets().erase(rocketIt); + std::cout << "Rocket hit boss! Boss HP: " << boss->getHP() << std::endl; + } else { + ++rocketIt; + } + } + // Kolizja bossa z graczem if (ship->getSprite().getGlobalBounds().intersects(boss->getSprite().getGlobalBounds())) { ship->takeDamage(); @@ -415,8 +425,6 @@ void Plansza::update() { } - - if (boss->isShooting() && boss->getBeam() != nullptr) { if (ship->getSprite().getGlobalBounds().intersects(boss->getBeam()->getSprite().getGlobalBounds())) { ship->takeDamage(); // Gracz otrzymuje obrażenia From 898671a72ad0424318b210e0df84aba8c3641ebc Mon Sep 17 00:00:00 2001 From: Andrii Solianyk Date: Wed, 15 Jan 2025 21:58:20 +0100 Subject: [PATCH 09/10] Poprawiono kolizje bomb z pociskami gracza --- sources/Boss.cpp | 2 +- sources/Plansza.cpp | 59 ++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 57 insertions(+), 4 deletions(-) diff --git a/sources/Boss.cpp b/sources/Boss.cpp index 0096110..cf9982b 100644 --- a/sources/Boss.cpp +++ b/sources/Boss.cpp @@ -43,7 +43,7 @@ void Boss::dropBomb() { if (bombClock.getElapsedTime().asMilliseconds() >= 5000) { Bullet Bomb(position.x, position.y, BombaTexture); Bomb.setSpeed(0.5f); - bullets.emplace_back(std::move(Bomb)); // Można zmienić na bombę + bombs.emplace_back(std::move(Bomb)); // Można zmienić na bombę std::cout << "Bombka lezy" << std::endl; bombClock.restart(); } diff --git a/sources/Plansza.cpp b/sources/Plansza.cpp index 794d2a0..a42831a 100644 --- a/sources/Plansza.cpp +++ b/sources/Plansza.cpp @@ -393,9 +393,9 @@ void Plansza::update() { } // Kolizja bossa z graczem - if (ship->getSprite().getGlobalBounds().intersects(boss->getSprite().getGlobalBounds())) { - ship->takeDamage(); - } + // if (ship->getSprite().getGlobalBounds().intersects(boss->getSprite().getGlobalBounds())) { + // ship->takeDamage(); + // } } else if (bossSpawned && (!boss || !boss->isAlive())) { std::cout << "Boss defeated!" << std::endl; delete boss; @@ -431,6 +431,59 @@ void Plansza::update() { } } + // Sprawdzenie kolizji pocisków gracza z bombami Bossa + for (auto bombIt = boss->getBombs().begin(); bombIt != boss->getBombs().end();) { + bool bombHit = false; + for (auto bulletIt = ship->getBullets().begin(); bulletIt != ship->getBullets().end();) { + if (bombIt->getSprite().getGlobalBounds().intersects(bulletIt->getSprite().getGlobalBounds())) { + ship->getBullets().erase(bulletIt); + bombIt = boss->getBombs().erase(bombIt); + bombHit = true; + break; + } else { + ++bulletIt; + } + } + if (!bombHit) { + ++bombIt; + } + } + + // Sprawdzenie kolizji rakiet gracza z bombami Bossa + for (auto bombIt = boss->getBombs().begin(); bombIt != boss->getBombs().end();) { + bool bombHit = false; + for (auto rocketIt = ship->getBullets().begin(); rocketIt != ship->getBullets().end();) { + if (bombIt->getSprite().getGlobalBounds().intersects(rocketIt->getSprite().getGlobalBounds())) { + ship->getBullets().erase(rocketIt); + bombIt = boss->getBombs().erase(bombIt); + bombHit = true; + break; + } else { + ++rocketIt; + } + } + if (!bombHit) { + ++bombIt; + } + } + + // Sprawdzenie kolizji rakiet gracza z bombami Bossa + for (auto bombIt = boss->getBombs().begin(); bombIt != boss->getBombs().end();) { + bool bombHit = false; + for (auto rocketIt = ship->getRockets().begin(); rocketIt != ship->getRockets().end();) { + if (bombIt->getSprite().getGlobalBounds().intersects(rocketIt->getSprite().getGlobalBounds())) { + ship->getRockets().erase(rocketIt); + bombIt = boss->getBombs().erase(bombIt); + bombHit = true; + break; + } else { + ++rocketIt; + } + } + if (!bombHit) { + ++bombIt; + } + } } From ff562d4d924fc5f4b9334fd449e45b62b1160319 Mon Sep 17 00:00:00 2001 From: Andrii Solianyk Date: Wed, 15 Jan 2025 23:21:54 +0100 Subject: [PATCH 10/10] =?UTF-8?q?usuni=C4=99cie=20zduplikowanego=20wpisu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/Plansza.cpp | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/sources/Plansza.cpp b/sources/Plansza.cpp index a42831a..2a20e5b 100644 --- a/sources/Plansza.cpp +++ b/sources/Plansza.cpp @@ -450,24 +450,6 @@ void Plansza::update() { } // Sprawdzenie kolizji rakiet gracza z bombami Bossa - for (auto bombIt = boss->getBombs().begin(); bombIt != boss->getBombs().end();) { - bool bombHit = false; - for (auto rocketIt = ship->getBullets().begin(); rocketIt != ship->getBullets().end();) { - if (bombIt->getSprite().getGlobalBounds().intersects(rocketIt->getSprite().getGlobalBounds())) { - ship->getBullets().erase(rocketIt); - bombIt = boss->getBombs().erase(bombIt); - bombHit = true; - break; - } else { - ++rocketIt; - } - } - if (!bombHit) { - ++bombIt; - } - } - - // Sprawdzenie kolizji rakiet gracza z bombami Bossa for (auto bombIt = boss->getBombs().begin(); bombIt != boss->getBombs().end();) { bool bombHit = false; for (auto rocketIt = ship->getRockets().begin(); rocketIt != ship->getRockets().end();) {