This a labyritnh pathfinder implemented in Java. I was responsible with implementing the data structures and algorithms required to construct and solve the labyrithn. The algorithm used a modified depth-first search algorithm that accounts for certain paths being locked by doors that require keys to be able to traverse.
A labyrithn can be solved by compiling Solve.java and then executing it by passsing a lab file name as an argument to the program. For example: java Solve.java lab1