zoukankan      html  css  js  c++  java
  • 中国象棋引擎的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

  • 相关阅读:
    三数之和
    167
    二分搜索树
    687
    索引堆
    二分查找 leetcode704
    leetcode 56合并区间 java
    leetcode 1046
    堆的数据结构java
    leetcode 493
  • 原文地址:https://www.cnblogs.com/speeding/p/3979653.html
Copyright © 2011-2022 走看看