Salut Leec,
Si on considère que la grille de pixels se nomme grid
je suggère quelque chose comme ça :
On commence par collecter un index des pixels qui ont les bonnes valeurs dans codeLU
fix lpx = new List<Integer>
let i=0
for (p : grid.allPixel) {
if (LU.contains(p.codeLU) lpx.add(i)
i++
}
Ensuite on mélange aléatoirement cette liste et on ne retient que les 100 premiers index.
lpx.shuffle
fix lpx2 = lpx.subList(0,99)
Enfin on met à jour les pixels dont l'index se trouve parmi ces 100 sélectionnés
let j = 0
for (p : grid.allPixel) {
if (lpx2.contains(j)) p.change = 1
j++
}