Solution for Version 2 pending....
There is a $100\times 100$ grid. The upper left corner has coordinates $(1,1)$ and bottom right corner has $(100,100)$.
A 'snake' starts by occupying a single cell at $(1,1)$. On each move, it travels in any of 8 directions (vertically, horizontally or diagonally) to reach the next cell. Every cell once visited remains occupied by it; it grows by 1 unit with every move it makes. It cannot visit a cell twice, whether by retracing or by intersection. However, it may pass through a diagonal line it made earlier, by visiting only the unoccupied cells.
You need to set targets for it to reach. Each target is a single point, and the snake completes the goal by visiting the cell. Once a target is reached, you must immediately set the next one, anywhere else. You cannot set an already visited cell as a target.
Version 1 The snake must reach a target in minimum possible moves, irrespective of deeper strategy. What is the minimum number of targets you must set to create an impossible-to-reach target?
Version 2 The snake may take up to $100$ moves more than necessary to reach each target. Is it possible to block the snake (which is using perfect strategy)?
100 moves to waste means if reaching a certain target at the time it is set requires 29 moves, it can take up to 129 moves to do so.
The snake can not know any of your future goals, since you set one only after the previous one is complete. However, as it has 100 moves to waste for each target, it might deliberately waste moves to block your possible future targets.