Knight Travails

This project was a big jump for me in terms of complexity and difficulty compared with other computer science projects I had done up to this point. The initial goal was to create a function / method that takes in a starting coordinate and a target and calculates the shortest possible path to the destination.

What I learned

  • Continued working with some Breadth first search algorithms and understanding use cases for BFS over DFS.
  • Using queues and a Set to visit our coordinates. As I was using BFS inside an iterative loop I had to check whether a coordinate had already been visited.
  • Linking up my data logic with a UI that the user can interact with to see the moves they made visually.

How I could improve moving forward

  • I'd like to learn to write my algorithm recursively rather than iteratively, so that's something I'd like to work on soon.
  • I ended up using array coordinates to work out the moves but I'd like to represent them as a graph as well.