Games::AlphaBetaGame-tree search with object oriented interface | |
Download |
Games::AlphaBeta Ranking & Summary
Advertisement
- License:
- Perl Artistic License
- Price:
- FREE
- Publisher Name:
- Stig Brautaset
- Publisher web site:
- http://search.cpan.org/~stig/Games-AlphaBeta-0.4.6/lib/Games/AlphaBeta/Reversi.pm
Games::AlphaBeta Tags
Games::AlphaBeta Description
Game-tree search with object oriented interface Games::AlphaBeta is game-tree search class with object oriented interface.SYNOPSIS package My::GamePos; use base qw(Games::AlphaBeta::Position); # initialise starting position sub _init { ... } # Methods required by Games::AlphaBeta sub apply { ... } sub endpos { ... } # optional sub evaluate { ... } sub findmoves { ... } # Draw a position in the game (optional) sub draw { ... } package main; my $pos = My::GamePos->new; my $game = Games::AlphaBeta->new($pos); while ($game->abmove) { print draw($game->peek_pos); }Games::AlphaBeta provides a generic implementation of the AlphaBeta game-tree search algorithm (also known as MiniMax search with alpha beta pruning). This algorithm can be used to find the best move at a particular position in any two-player, zero-sum game with perfect information. Examples of such games include Chess, Othello, Connect4, Go, Tic-Tac-Toe and many, many other boardgames.Users must pass an object representing the initial state of the game as the first argument to new(). This object must provide the following methods: copy(), apply(), endpos(), evaluate() and findmoves(). This is explained more carefully in Games::AlphaBeta::Position which is a base class you can use to implement your position object. Requirements: · Perl
Games::AlphaBeta Related Software