ChessVista是什嗎?
ChessVista是一個開放的、可擴充的國際象棋人-機對弈、機器對弈環境。通過國際通用的標準引擎通訊協議,允許國際象棋機器對弈愛好者將自己的博弈引擎聯入環境,與其它博弈引擎進行對弈。環境同時提供了可視的、圖形化的對弈過程展示以及即時局面記錄等功能。
ChessVista的版本
ChessVista 2010 是ChessVista的第一個版本,組建號為1.0。目前計劃有:
- ChessVista 2010 Standard Edition(CVSE,標準版)
- ChessVista 2010 Developer Edition(CVDE,開發人員版)
ChessVista Standard Edition
CVSE1-1所示,包括了標準的ChessVista運行環境,初步規劃的服務以及子系統有:
- 圖形介面(Chess UI Service)
- 棋盤服務(Board Service)
- 對弈服務(Play Service)
- 博弈引擎服務(Engine Service)
- 基礎API(API Service)
- ChessVista引擎(ChessVista Engine)
圖 1-1
圖形介面
要實現人-機對弈,不能沒有一個圖形化的介面,這個介面同樣用於機器機對弈過程中的每個局面的即時顯示。開發人員可以通過棋盤擴充API對其進行擴充編程,顯示自訂的棋盤、棋子圖形(類似於換膚功能)。
棋盤服務
負責管理棋盤、棋子。包括響應棋手對棋盤的操作、根據擷取到的資訊更新棋盤的顯示、棋盤的基本演算法等,同時,該子系統也負責棋盤擴充的管理。
對弈服務
負責整個對弈過程的管理。包括對弈流程式控制制、棋手管理、對弈時間管理、局面管理、棋譜管理以及在對弈過程中,各種對弈訊息的產生與分發。
博弈引擎服務
負責對接入環境的博弈引擎的管理。包括引擎的接入管理、與引擎之間的訊息互動管理和非常重要的通訊協議管理等。
基礎API
ChessVista是建立在一系列的ChessVista服務之上的,ChessVista開放了部分的服務,供開發人員對環境進行擴充,並開發相應的博弈引擎,這些開放的服務是通過基礎API的形式提供的。
ChessVista引擎
為實現基本的人-機對弈和機器對弈,ChessVista包含了一個完整的博弈引擎,它是ChessVista的預設引擎。
ChessVista Developer Edition
CVDE是一個包含了完整的開發環境的進階版本,在此版本下,開發人員可以進行棋盤擴充和博弈引擎的開發。1-2所示,該版本計劃包括了以下內容:
- 一個完整的ChessVista運行環境
- 開發中使用的標頭檔
- 基於機器碼的C++ Class API擴充庫
- 基於Managed 程式碼的API 擴充庫
- 開發協助文檔
- 樣本工程項目
圖 1-2
程式開發介面(API)
CVDE的API提供了從機器碼到Managed 程式碼一系列各層次的開發介面,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的規劃就簡單介紹到此,在後面的開發過程中,會不定時(因為都是業餘時間在開發,見諒嘍)再寫博放上來,有興趣的話,請多多關注、交流。