资源简介
兵河五四v0.6版的象棋引擎源码,非常好
代码片段和文件信息
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 源文件:Binghewusi.cpp //
// *******************************************************************************************************//
// 中国象棋通用引擎----兵河五四,支持《中国象棋通用引擎协议》(Universal Chinese Chess Protocol,简称ucci) //
// 作者: 范 德 军 //
// 单位: 中国原子能科学研究院 //
// 邮箱: fan_de_jun@sina.com.cn //
// QQ : 83021504 //
// *******************************************************************************************************//
// 功能: //
// 1. 控制台应用程序的入口点 //
// 2. 通过ucci协议与界面程序之间进行通讯 //
////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include
#include “ucci.h“
#include “FenBoard.h“
#include “Search.h“
int main(int argc char* argv[])
{
int n;
const char *BoolValue[2] = { “false“ “true“ };
const char *Chessstyle[3] = { “solid“ “normal“ “risky“ };
char *BackSlashPtr;
char BookFile[1024];
CommEnum IdleComm;
CommDetail Command;
int ThisMove;
printf(“*******************************兵河五四 V0.60*********************************\n“);
printf(“** 作者:范德军 **\n“);
printf(“** 支持《中国象棋通用引擎协议》(Universal Chinese Chess Protocol,简称UCCI) **\n“);
printf(“** 引擎可以用“象堡”ElephantBoard界面程序(作者:黄晨)加载。 **\n“);
printf(“** 欢迎使用“兵河五四 V0.60”中国象棋引擎 **\n“);
printf(“******************************************************************************\n“);
printf(“请键入ucci指令......\n“);
// 引擎接收“ucci“指令
if(BootLine() == e_CommUcci)
{
// 寻找引擎所在的目录argv[0],并且把“BOOK.DAT“默认为缺省的开局库开局库
BackSlashPtr = strrchr(argv[0] ‘\\‘);
if (BackSlashPtr == 0)
strcpy(BookFile “BOOK.DAT“);
else
{
strncpy(BookFile argv[0] BackSlashPtr + 1 - argv[0]);
strcpy(BookFile + (BackSlashPtr + 1 - argv[0]) “BOOK.DAT“);
}
// 调用CSearch类,构造函数初始化一些相关参数
//a.初始化着法预产生数组
//b.初始化Hash表,分配21+1=22级Hash表,64M
//c.清空历史启发表
CSearch ThisSearch;
// 显示引擎的名称、版本、作者和使用者
printf(“\n“);
printf(“id name 中国象棋之“兵河五四V0.60”\n“);
fflush(stdout);
printf(“id copyright 版权所有(C) 2005-2008\n“);
fflush(stdout);
printf(“id author 范德军(中国原子能科学研究院)\n“);
fflush(stdout);
printf(“id user 未知\n\n“);
fflush(stdout);
// 显示引擎ucci指
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 326760 2005-12-13 10:23 兵河五四.mht
文件 909 2005-09-16 00:51 Binghewusi.sln
文件 2568 2005-12-13 10:07 Binghewusi.rc
文件 4704 2005-12-13 10:07 Binghewusi.vcproj
文件 535552 2005-12-19 13:23 Binghewusi.ncb
文件 2238 2004-08-01 14:25 Binghewusi.ico
文件 3917 2005-12-19 13:20 SearchInfo.txt
文件 106496 2005-12-19 13:07 兵河五四 V0.60.exe
目录 0 2005-12-19 13:59 Release
文件 106496 2005-12-19 13:07 Release\兵河五四 V0.60.exe
文件 1666548 2005-04-29 19:35 BOOK.DAT
文件 36804 2005-12-13 10:07 Binghewusi.aps
文件 9723 2005-09-28 01:26 BitBoard.h
文件 0 2005-10-17 18:11 Evaluation.cpp.h
文件 3513 2005-10-21 15:12 Evaluation.h
文件 3499 2005-10-18 18:02 FenBoard.h
文件 4480 2005-10-18 18:02 HashTable.h
文件 4196 2005-10-20 15:31 MoveGen.h
文件 5549 2005-10-22 16:51 PreMove.h
文件 947 2005-10-08 16:20 resource.h
文件 6296 2005-10-21 15:24 Search.h
文件 4224 2005-10-03 11:10 ucci.h
文件 14919 2005-12-13 10:07 Binghewusi.cpp
文件 16372 2005-12-13 09:35 Evaluation.cpp
文件 7243 2005-10-18 18:02 FenBoard.cpp
文件 15748 2005-10-19 10:23 HashTable.cpp
文件 52419 2005-10-21 17:04 MoveGen.cpp
文件 14637 2005-10-22 17:04 PreMove.cpp
文件 55893 2005-12-19 13:07 Search.cpp
文件 14969 2005-10-09 22:39 ucci.cpp
............此处省略4个文件信息
评论
共有 条评论