|
|
|
|
@@ -63,6 +63,7 @@ Plansza::Plansza(unsigned int windowHeight, unsigned int windowWidth, sf::Render
|
|
|
|
|
audioManager.loadSoundEffect("shoot", "../assets/sounds/shoot.ogg");
|
|
|
|
|
audioManager.loadSoundEffect("shoot_alt", "../assets/sounds/shoot_alt.ogg");
|
|
|
|
|
audioManager.loadSoundEffect("fail", "../assets/sounds/fail.mp3");
|
|
|
|
|
audioManager.loadSoundEffect("destroyed", "../assets/sounds/destroyed.ogg");
|
|
|
|
|
|
|
|
|
|
heartStats.emplace_back(heartTexture);
|
|
|
|
|
heartStats.emplace_back(heartTexture);
|
|
|
|
|
@@ -102,7 +103,7 @@ void Plansza::loadUltimateIndicators() {
|
|
|
|
|
sf::Sprite sprite;
|
|
|
|
|
sprite.setTexture(ultimateIndicatorTextures[i]);
|
|
|
|
|
sprite.setPosition(10, window->getSize().y - 60);
|
|
|
|
|
sprite.setScale(0.5f, 0.5f);
|
|
|
|
|
sprite.setScale(0.7f, 0.7f);
|
|
|
|
|
ultimateIndicators.push_back(sprite);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -168,7 +169,7 @@ void Plansza::update() {
|
|
|
|
|
spawn_wiazkowiec();
|
|
|
|
|
spawn_bomber();
|
|
|
|
|
spawn_kamikadze();
|
|
|
|
|
// spawn_boss();
|
|
|
|
|
spawn_boss();
|
|
|
|
|
|
|
|
|
|
// utrzymanie meteorów i pocisków w ruchu
|
|
|
|
|
for (auto &meteor: meteors) {
|
|
|
|
|
@@ -984,7 +985,7 @@ void Plansza::spawn_player() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Plansza::spawn_enemy() {
|
|
|
|
|
if (enemySpawnClock.getElapsedTime().asSeconds() >= 10) { // Spawn co 10 sekund
|
|
|
|
|
if (enemySpawnClock.getElapsedTime().asSeconds() >= 3) { // Spawn co 3 sekund
|
|
|
|
|
int spawnX = RandomNumberGenerator::getRandomNumber(50, size.width - 50);
|
|
|
|
|
enemies.emplace_back(spawnX, -50, enemyTexture);
|
|
|
|
|
std::cout << "Spawned Basic Enemy at X: " << spawnX << std::endl;
|
|
|
|
|
@@ -994,7 +995,7 @@ void Plansza::spawn_enemy() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Plansza::spawn_advanced_enemy() {
|
|
|
|
|
if (AenemySpawnClock.getElapsedTime().asSeconds() >= 8) { // Spawn co 10 sekund
|
|
|
|
|
if (AenemySpawnClock.getElapsedTime().asSeconds() >= 5) { // Spawn co 5 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;
|
|
|
|
|
@@ -1003,7 +1004,7 @@ void Plansza::spawn_advanced_enemy() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Plansza::spawn_bomber() {
|
|
|
|
|
if (BomberSpawnClock.getElapsedTime().asSeconds() >= 5) { // Spawn co 10 sekund
|
|
|
|
|
if (BomberSpawnClock.getElapsedTime().asSeconds() >= 7) { // Spawn co 7 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
|
|
|
|
|
@@ -1014,7 +1015,7 @@ void Plansza::spawn_bomber() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Plansza::spawn_kamikadze() {
|
|
|
|
|
if (KamikadzeSpawnClock.getElapsedTime().asSeconds() >= 40) { // Spawn co 10 sekund
|
|
|
|
|
if (KamikadzeSpawnClock.getElapsedTime().asSeconds() >= 9) { // Spawn co 9 sekund
|
|
|
|
|
int spawnX = RandomNumberGenerator::getRandomNumber(50, size.width - 50);
|
|
|
|
|
KEnemies.emplace_back(spawnX, -50, KamikadzeTexture);
|
|
|
|
|
std::cout << "Spawned Kamikadze Enemy at X: " << spawnX << std::endl;
|
|
|
|
|
@@ -1023,7 +1024,7 @@ void Plansza::spawn_kamikadze() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Plansza::spawn_wiazkowiec() {
|
|
|
|
|
if (WiazkowiecSpawnClock.getElapsedTime().asSeconds() >= 3) { // Spawn co 10 sekund
|
|
|
|
|
if (WiazkowiecSpawnClock.getElapsedTime().asSeconds() >= 6) { // Spawn co 6 sekund
|
|
|
|
|
if (WEnemies.size() < 1) {
|
|
|
|
|
int spawnX = RandomNumberGenerator::getRandomNumber(50, size.width - 50);
|
|
|
|
|
Wiazkowiec wiazkowiec(spawnX, -50, WiazkowiecTexture, window);
|
|
|
|
|
@@ -1036,7 +1037,7 @@ void Plansza::spawn_wiazkowiec() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Plansza::spawn_boss() {
|
|
|
|
|
if (!bossSpawned && score >= nextBossScoreThreshold) { // Spawn po 60 sekundach
|
|
|
|
|
if (!bossSpawned && score >= nextBossScoreThreshold) { // Spawn po BossThreshold i jesli go nie ma
|
|
|
|
|
boss = new Boss(size.width / 2, -100, BossTexture, enemyBulletTexture, BombaTexture, window);
|
|
|
|
|
boss->setPlanszaHeight(size.width, size.height);
|
|
|
|
|
bossSpawned = true;
|
|
|
|
|
|