Revision history for Games-Solitaire-VerifySolution 0.04 Thu Aug 7 20:36:14 IDT 2008 - Now verify_and_perform_move in Games::Solitaire::Verify::State is returning objects of exception classes, instead of stringified errors, to facilitate knowing exactly why the move is invalid. - Refactored Games::Solitaire::Verify::State: - Extracted methods from verify_and_perform_move - Converted to a ->can() dispatch table. 0.03 Fri Jul 25 13:39:35 IDT 2008 - Added support for more variants of Solitaire, using the Freecell Solver-style parameterization: - num_freecells - num_columns - num_decks - sequence_move - seq_build_by - empty_stacks_filled_by - Added more support modules: - lib/Games/Solitaire/Verify/VariantParams.pm - lib/Games/Solitaire/Verify/VariantsMap.pm - 0.02 Thu Jul 10 15:05:10 IDT 2008 - Added another test for a wrong solution. - Extracted two classes from Games::Solitaire::Verify::State : - lib/Games/Solitaire/Verify/Foundations.pm - lib/Games/Solitaire/Verify/Freecells.pm - Added List::Util to the "requires" - it was missing. 0.0102 Thu Jul 10 03:06:18 IDT 2008 - Fixed the script with the absolute path on Makefile.PL - Moved bin to script because it's written in pure-Perl. 0.0101 Wed Jul 9 16:30:27 IDT 2008 - Fixed various bugs: - incompatible output between what we had and Freecell Solver (trailing whitespace etc.) - Added a test assertion for verifying that a wrong solution is wrong. (which uncovered the bugs.) - Fixed the solution verification logic. 0.01 Sat Jul 5 19:59:36 IDT 2008 - First version. - Can only do Freecell for now, but there's a lot of modularity and extensibility infrastrucutre in place. - 193 Test Assertions.