I created a generator for random mazes that players can race against the computer to solve. The computer could handle breadth and depth first searches of variable speeds. In order to create perfect mazes (it’s possible to get from every position on the board to any other one and there is always one correct path from start to end), I used Kruskal’s algorithm to form a minimum spanning tree of edges.
Tech: Java