diff --git a/src/main/java/util/PositionUtil.java b/src/main/java/util/PositionUtil.java
new file mode 100644
index 0000000000000000000000000000000000000000..7b2b235996de9757fbe27dc7b664b1fcf9a7843b
--- /dev/null
+++ b/src/main/java/util/PositionUtil.java
@@ -0,0 +1,30 @@
+package util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class PositionUtil {
+    public static List<Position> getPositionsAtManhattanDistance(Position fromPos, int distance, int rows, int cols) {
+        List<Position> positions = new ArrayList<>();
+        int x0 = fromPos.x();
+        int y0 = fromPos.y();
+
+        // Générer toutes les positions à une distance de Manhattan donnée
+        for (int dx = -distance; dx <= distance; dx++) {
+            int dy = distance - Math.abs(dx);
+
+            int[] dyOptions = { dy, -dy };
+            for (int deltaY : dyOptions) {
+                int x = x0 + dx;
+                int y = y0 + deltaY;
+
+                // Vérifier si la position est dans les limites de la matrice
+                if (x >= 0 && x < rows && y >= 0 && y < cols) {
+                    positions.add(new Position(x, y));
+                }
+            }
+        }
+
+        return positions;
+    }
+}
\ No newline at end of file