Chess::Game::MoveListEntry - a read-only class containing move data, used by the Chess::Game::MoveList manpage to record a game.
$entry = Chess::Game::MoveListEntry->new(1, $pawn, "e2", "e4", 0);
$one = $entry->get_move_num();
$pawn = $entry->get_piece();
$e2 = $entry->get_start_square();
$e4 = $entry->get_dest_square();
$false = $entry->is_capture();
$false = $entry->is_short_castle();
$false = $entry->is_long_castle();
$false = $entry->is_en_passant();
The Chess module provides a framework for writing chess programs with Perl. This class forms part of that framework, containing object data about a single move.
new()
Constructs a new MoveListEntry with the provided parameters. Requires four scalar parameters containing move number, piece, start square and destination square. Optionally takes a fifth parameter containing flags for the entry. The following flags are recognized (but there are no exported constants for them):
MOVE_CAPTURE == 0x01
MOVE_CASTLE_SHORT == 0x02
MOVE_CASTLE_LONG == 0x04
MOVE_EN_PASSANT == 0x08
$entry = Chess::Game::MoveListEntry->new(1, $pawn, "e2", "e4", 0);
There are no class methods for this class.
get_move_num()
Takes no parameters. Returns the move number this entry was constructed with.
get_piece()
Takes no parameters. Returns the piece reference this entry was constructed with.
get_start_square()
Takes no parameters. Returns the start square this entry was constructed with.
get_dest_square()
Takes no parameters. Returns the destination square this entry was constructed with.
is_capture()
Takes no parameters. Returns true if the entry was recorded as a capture
is_short_castle()
Takes no parameters. Returns true if the entry was recorded as a short (kingside) castle.
is_long_castle()
Takes no parameters. Returns true if the entry was recorded as a long (queenside) castle.
is_en_passant()
Takes no parameters. Returns true if the entry was recorded as an 'en passant' capture. is_capture() will also return true in this case.
The program uses a reference to a MoveListEntry that was not obtained by calling new(). Ensure that all MoveListEntries in the program were obtained either in this fashion, or through the container class, the Chess::Game::MoveList manpage, and that the reference refers to a defined value.
Please report any bugs to the author.
Brian Richardson <bjr@cpan.org>
Copyright (c) 2002, 2005 Brian Richardson. All rights reserved. This module is Free Software. It may be modified and redistributed under the same terms as Perl itself.