Games::AlphaBeta::Position - base Position class for use with Games::AlphaBeta
package My::GamePos; use base qw(Games::AlphaBeta::Position); sub apply { ... } sub endpos { ... } # optional sub evaluate { ... } sub findmoves { ... } package main; my $pos = My::GamePos->new; my $game = Games::AlphaBeta->new($pos);
Games::AlphaBeta::Position is a base class for position-classes that can be used with Games::AlphaBeta. It inherits most of its methods from Games::Sequential::Position; make sure you read its documentation.
This class is provided for convenience. You don't need this class in order to use Games::AlphaBeta. It is, however, also possible to make use of this class on its own.
The following methods are inherited from Games::Sequential::Position:
Modules inheriting this class must implement the following methods (in addition to apply() and anything else required by Games::Sequential::Position): evaluate() & findmoves().
apply()
evaluate()
findmoves()
Return an array of all moves possible for the current player at the current position. Don't forget to return a null move if the player is allowed to pass; an empty array returned here denotes an ending position in the game.
Return the "fitness" value for the current player at the current position.
The following methods are provided by this class.
True if the position is an ending position, i.e. either a draw or a win for one of the players.
Note: Not all games need this method, so the default implementation provided by this modules always returns false.
The author's website, describing this and other projects: http://brautaset.org/projects/
Stig Brautaset, <stig@brautaset.org>
Copyright (C) 2004 by Stig Brautaset
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.3 or, at your option, any later version of Perl 5 you may have available.
To install Games::AlphaBeta, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Games::AlphaBeta
CPAN shell
perl -MCPAN -e shell install Games::AlphaBeta
For more information on module installation, please visit the detailed CPAN module installation guide.