def voisinage_zone_xy(x, y, X, Y):
    """
    Retourne la liste des voisins d'une zone *(x,y)*
    sachant qu'il y a *X* zones sur l'axe des abscisses
    et *Y* zones sur l'axe des ordonnées,
    inclus *z* dans cette liste
    """
    voisin = [(x, y)]
    if x > 0:
        voisin.append((x - 1, y))
    if x < X - 1:
        voisin.append((x + 1, y))
    if y > 0:
        voisin.append((x, y - 1))
    if y < Y - 1:
        voisin.append((x, y + 1))
    if x > 0 and y > 0:
        voisin.append((x - 1, y - 1))
    if x > 0 and y < Y - 1:
        voisin.append((x - 1, y + 1))
    if x < X - 1 and y > 0:
        voisin.append((x + 1, y - 1))
    if x < X - 1 and y < Y - 1:
        voisin.append((x + 1, y + 1))
    return voisin
