Revision history for Games-Solitaire-Verify 0.1101 Fri 7 Sep 07:28:06 IDT 2012 - Add strict, warnings and autodie to requires/build_requires. - See for example: http://www.cpantesters.org/cpan/report/52b7a6ba-f548-11e1-bdcc-373e3b6b8117 0.1100 Fri 31 Aug 22:35:18 IDT 2012 - Add lib/Games/Solitaire/Verify/Solution/ExpandMultiCardMoves.pm for processing a solution and expanding multi-card (= column) moves into single-card moves, which are easier to validate by human players. - Now tested using t/08-expand-solution.t - Added script/expand-solitaire-multi-card-moves . 0.1001 Thu 23 Aug 11:12:25 IDT 2012 - Add the color_for_suit method to ::Card . - Remove trailing space with t/style-trailing-space.t as a test. 0.1000 Tue Nov 8 20:07:13 IST 2011 - Add the script/tag-release.pl to tag a release in Subversion. - Add script/bump-version-number.pl . - lib/Games/Solitaire/Verify/Card.pm : - Add the id() slot. - Add the data() slot. - lib/Games/Solitaire/Verify/State.pm : - Add the add_column method. - Add the set_foundations() method. - Add the set_freecells() method. - lib/Games/Solitaire/Verify/State.pm : - Fix cloning of states with a "custom" variant and with variant_params. 0.0901 Thu Jun 2 21:24:24 IDT 2011 - Now importing Dumper from Data::Dumper properly. 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.