|Did you know ...||Search Documentation:|
|Packs (add-ons) for SWI-Prolog|
|Title:||PGN and chess game databases.|
|Rating:||Not rated. Create the first rating!|
|Author:||Nicos Angelopoulos http://stoics.org.uk/~nicos|
|Maintainer:||Nicos Angelopoulos http://stoics.org.uk/~nicos|
|Packager:||Nicos Angelopoulos http://stoics.org.uk/~nicos|
No reviews. Create the first review!.
This library produces chess games databases from PGN files and provides some
predicates for manipulating these databases.
Once connected to a number of chess_db databases, all kinds of information about the games
can be interrogated. (see chess_db_opening/2 for an example).
Ideally we want to hook this pack to a web-page interface for playing the games as we select them.
pack_install( chess_db ).
The pack includes code to:
There are two example databases in data/ and an example program, examples/short.pl
By default, chess database dirs contain 3 sqlite databases:
game_info(Gid,Key,Val)info about each game
game_orig(Gid,Orig); where Orig is the verbatim of the section in the PGN for that game
A number of databases can be connected at the same time.
For example a number of databases can be declared in dir/1 terms within file:
~/.pl/chess_db_connect.pl see options_append/3.
pack('chess_db/examples/short.pl')]. ?- short. % creates a chess_db in subdirectory short/ from data/4ncl_short.pgn % and displays the game ids for games that start with [e4,e6] (French defence) ...
?- french. % creates a new pgn file from the base for the 2 games in short/ that start with e4,e6
% Handles already exist, for chess_db directory: '/home/nicos/pl/packs/src/chess_db/examples/short'
% open file french.pgn on program that can play the games
Pack contains 50 files holding a total of 1.4M bytes.