中国象棋引擎的C#源代码

简介:

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

当前完成的工作:

1)着法生成

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

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

4)解析ucci命令

5)有一个对战测试程序

6)基本的单元测试

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

图片1

整个源代码可以编译,有些文件有重复,以源代码中的工程文件的为准。

除了源代码之外,还有收集到的一些相关论文可以一起提供。


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



----==== Email: slofslb (GTD) qq.com 请将(GTD)换成@ ====---- 
版权声明:自由转载-非商用-非衍生-保持署名( 创意共享3.0许可证
作者: 申龙斌的程序人生

----  魔方桥牌象棋、游戏人生... 
---- BASIC、C++、JAVA、 C#HaskellObjective-COpen Inventor、程序人生... 
----  GTD伴我实现人生目标 
----  SeismicPro地震剖面显示程序 
----  Eclipse油藏数值模拟二进制文件格式解析和格式转换软件 

本文转自申龙斌的程序人生博客园博文,原文链接:http://www.cnblogs.com/speeding/p/3979653.html,如需转载请自行联系原作者

http://www.cnblogs.com/speeding/ 

相关文章
|
3月前
|
编译器 C# Windows
C#基础:手动编译一个.cs源代码文件并生成.exe可执行文件
通过上述步骤,应该能够高效准确地编译C#源代码并生成相应的可执行文件。此外,这一过程强调了对命令行编译器的理解,这在调试和自动化编译流程中是非常重要的。
236 2
|
5月前
|
人工智能 缓存 Java
技术经验解读:【转】详细解析用C#写的小游戏《彩色连珠》(附源代码)
技术经验解读:【转】详细解析用C#写的小游戏《彩色连珠》(附源代码)
25 0
|
设计模式 Java 程序员
深入学习 C 语言需要看什么书籍;小白学编程先学习 C 还是 C#;java 源代码学习顺序|极客观点
深入学习 C 语言需要看什么书籍;小白学编程先学习 C 还是 C#;java 源代码学习顺序|极客观点
135 0
|
IDE 物联网 C#
ServerSuperIO Designer IDE 发布,打造物联网通讯大脑,随心而联。附:C#驱动源代码。
1.概况       注:ServerSuperIO Designer IDE 同行业网友随便使用,不涉及到软件使用限制的问题。      从2015年到现在的将近两年的时间,一直在开发、完善ServerSuperIO(SSIO)的基础框架,包括:多通讯机制、稳定性、扩展性等,没有太多时间把工作放在UI的设计与开发上,从二次开发者角度来讲易用性是短板。
1486 0