Example #1
0
class Enemy(unit.Unit):

    step = 5

    def __init__(self, game, *args, **kwargs):
        super(Enemy, self).__init__(*args, **kwargs)
        self.game = game
        self.text = EnemyText(self)
        self.text.color = (0,0,0,0)
        self.interacted = False
        self.current_state = self.skitter

        self.frozen = 0
        
    def skitter(self):
        dx = randint(-self.step, self.step)
        dy = randint(-self.step, self.step)
        self.move(dx, dy)
        
    def chase(self):
        self.image = resources.enemy1
        x_dif = (-3 if self.x > self.game.player.x else 3)
        y_dif = (-3 if self.y > self.game.player.y else 3)
        dx = randint(-self.step, self.step) + x_dif
        dy = randint(-self.step, self.step) + y_dif
        self.move(dx, dy)
        
        
    def update(self, dt):
        if self.frozen:
            self.frozen -= 1
            self.image = resources.enemy
        else:
            self.current_state()
            self.text.x = self.x
            self.text.y = self.y
            if self.interacted:
                self.text.text_update()
        
    def interact(self):
        self.interacted = True
        self.image = resources.enemy1
        
    def shift(self):
        self.current_state = self.chase

    def freeze(self, n):
        self.frozen=n

        for e in self.game.get_all_frozen():
            if e is not self:
                self.game.make_wall(self, e)
Example #2
0
    def __init__(self, game, *args, **kwargs):
        super(Enemy, self).__init__(*args, **kwargs)
        self.game = game
        self.text = EnemyText(self)
        self.text.color = (0,0,0,0)
        self.interacted = False
        self.current_state = self.skitter

        self.frozen = 0
Example #3
0
class Enemy(unit.Unit):

    step = 5

    def __init__(self, game, *args, **kwargs):
        super(Enemy, self).__init__(*args, **kwargs)
        self.game = game
        self.text = EnemyText(self)
        self.text.color = (0,0,0,0)
        self.interacted = False
        self.current_state = self.skitter

        self.frozen = 0
        
    def skitter(self):
        dx = randint(-self.step, self.step)
        dy = randint(-self.step, self.step)
        self.move(dx, dy)
        
    def chase(self):
        self.image = resources.enemy1
        x_dif = (-3 if self.x > self.game.player.x else 3)
        y_dif = (-3 if self.y > self.game.player.y else 3)
        dx = randint(-self.step, self.step) + x_dif
        dy = randint(-self.step, self.step) + y_dif
        self.move(dx, dy)
        
    def get_face(self):
        x_dif = self.x - self.game.player.x
        y_dif = self.y - self.game.player.y
        if abs(x_dif) > abs(y_dif):
            if x_dif > 0:
                return resources.enemyhl
            else:
                return resources.enemyhr
        else:
            if y_dif > 0:
                return resources.enemyhd
            else:
                return resources.enemyhu
        
    def update(self, dt):
        if self.frozen:
            self.frozen -= 1
            self.image = resources.enemy
        else:
            self.current_state()
            self.text.x = self.x
            self.text.y = self.y
            self.image = self.get_face()
            if self.interacted:
                self.text.text_update()
        
    def interact(self):
        self.interacted = True
        self.image = resources.enemy1
        
    def shift(self):
        self.current_state = self.chase

    def freeze(self, n):
        self.frozen=n