from strategy import ( random_move, move_toward_player, ) class Orc: character = "O" hp = 20 deadly = True speed = 25 def __init__(self,position): self.position = position def play_turn(self, game): if game.turn_number % self.speed == 0: move = move_toward_player(self.position, game) if move: x, y = self.position dx, dy = move self.position = (x + dx, y + dy) if self.position == game.get_agent_by_name("player").position: game.state['message'] = "Yum." game.end() if self.hp <= 0: game.remove_agent(self) class Rat: character = "R" hp = 2 deadly = True speed = 15 def __init__(self, position): self.position = position def play_turn(self, game): if game.turn_number % self.speed == 0: move = random_move(self.position, game) if move: x, y = self.position dx, dy = move self.position = (x + dx, y + dy) if self.position == game.get_agent_by_name("player").position: game.state['message'] = "Eep." game.end() if self.hp <= 0: game.remove_agent(self) class Spider: character = "S" hp = 5 deadly = True speed = 5 def __init__(self,position): self.position = position def play_turn(self, game): if game.turn_number % self.speed == 0: move = random_move(self.position, game) if move: x, y = self.position dx, dy = move self.position = (x + dx, y + dy) if self.position == game.get_agent_by_name("player").position: game.state['message'] = "Hsssss." game.end() if self.hp <= 0: game.remove_agent(self)