class Enemy(pygame.sprite.Sprite):
      def __init__(self, x, y, heart, health):
        super().__init__()
        self.image = pygame.image.load("elf.png").convert_alpha()
        self.rect = self.image.get_rect()
        self.rect.center = (x, y)

        self.image = pygame.transform.smoothscale(self.image, (self.rect.w * screen_scale_factor, self.rect.h * screen_scale_factor) )
        

        self.path = 0
        self.health = health
        self.alive = 1
        self.heart = heart
        self.speed = 2 *screen_scale_factor
 
      def damage(self, amount):
        self.health = self.health - amount
        if(self.health <= 0):
            self.alive = 0


      def move(self, player):
        if (self.path == 0):
            if (self.rect.right < 300 *screen_scale_factor):
                self.rect.move_ip(self.speed,0)
            else:
                self.path = 1
        if (self.path == 1):
            if(self.rect.bottom < 890 *screen_scale_factor):
                self.rect.move_ip(0,self.speed)
            else:
                self.path = 2
        if(self.path == 2):
            if(self.rect.right < 1128 *screen_scale_factor):
                self.rect.move_ip(self.speed,0)
            else:
                self.path = 3
        if (self.path == 3):
            if(self.rect.top > 516*screen_scale_factor):
                self.rect.move_ip(0,-self.speed)
            else:
                self.path = 4
        if (self.path == 4):
            if(self.rect.left > 847*screen_scale_factor):
                self.rect.move_ip(-self.speed,0)
            else:
                self.path = 5
        if (self.path == 5):
            if(self.rect.top > 246*screen_scale_factor):
                self.rect.move_ip(0,-self.speed)
            else:
                self.path = 6
        if (self.path == 6):
            if (self.rect.right < 1248*screen_scale_factor):
                self.rect.move_ip(self.speed,0)
            else:
                self.path = 7
        if (self.path == 7):
            if (self.rect.bottom < 570*screen_scale_factor):
                self.rect.move_ip(0,self.speed)
            else:
                self.path = 8
        if (self.path == 8):
            if (self.rect.right < 1548*screen_scale_factor):
                self.rect.move_ip(self.speed,0)
            else:
                self.path = 'end'
        if (self.path == 'end'):
            self.alive = 0
            self.heart.lives -= 20

      def draw(self, surface):
        surface.blit(self.image, self.rect) 