I am working on solving snake boxing itself problem. I believe that If I use Breadth-First Search (BFS) to make a move, it can reduce the risk of being boxed greatly. My question is how many possible empty spaces (connected) I should look for to make sure that this move will not result in boxing myself.
Share
The distance you have to look to see if you are boxed in is always going to depend on the size/position of the snake. The only way to be 100% sure is to search all moves in advance, and avoid moves that lead the snake to be boxed in. That said, you might have better luck with a depth-first search over breadth-first, because it can rapidly find a dead end (if it exists). Then avoid those moves. In your second example, depth-first would quickly find that moving “up” is a dead end.