NAME
Games::Solitaire::Verify::State - a class for Solitaire states (or positions) of the entire board.
VERSION
Version 0.0101
SYNOPSIS
use Games::Solitaire::Verify::State;
my $board = <<"EOF";
Foundations: H-6 C-A D-A S-4
Freecells: 3D 8H JH 9H
: 4C 2C 9C 8C QS JD
: KS QH
: QC 9S
: 5C
: 2D KD TH TC TD 8D 7C 6D 5S 4D 3C
: 7H JS KH TS KC QD JC
: 9D 8S
: 7S 6C 7D 6S 5D
EOF
# Initialise a column
my $board = Games::Solitaire::Verify::State->new(
{
string => $board,
variant => "freecell",
},
);
# Prints 8.
print $board->num_columns(), "\n";
# Prints ": QC 9S"
print $board->get_column(2)->to_string(), "\n"
FUNCTIONS
$state->get_freecell($index)
Returns the contents of the freecell No. $index or undef() if it's empty.
$state->set_freecell($index, $card)
Assigns $card to the contents of the freecell No. $index .
$state->get_foundation_value($suit, $index)
Returns the foundation value for the suit $suit of the foundations No. $index .
$state->increment_foundation_value($suit, $index)
Increments the foundation value for the suit $suit of the foundations No. $index .
$board->num_decks()
Returns the number of decks that the variant has. Useful when querying the foundations.
$board->num_freecells()
Returns the number of Freecells in the board.
$board->num_empty_freecells()
Returns the number of empty Freecells on the board.
$board->num_columns()
The number of columns in the board.
$board->get_column($index)
Gets the column object for column No. $index.
$board->num_empty_columns()
Returns the number of completely unoccupied columns in the board.
$board->clone()
Returns a clone of the board, with all of its element duplicated.
my $verdict = $board->verify_and_perform_move($move);
Performs $move on the board. If successful, returns 0. Else returns a non-zero value. See Games::Solitaire::Verify::Move for more information.
$self->clear_freecell($index)
Clears/empties the freecell at position $pos .
$self->to_string()
Stringifies the board into the Freecell Solver solution display notation.
AUTHOR
Shlomi Fish, <shlomif at iglu.org.il>
BUGS
Please report any bugs or feature requests to bug-games-solitaire-verifysolution-move at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Games-Solitaire-Verify. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Games::Solitaire::Verify::Column
You can also look for information at:
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Games-Solitaire-Verify
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
COPYRIGHT & LICENSE
Copyright 2008 Shlomi Fish.
This program is released under the following license: MIT/X11 ( http://www.opensource.org/licenses/mit-license.php ).