#ifndef ADVANCED_ENEMY_H #define ADVANCED_ENEMY_H #include "Enemy.h" enum class DirectionA { Up, Down, Left, Right }; class AdvancedEnemy : public Actor { public: AdvancedEnemy(int x, int y, const sf::Texture& texture, const sf::Texture& bulletTexture); void shoot() override; void move(float deltaX, float deltaY) override; void moveLeft() override; void moveRight() override; void moveUp() override; void moveDown() override; void update(); bool isAlive() const; void takeDamage(); void updateDirection(); private: sf::Clock shootClock; sf::Texture enemyBulletTexture; float movementSpeed = 2.0f; bool alive = true; DirectionA direction = DirectionA::Down; }; #endif // ADVANCED_ENEMY_H