Occasionally a coding challenge comes along that you just can't resist. A friend of mine works at Redgate and shared their first ever coding challenge. I've followed Redgate for many years and even use their software - it's a great company and I hear good things from those working there...so when a maze challenge popped up I couldn't resist having a go.
I've not done a huge amount of desktop work, bits here and there but I spend a lot of time in the web world. In my opinion, code is code is code. So I set about the challenge. I've also never built a maze before! (I've done a fair few...my son loves them). So I read around the subject, trying to figure out the right path to take (sorry couldn't resist). The algorithms are interesting, and fun to build. It didn't take long - although I did spend a fair bit of time on the UI as there was a bit of learning to do. I was surprisingly pleased with the results...it just...worked!
Certainly, I could manually sit there and solve the mazes it produced...but where's the fun in that. So - perhaps a little overkill - I implemented an A* search algorithm, to solve the maze. Finally, FINALLY, I've been able to put my degree, "Computing for Artificial Intelligence", to use! This was great fun to do and worked really nicely.
Ok so the UI isn't amazing, granted - but I've thrown a couple of sleeps in there to slow it down so it's obvious what's going on, and now the maze and the solution are put together.
I've uploaded all of the code to my GitHub account here, if you wanted to take a look: https://github.com/paulallington/A-Maze
Here's a gif demo (if you can, download and run the app - it's a lot smoother!)
And if you've got any thoughts, feedback, ideas, get in contact!