棋牌游戏中的发现问题和解决问题
(789游戏中心)
这些都是我在789游戏中心发现的问题。
这并不是一个简单的问题,好在我们可以借鉴国际象棋的做法。
让我们为该课题拟订一个计划:制订规范→建立平台→征集软件→建立数据库。
万事开头难,必须分四部分讨论中国象棋的各种规范:
(1) 着法的表示。
着法是棋谱的基本元素,统一的着法表示应该为广大象棋爱好者所接受,同时方便键盘的输入,更重要的是它为开局体系的制定提供了方便。
(2) FEN文件格式。
FEN格式是记录象棋局面的规范,为中局和排局的发布提供方便,同时它也是棋谱格式和引擎协议的重要组成部分。
(3) PGN文件格式。
PGN格式是记录象棋对局的规范,除了包含着法以外,还有棋局的其他信息以及注释,PGN规范是建立象棋棋谱数据库的基础。
(4) 中国象棋通用引擎协议(UCCI)。
这是象棋界面与象棋引擎之间的通讯协议,从而使得象棋界面和象棋引擎的开发工作相对独立,它为专门从事象棋引擎设计的工作者提供了很大的便利,他们可以运用现成的界面来测试和推广自己的引擎。
有了以上四个要素,就可以建立中国象棋的公共平台了,中国象棋公共平台应该具有以下功能:
(1) 棋谱录入和编辑。
棋谱录入可以通过鼠标和键盘两种途径进行,而且可以添加棋局或比赛信息以及注释等,也可以按着法顺序向前或向后推演。
棋谱文件格式必须是其他象棋软件通用的PGN格式。
(2) 自动识别开局。
根据ECCO(中国象棋开局百科)的规则自动识别开局,并自动保存在PGN文件中(包括ECCO代码、开局名称以及变例)。
开局信息只占PGN文件中的三个标签,但却是中国象棋棋谱的重要组成部分(通常作为棋局的标题)。
(3) 局面的设置。
局面既可以从棋谱中读取,也可以故意摆出来,最好还能自动产生出版用的棋图。
局面文件格式必须是其他象棋软件通用的FEN格式。
(4) 加载对弈引擎。
这样就可以让“象堡”摇身一变成为对弈软件,引擎接口必须符合“中国象棋通用引擎协议”。