project_game/enemies.py

73 lines
1.9 KiB
Python

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)