ports/84165: New Port: games/p5-Games-AlphaBeta - Game-tree search with object oriented interface
Aaron Dalton
aaron at daltons.ca
Wed Jul 27 10:50:24 UTC 2005
>Number: 84165
>Category: ports
>Synopsis: New Port: games/p5-Games-AlphaBeta - Game-tree search with object oriented interface
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed Jul 27 10:50:23 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Aaron Dalton
>Release: FreeBSD 5.3-RELEASE i386
>Organization:
>Environment:
System: FreeBSD moondance.finch.st 5.3-RELEASE FreeBSD 5.3-RELEASE #0: Fri Nov 5 04:19:18 UTC 2004 root at harlow.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
>Description:
NOTE: This port depends on pending PR ports/84164! That port must be
committed before or at the same time as this one.
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.
>How-To-Repeat:
>Fix:
--- submission.txt begins here ---
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# p5-Games-AlphaBeta
# p5-Games-AlphaBeta/pkg-plist
# p5-Games-AlphaBeta/Makefile
# p5-Games-AlphaBeta/distinfo
# p5-Games-AlphaBeta/pkg-descr
#
echo c - p5-Games-AlphaBeta
mkdir -p p5-Games-AlphaBeta > /dev/null 2>&1
echo x - p5-Games-AlphaBeta/pkg-plist
sed 's/^X//' >p5-Games-AlphaBeta/pkg-plist << 'END-of-p5-Games-AlphaBeta/pkg-plist'
X%%SITE_PERL%%/Games/AlphaBeta.pm
X%%SITE_PERL%%/Games/AlphaBeta/Position.pm
X%%SITE_PERL%%/Games/AlphaBeta/Reversi.pm
X%%SITE_PERL%%/%%PERL_ARCH%%/auto/Games/AlphaBeta/.packlist
X at dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Games/AlphaBeta
X at unexec rmdir %D/%%SITE_PERL%%/%%PERL_ARCH%%/auto/Games 2>/dev/null || true
X at dirrm %%SITE_PERL%%/Games/AlphaBeta
X at unexec rmdir %D/%%SITE_PERL%%/Games 2>/dev/null || true
X
END-of-p5-Games-AlphaBeta/pkg-plist
echo x - p5-Games-AlphaBeta/Makefile
sed 's/^X//' >p5-Games-AlphaBeta/Makefile << 'END-of-p5-Games-AlphaBeta/Makefile'
X# New ports collection makefile for: p5-Games-AlphaBeta
X# Date created: 27 July 2005
X# Whom: Aaron Dalton <aaron at daltons.ca>
X#
X# $FreeBSD$
X#
X
XPORTNAME= Games-AlphaBeta
XPORTVERSION= 0.4.5
XCATEGORIES= games perl5
XMASTER_SITES= ${MASTER_SITE_PERL_CPAN}
XMASTER_SITE_SUBDIR= Games
XPKGNAMEPREFIX= p5-
X
XMAINTAINER= aaron at daltons.ca
XCOMMENT= Game-tree search with object oriented interface
X
XBUILD_DEPENDS= ${SITE_PERL}/Games/Sequential.pm:${PORTSDIR}/games/p5-Games-Sequential
XRUN_DEPENDS= ${BUILD_DEPENDS}
X
XPERL_CONFIGURE= yes
X
XMAN3= Games::AlphaBeta.3 Games::AlphaBeta::Position.3 \
X Games::AlphaBeta::Reversi.3
X
X.include <bsd.port.mk>
END-of-p5-Games-AlphaBeta/Makefile
echo x - p5-Games-AlphaBeta/distinfo
sed 's/^X//' >p5-Games-AlphaBeta/distinfo << 'END-of-p5-Games-AlphaBeta/distinfo'
XMD5 (Games-AlphaBeta-0.4.5.tar.gz) = a6a6b18960cced47f12747e26dd18271
XSIZE (Games-AlphaBeta-0.4.5.tar.gz) = 8952
END-of-p5-Games-AlphaBeta/distinfo
echo x - p5-Games-AlphaBeta/pkg-descr
sed 's/^X//' >p5-Games-AlphaBeta/pkg-descr << 'END-of-p5-Games-AlphaBeta/pkg-descr'
XGames::AlphaBeta provides a generic implementation of the AlphaBeta
Xgame-tree search algorithm (also known as MiniMax search with alpha beta
Xpruning). This algorithm can be used to find the best move at a particular
Xposition in any two-player, zero-sum game with perfect information.
XExamples of such games include Chess, Othello, Connect4, Go, Tic-Tac-Toe
Xand many, many other boardgames.
X
XUsers must pass an object representing the initial state of the game as the
Xfirst argument to new(). This object must provide the following methods:
Xcopy(), apply(), endpos(), evaluate() and findmoves(). This is explained
Xmore carefully in Games::AlphaBeta::Position which is a base class you can
Xuse to implement your position object.
X
XWWW: http://search.cpan.org/dist/Games-AlphaBeta
XAuthor: Stig Brautaset <stig at brautaset.org>
X
X- Aaron Dalton
Xaaron at daltons.ca
END-of-p5-Games-AlphaBeta/pkg-descr
exit
--- submission.txt ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list