文件名称:Chess-Engine:位板国际象棋引擎
文件大小:17KB
文件格式:ZIP
更新时间:2024-04-19 21:26:13
chess-engine chess chess-ai C++
象棋引擎 用位板实现的象棋引擎。 位板 位板用于表示板及其属性。 基本思想是,一个8x8的国际象棋棋盘可以由一个64位变量表示(在C / C ++中,这将是一个很长很长的unsigned int)。 如果我们的体系结构支持64位寄存器,则可以提供出色的计算速度。 在此引擎中,不是使用这么长的类型,而是使用称为“ Bitboard”的别名。 en弦 板子用fen字符串初始化。 芬芬的琴弦描述了一个棋盘状态,该棋盘的状态为,如果有传球的话,则为连铸权,棋子位置和半/全动记数器。 fen字符串解析器通过适当的错误检查支持实现。 移动世代 伪移动首先生成。 伪举动是孤立的合法举动,但可能无法防止支票受阻或让国王受阻。 我们区分两个片段类别。 a子和滑动件。 利物:典当,国王,骑士 滑动块:女王,白嘴鸦,主教 攻击/移动表是在编译时预先生成的。 这样,我们可以获取给定位置的所有可能的伪移动,而
【文件预览】:
Chess-Engine-master
----src()
--------MoveGeneration()
--------Board()
--------main.cpp(840B)
--------Utilities()
--------FenParser()
----CMakeLists.txt(587B)
----README.md(1KB)
----.gitignore(24B)