littlebot
Published on 2025-04-12 / 1 Visits
0

【源码】基于C语言的国际象棋引擎

项目简介

本项目是一个基于UCI协议的国际象棋引擎,完全采用C语言编写。以魔法位板为基础,ELO评级约为2200,能够高效地进行棋局搜索和评估。

项目的主要特性和功能

  1. 运用魔法位板技术,可快速高效地预计算滑动棋子攻击。
  2. 采用Zobrist哈希和Transposition Table,能存储已评估位置并检测3次重复局面。
  3. 利用Negamax搜索结合Alpha - Beta剪枝,可快速搜索所有可能的棋局位置。
  4. 具备先进的移动排序技术,如原则变化搜索、无移动剪枝、晚期移动减少,能减少搜索时间。
  5. 采用Tapered Evaluation对给定棋盘状态进行静态评估。
  6. 动态分配Transposition Table,可从GUI或UCI命令分配内存。
  7. 拥有自定义Polyglot开局书籍,可增强开局表现。
  8. 支持多种时间控制模式。
  9. 具备UCI兼容性,可与多种GUI接口配合使用。

安装使用步骤

运行步骤

  1. 在任何基于UCI的GUI(如Arena GUICute Chess GUI)中打开二进制文件。
  2. 设置你选择的时间控制。
  3. 开始享受对弈。

使用Polyglot书籍(可选)

将书籍放在运行二进制文件的同一目录中。

编译步骤

在终端中输入以下命令复制项目:

Windows

make windows v=<version-suffix>

MacOS(仅ARM CPU)

make apple v=<version-suffix>

Linux

make linux v=<version-suffix> 编译完成后,可在根目录找到名为shuffle_<version_suffix>的可执行文件。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】