Cleaned up and commented the HanoiPlayer. Added a Maths class to house some of the math functions needed for it. Can't think of a better, less confusing name than "Maths".
Switched the order of MemoryPlayer methods so that Play() is first. Since Play() houses the meat of every player, I'll have it first for every player as a standard.
Created PathFinder class which implements a breadth-first-search to solve the maze. Using this PathFinder, MazePlayer is able to solve the sample image.