ChessVista开发日记之一: 规划

ChessVista是什么

ChessVista是一个开放的、可扩展的国际象棋人-机对弈、机器对弈环境。通过国际通用的标准引擎通讯协议,允许国际象棋机器对弈爱好者将自己的博弈引擎联入环境,与其它博弈引擎进行对弈。环境同时提供了可视的、图形化的对弈过程展示以及实时局面记录等功能。

 

ChessVista的版本 

ChessVista 2010 是ChessVista的第一个版本,内部版本号为1.0。目前计划有:

  • ChessVista 2010 Standard Edition(CVSE,标准版)
  • ChessVista 2010 Developer Edition(CVDE,开发人员版)

 

ChessVista Standard Edition

CVSE如图1-1所示,包括了标准的ChessVista运行环境,初步规划的服务以及子系统有:

  • 图形界面(Chess UI Service)
  • 棋盘服务(Board Service)
  • 对弈服务(Play Service)
  • 博弈引擎服务(Engine Service)
  • 基础API(API Service)
  • ChessVista引擎(ChessVista Engine)

ChessVista开发日记之一: 规划

图 1-1

 

图形界面

要实现人-机对弈,不能没有一个图形化的界面,这个界面同样用于机器机对弈过程中的每个局面的实时显示。开发者可以通过棋盘扩展API对其进行扩展编程,显示自定义的棋盘、棋子图形(类似于换肤功能)。

 

棋盘服务

负责管理棋盘、棋子。包括响应棋手对棋盘的操作、根据获取到的信息更新棋盘的显示、棋盘的基本算法等,同时,该子系统也负责棋盘扩展的管理。

 

对弈服务

负责整个对弈过程的管理。包括对弈流程控制、棋手管理、对弈时间管理、局面管理、棋谱管理以及在对弈过程中,各种对弈消息的产生与分发。

 

博弈引擎服务

负责对接入环境的博弈引擎的管理。包括引擎的接入管理、与引擎之间的消息交互管理和非常重要的通讯协议管理等。

 

基础API

ChessVista是建立在一系列的ChessVista服务之上的,ChessVista开放了部分的服务,供开发者对环境进行扩展,并开发相应的博弈引擎,这些开放的服务是通过基础API的形式提供的。

 

ChessVista引擎

为实现基本的人-机对弈和机器对弈,ChessVista包含了一个完整的博弈引擎,它是ChessVista的默认引擎。

 

ChessVista Developer Edition

CVDE是一个包含了完整的开发环境的高级版本,在此版本下,开发者可以进行棋盘扩展和博弈引擎的开发。如图1-2所示,该版本计划包括了以下内容:

  • 一个完整的ChessVista运行环境
  • 开发中使用的头文件
  • 基于本机代码的C++ Class API扩展库
  • 基于托管代码的API 扩展库
  • 开发帮助文档
  • 示例工程项目

ChessVista开发日记之一: 规划

图 1-2

程序开发接口(API

CVDEAPI提供了从本机代码到托管代码一系列各层次的开发接口,如图1-3所示。

 

ChessVista开发日记之一: 规划

图 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的规划就简单介绍到此,在后面的开发过程中,会不定时(因为都是业余时间在开发,见谅喽)再写博放上来,有兴趣的话,请多多关注、交流。

你可能感兴趣的:(vi)