#ifndef PLANSZA_H #define PLANSZA_H #include "SFML/System/Clock.hpp" #include "SFML/Graphics/RenderWindow.hpp" #include "Meteor.h" #include "Enemy.h" #include "AdvancedEnemy.h" #include "Bomber.h" #include "Kamikadze.h" #include "Wiazkowiec.h" #include "Player.h" #include "Background.h" #include "AudioManager.h" #include "Plansza.h" #include "Heart.hpp" #include "PowerUp.h" #include "Size.h" enum ships{ nova, pulsar, zenith, none }; class Plansza { public: Plansza(unsigned int windowHeight, unsigned int windowWidth, sf::RenderWindow *mainWindow, ships selectedShip); Size getSize(); std::vector &getMeteors(); void spawn_meteor(); void spawn_hearts(); void spawn_power_up(); void update_meteors(); void update_hearts(); void update_power_ups(); void update(); void update_score(); void check_PowerUp_collisions(); void check_Heart_collisions(); void check_Meteor_collisions(); void spawn_player(); void spawn_enemy(); void spawn_advanced_enemy(); void spawn_wiazkowiec(); void spawn_bomber(); void spawn_kamikadze(); ~Plansza() { delete ship; // usuwanie wskaźnika ship } static ships selectedShip; static unsigned int score; sf::Font font; private: Background background; AudioManager audioManager; Player *ship; Size size; sf::RenderWindow *window; sf::Clock meteorSpawnClock; sf::Clock heartSpawnClock; sf::Clock powerUpSpawnClock; sf::Clock movingSpeedPUTimer; sf::Clock fireratePUTimer; sf::Clock tripleShotPUTimer; sf::Clock spawnClock; sf::Clock scoreClock; sf::Clock shooterSpawnClock; sf::Clock enemySpawnClock; sf::Clock AenemySpawnClock; sf::Clock BomberSpawnClock; sf::Clock KamikadzeSpawnClock; sf::Clock WiazkowiecSpawnClock; sf::Texture playerTexture; sf::Texture playerBulletTexture; sf::Texture playerRocketTexture; sf::Texture enemyTexture; sf::Texture enemyBulletTexture; sf::Texture advancedEnemyTexture; sf::Texture BomberEnemyTexture; sf::Texture BombaTexture; sf::Texture KamikadzeTexture; sf::Texture WiazkowiecTexture; sf::Texture WiazkaTexture; sf::Texture meteorTexture1; sf::Texture meteorTexture2; sf::Texture heartTexture; sf::Texture heartTextureGray; sf::Texture movingSpeedPowerUpTexture; sf::Texture fireratePowerUpTexture; sf::Texture tripleShotPowerUpTexture; std::vector enemies; std::vector AEnemies; std::vector BEnemies; std::vector KEnemies; std::vector WEnemies; std::vector meteors; std::vector hearts; std::vector heartStats; std::vector powerUps; bool gameOver = false; }; #endif //PLANSZA_H