from random import randint class Alien: character = 'A' def __init__(self, position): self.position = position def play_turn(self, game): width, height = game.board_size x, y = self.position directions = [ (-2, 0), # left (2, 0), # right (0, -2), # up (0, 2), # down (-2, -2), # up-left (-2, 2), # down-left (2, -2), # up-right (2, 2) # down-right ] possible_positions = [] for dx, dy in directions: new_x = x + dx new_y = y + dy if 0 <= new_x < width and 0 <= new_y < height: possible_positions.append((new_x, new_y)) if not possible_positions: return random_index = randint(0, len(possible_positions) - 1) new_position = possible_positions[random_index] ship = game.get_agent_by_name('ship') if ship is not None and new_position == ship.position: game.end() else: self.position = new_position