棋类数据库

chesstab的Python项目详细描述


Description

这个包为国际象棋比赛提供了一个数据库。

在玩游戏时,将显示包含当前位置的所有游戏的列表。

曲目游戏可以定义。当播放一个曲目游戏时,将显示包含当前位置的所有游戏的列表。曲目游戏不包括在此列表中。

象棋引擎可以用来分析位置,同时通过游戏或剧目游戏。分析可以像游戏得分一样进行。分析结果可以保存在数据库中,供以后参考。

可以定义部分位置,并显示包含与部分位置匹配的位置的所有游戏的列表。

游戏可以在pgnImport Format中键入或从文件导入。

游戏由pgn标准定义的seven standard tags索引。

游戏可以编辑或删除。

游戏可以以Export FormatReduced Export Format或不包括注释和标志符号的导入格式输出到pgn文件。

Installation Instructions

键入

python setup.py install

在命令提示下,在当前目录中使用setup.py。

根据系统的配置,您可能需要提供python的路径和版本:

<path to python>/python<version> setup.py install

For example

C:\Python36\python setup.py install

on Microsoft Windows or

python3.6 setup.py安装

on Unix-like systems.

使用Python3.6或更高版本。

Chess Engines

支持{a16}(uci)的象棋引擎可用于分析位置。维基百科UCI entry也链接到规范。

Database Interfaces

默认的数据库接口是与python一起分发的sqlite3模块。

如果安装了sqlite3的apsw接口,则使用该接口而不是sqlite3接口。

如果安装了这些替代接口,则可以使用这些接口访问新数据库。

如果安装了这两个备选方案,chesstab将使用dptdb。

如果使用bsddb3,则必须安装bsddb3支持的Berkeley DB版本。

Fonts

chesstab包包含了国际象棋Merida、国际象棋盒、国际象棋主题和Armando H Marroquin的国际象棋Lucena字体。

这些文件可从www.enpassant.dk/chess/fonteng.htm获得,为了方便起见,相关文件已包含在此包中。

使用平台上提供的工具至少安装其中一种字体。

Run

运行此软件包的命令是:

python -m chesstab.chessgames

根据系统的配置,您可能需要提供python的路径和版本:

<path to python>/python<version> -m chesstab.chessgames

For example

C:\Python36\python -m chesstab.chessgames

on Microsoft Windows or

python3.6-m chesstab.棋类游戏

on Unix-like systems.

或者使用桌面上的工具(Microsoft Windows、GNOME、KDE,…)设置启动棋类游戏的便捷方式。

必须至少安装一个由solentware-base包支持的数据库引擎。

Notes

一个约150万个游戏的数据库将占用10到15千兆字节。

进口150万个游戏至少需要几个小时。例如,使用2GB 667MHz DDR2 SDRAM的1.8GHz CPU大约12小时,使用1GB DDR266 RAM的1.7GHz CPU大约30小时。

这些数字是使用庞大的数据库获得的:

ftp://ftp.cis.uab.edu/pub/hyatt/pgn

使用dptdb数据库接口进行部分位置搜索总是要快得多。

当使用sqlite3、apsw或bsddb3数据库接口时,如果安装了bitarray模块,您可能会注意到部分位置搜索的响应时间会更好。

sqlite3和apsw数据库接口是等价的,但所有其他对都是不兼容的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java模拟构造函数以查看它是否引发异常   java Javascript类和DWR   需要在Amazon Java SDK的putObject()之后关闭InputStream吗?   在java中,摆动鼠标输入fontsize缩减的事件   使用java解析csv,然后保存在2D数组中   Postgres的java转储在HyperSQL中不起作用   java将记录写入文件的新行   Java,映射一个json   java快速排序。处理副本   Java编程,如何让一个对象在不调用函数的情况下返回一个值?   java如何在Android画布上绘制数学函数图   从int到ArrayList的java类型不匹配   SQL日期的Java日期模式(ISO 9075)   java如何将Listview中收到的url播放到youtube webview?   JAVA流损坏错误(将对象添加到文件)   java算法“HmacPBESHA256”不可用,这是什么?   JavaOSGi与ApacheFelix