Why not adopt me?
NAME
Games::AlphaBeta::Position - base Position class for use with Games::AlphaBeta
SYNOPSIS
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);
DESCRIPTION
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.
INHERITED METHODS
The following methods are inherited from Games::Sequential::Position:
- new
- init
- copy
- player
VIRTUAL METHODS
Modules inheriting this class must implement the following methods (in addition to apply()
and anything else required by Games::Sequential::Position): evaluate()
& findmoves()
.
- 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.
- evaluate()
-
Return the "fitness" value for the current player at the current position.
METHODS
The following methods are provided by this class.
- endpos
-
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.
SEE ALSO
The author's website, describing this and other projects: http://brautaset.org/projects/
AUTHOR
Stig Brautaset, <stig@brautaset.org>
COPYRIGHT AND LICENCE
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.