Undoubtedly, the most interesting challenge was the implementation of the hint system. You wouldn't believe me how complex this problem is! Solitaire is a game that is easy to start, but really hard to master - sometimes to unlock a card you must move cards back and forth from the "foundation" (piles in the upper left corner of the board). It makes lots of combinations, that are really hard for a computer to explore!
That's awesome, great job for cracking it!
Was that a tree search based solution?
No, after a few tries, we decided to use a heuristic algorithm. Basically it's looking through all possible moves and checks which moves are getting us closer to solving the deck.