Finding your way out of a maze with DFS
The Depth-First Search (DFS) algorithm is a path-finding technique suitable for low-memory devices. Another common use is to build mazes with a few modifications to the list of nodes visited and discovered, however the main algorithm stays the same.
Getting ready
This is a high-level algorithm that relies on each graph's implementation of the general functions, so the algorithm is implemented in the Graph
class.
It is important to
How to do it...
Even though this recipe is only defining a function, please take into consideration the comments in the code to understand the indentation and code flow for effectively:
Declare the
GetPathDFS
function:public List<Vertex> GetPathDFS(GameObject srcObj, GameObject dstObj) { // next steps }
Validate if input objects are null:
if (srcObj == null || dstObj == null) return new List<Vertex>();
Declare and initialize the variables we need for the algorithm:
Vertex src = GetNearestVertex(srcObj.transform...