Chess-Play version 0.01 ======================= Chess::Play - Play chess games, calculate legal moves, use a search algorithm SYNOPSIS use Chess::Play; my $cp = Chess::Play->new(); $cp->reset(); $cp->set_piece_val($p_val, $n_val, $b_val, $r_val, $q_val); $cp->set_depth($depth) $cp->legal_moves() $cp->do_move($move) $cp->game_over() $cp->best_move() $cp->play() $cp->xboard_play([$custom_name]) DESCRIPTION This module allows to play a chess game using STDIN or the xboard graphical interface. Il also can calculate legal moves and uses the Alpha-Beta search algorithm to find the best move. METHODS * $cp = Chess::Play->new() Create a new object to play chess. * $cp->reset() Reset to the start position. * $cp->set_piece_val($p_val, $n_val, $b_val, $r_val, $q_val) Change default values for pieces (the defaults are : 1, 3, 3, 5, 9) * $cp->set_depth($depth) Set the depth of the search algorithm (Alpha-Beta search). * $cp->legal_moves() Calculate the list of legal moves * $cp->do_move($move) execute a move (for instance "e2e4" or "a7a8q") * $cp->game_over() Tell if the game is over (Sheckmate, Stalemate, Insufficient Material, 50 moves rule). Threeway repetition is not supported in this version. * $cp->best_move() Return the best move according to the search algorithm * $cp->play() Play a chess game using STDIN * $cp->xboard_play() * $cp->xboard_play($custom_name) Play a chess game using xboard (only the basic xboad directives are supported). You can choose a name for your engine. Examples: my $cp = Chess::Play->new(); Execute some moves $cp->do_move("e2e4"); $cp->do_move("e7e5"); Calculating legal moves my @legal_moves = $cp->legal_moves() Play a chess game using stdin $cp->reset(); $ce->set_depth(2); $ce->play(); Play a chess game using xboard $cp->reset(); $ce->set_depth(2); $cp->xboard_play("My_Chess_Engine") xboard -fcp /path/to/my_engine.pl or xboard -fcp /path/to/my_engine.pl -scp /path/to/my_engine2.pl AUTHOR Giuliano Ippoliti, g1ul14n0 AT gmail INSTALLATION To install this module type the following: perl Makefile.PL make make test make install COPYRIGHT AND LICENCE This is free software in the colloquial nice-guy sense of the word. Copyright (c) 2009, Giuliano Ippoliti. You may redistribute and/or modify it under the same terms as Perl itself.