Revision history for Games-Solitaire-Verify 0.09 Sat Jul 10 12:28:47 IDT 2010 - Converted from Class-Accessor to Class-XSAccessor (with a function emulating mk_accessors for convenience.). - This made the test suite run faster. - Add the script/verify-solitaire-solution and lib/Games/Solitaire/Verify/App/CmdLine.pm . 0.08 Sat Jul 4 11:24:29 IDT 2009 - Removed the "all rights reserved" language. I was told it is incompatible with the MIT/X11 License. - Added the COPYING file. 0.07 Mon Jun 22 23:37:01 IDT 2009 - Added some meta-data (repository, homepage, mailing list and keywords) to META.yml. - Implemented many missing exceptions. - Added tests for some of them. 0.06 Sat May 30 15:56:13 IDT 2009 - Now the module can verify Simple Simon moves and solutions. - The support has many loose ends including many non-existent exceptions, but it should still yield a true verdict if-and-only-if the solution is correct. 0.05 Sat Jan 24 21:33:30 IST 2009 - Made sure that when unlimited sequence move takes place, it isn't affected by kings_only, etc. I.e: it always allows to move an arbitrary number of cards when it is specified. - Bug discovered based on this post by larrysan: - http://tech.groups.yahoo.com/group/fc-solve-discuss/message/856 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.