以前用C#写的一个中国象棋引擎程序

以前写的中国象棋引擎的C#源程序,可在VS2010中编译运行,由于个人精力有限,难以完成后续的开发工作,如果谁感兴趣,请关注公众号,发送后台消息“象棋引擎”,可收到源代码和相关资料的下载链接。如果你修改代码后参加比赛请加上我的名字就行了。

当前完成的工作:

(1)着法生成

(2)简单的alphabeta算法,支持置换表

(3)可以读取一堆PGN文件,生成开局库

(4)解析ucci命令

(5)有一个对战测试程序

(6)基本的单元测试

程序当前全部是托管代码,还没有考虑性能优化。

整个源代码可以编译,有些文件有重复,以源代码中的工程文件的为准。除了源代码之外,还有收集到的一些相关论文一起提供。

PonderNet │ PonderNet.sln ├─BitBoardBase 本来是想用位棋盘的,后来看来一篇论文(2009.Reul.New Architectures in Computer Chess),改用17x14的数组表示法 │ BitHack64.cs │ Board.cs │ BoardUtil.cs │ Board_Const.cs │ Board_Makemove.cs │ Fen.cs │ Move.cs │ MoveGenerator.cs │ MoveGenerator_Preset.cs │ MoveNotation.cs │ PgnUtil.cs │ RandomMersenneTwister.cs │ TraceAndTestImpact.testsettings │ Zobrist.cs │ ├─Perft 用来验证着法程序生成的工具 │ Program.cs │ ├─Ponder.OpeningBook 用来生成开局库的工具 │ Program.cs │ ├─PonderEngine 引擎 │ Evaluator.cs │ MoveGenerator.cs │ MoveGenerator_Preset.cs │ OpeningBook.cs │ PonderEngine.cs │ PonderMain.cs │ SearchTT.cs │ SimpleSearch.cs │ TranspositionTable.cs │ UcciCommand.cs 能够识别一些简单的ucci命令 │ │ ├─PonderGame 用于与其它引擎对战的程序,也可以自己与自己对战 │ Engine.cs │ EngineProcess.cs │ ExeProcess.cs │ PonderGame.cs │ PonderGameMain.cs │ Settings.cs │ ├─TestBitBoardBase 单元测试,主要针对着法生成 │ BoardTest.cs │ MoveGeneratorTest.cs │ TestBitBoardBase.csproj │ TestChineseChess.csproj │ └─TestPonderEngine 单元测试,主要针对引擎的alphabeta搜索算法 MoveGeneratorTest.cs PonderEngineTest.cs SimpleSearchTest.cs TestPonderEngine.csproj UnitTest_SearchTT.cs

原文发布于微信公众号 - 申龙斌的程序人生(slbGTD)

原文发表时间:2016-10-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

你的Ubuntu还可以这么美

先上两张桌面和开发环境见下图 ? ? 系统优化 更新源 更新前先设置源为aliyun的,国内访问速度快。 ? 1 2 sudo apt-get update s...

4065
来自专栏编程坑太多

『中级篇』Docker企业版的在线免费体验(56)

PS:这个毕竟是12个小时在线试用,了解就可以了,毕竟经历过就好,翻译我直接用的百度翻译,很烂希望理解。。另外说下12小时的在线体验只有一个node节点。使用必...

512
来自专栏FreeBuf

雪人行动:利用IE10 0day漏洞的APT攻击剑指美国军方情报

二月十一日,FireEye捕获了一次基于0day漏洞的攻击,这次攻击针对美国的一个退伍兵网站(bfw.org)。 我们确信这次攻击是针对美国高层军方人员的一次...

1968
来自专栏Coding+

如何多端同步 Hexo 框架博客

这个必要性其实不用多说,用着用着你就自己能体会到,比如头天晚上在家里发布了一篇技术文章,第二天在公司 Coding 的过程中突然想到之前发的文某个地方有 Bug...

761
来自专栏游戏杂谈

PhoneGap Build的使用

      纯粹属于闲折腾的结果,只是这中间还遇到一些问题,记录一下。因为没有IOS的开发key,所以这里只发布成功Android系统的安装程序。之前写过一篇构...

1463
来自专栏信安之路

用powershell下载文件的姿势你研究过吗?

PowerShell 的最大优势在于以 .NET 框架为基础。 .NET 框架在脚本领域几乎是无所不能,这是一个优点,也有可能成为一个方便黑客攻击的一个强大的便...

2190
来自专栏伪君子的梦呓

用 Python 制作微信好友个性签名词云图

0.前言 上次查看了微信好友的位置信息,想了想,还是不过瘾,于是就琢磨起了把微信好友的个性签名拿到,然后分词,接着分析词频,最后弄出词云图来。 1.环境说明 W...

4189
来自专栏智能计算时代

区块链超级记帐本架构概览

介绍 作者:Elli Androulaki,Christian Cachin,Konstantinos Christidis,Chet Murthy,Binh ...

2734
来自专栏黑白安全

苹果电脑“快速查看”存在漏洞 或可泄密加密数据

一般认为,自十多年前“快速查看”这一功能推出以来,这个安全漏洞就已存在。本月初,安全研究员Wojciech Regula在博客中详细描述了这一安全漏洞。Patr...

753
来自专栏用户画像

第32章 IP路由原理

280. 假设一台MSR 路由器获得两条去往目的网段100.120.10.0/24 的路由,这两条路由的Cost 分别是120和10,优先级分别是10 和150...

872

扫码关注云+社区