'Like _neighbors but for diagonal positions'

def _diagonals(self, position):

    (x, y) = position
    return filter(self._on_board, [((x - 1), (y - 1)), ((x + 1), (y + 1)), ((x + 1), (y - 1)), ((x - 1), (y + 1))])
