ChessVista是什么?
ChessVista是一个开放的、可扩展的国际象棋人-机对弈、机器对弈环境。通过国际通用的标准引擎通讯协议,允许国际象棋机器对弈爱好者将自己的博弈引擎联入环境,与其它博弈引擎进行对弈。环境同时提供了可视的、图形化的对弈过程展示以及实时局面记录等功能。
ChessVista的版本
ChessVista 2010 是ChessVista的第一个版本,内部版本号为1.0。目前计划有:
ChessVista Standard Edition
CVSE如图1-1所示,包括了标准的ChessVista运行环境,初步规划的服务以及子系统有:
图 1-1
图形界面
要实现人-机对弈,不能没有一个图形化的界面,这个界面同样用于机器机对弈过程中的每个局面的实时显示。开发者可以通过棋盘扩展API对其进行扩展编程,显示自定义的棋盘、棋子图形(类似于换肤功能)。
棋盘服务
负责管理棋盘、棋子。包括响应棋手对棋盘的操作、根据获取到的信息更新棋盘的显示、棋盘的基本算法等,同时,该子系统也负责棋盘扩展的管理。
对弈服务
负责整个对弈过程的管理。包括对弈流程控制、棋手管理、对弈时间管理、局面管理、棋谱管理以及在对弈过程中,各种对弈消息的产生与分发。
博弈引擎服务
负责对接入环境的博弈引擎的管理。包括引擎的接入管理、与引擎之间的消息交互管理和非常重要的通讯协议管理等。
基础API
ChessVista是建立在一系列的ChessVista服务之上的,ChessVista开放了部分的服务,供开发者对环境进行扩展,并开发相应的博弈引擎,这些开放的服务是通过基础API的形式提供的。
ChessVista引擎
为实现基本的人-机对弈和机器对弈,ChessVista包含了一个完整的博弈引擎,它是ChessVista的默认引擎。
ChessVista Developer Edition
CVDE是一个包含了完整的开发环境的高级版本,在此版本下,开发者可以进行棋盘扩展和博弈引擎的开发。如图1-2所示,该版本计划包括了以下内容:
图 1-2
程序开发接口(API)
CVDE的API提供了从本机代码到托管代码一系列各层次的开发接口,如图1-3所示。
图 1-3
CVDE的组件
目前规划的CVDE组件如表1-1所示。
表1-1
组件 |
描述 |
Chess.exe |
ChessVista 主执行体 |
Chessknl32.dll, Chessui32.dll, Engine32.dll |
ChessVista 子系统 |
Chesslib.dll |
ChessVista C++ API |
AmoiVista.ChessVista.dll |
ChessVista 托管API |
CVEngine.dll |
ChessVista 引擎 |
针对ChessVista的规划就简单介绍到此,在后面的开发过程中,会不定时(因为都是业余时间在开发,见谅喽)再写博放上来,有兴趣的话,请多多关注、交流。