SYNOPSIS
# automatical computer-vus-computer play script
use Games::Checkers::Constants;
use Games::Checkers::Board;
use Games::Checkers::BoardTree;
my $board = new Games::Checkers::Board;
my $color = White;
my $numMoves = 0;
print $board->dump;
while ($board->canColorMove($color)) {
sleep(2);
# allow 100 moves for each player
die "Automatical drawn" if $numMoves++ == 200;
my $boardTree = new Games::Checkers::BoardTree
($board, $color, 2); # think 2 steps ahead
my $move = $boardTree->chooseBestMove; # or: chooseRandomMove
$board->transform($move);
print $move->dump, "n", $board->dump;
$color = ($color == White)? Black: White;
}
print "n", ($color == White? "Black": "White"), " won.n";
ABSTRACT ^
Games::Checkers is a set of Perl classes implementing the Checkers game play. Several national rule variants are supported. A basic AI heuristics is implemented using the Minimax algorithm. Replay of previously recorded games is supported too.
DESCRIPTION ^
This package is intended to provide complete infrastructure for interactive and automatic playing and manipulating of Checkers games. Some features are not implemented yet.
Product's homepage