中国象棋引擎的C#源代码
以前写的中国象棋引擎的C#源程序,可在VS2010中编译运行,由于个人精力有限,难以完成后续的开发工作,如果谁感兴趣,请关注微信公众号(“申龙斌的程序人生”,ID:slbGTD),发送后台消息“象棋引擎”,可收到源代码和相关资料的下载链接。并请告诉我你的姓名,并且如果你修改代码后参加比赛请加上我的名字就行了。
当前完成的工作:
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
----==== Email: slofslb (GTD) qq.com 请将(GTD)换成@ ====----
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
作者:申龙斌的程序人生
---- 魔方、桥牌、象棋、游戏人生...
---- BASIC、C++、JAVA、C#、Haskell、Objective-C、Open Inventor、程序人生...
---- GTD伴我实现人生目标
---- SeismicPro地震剖面显示程序
---- Eclipse油藏数值模拟二进制文件格式解析和格式转换软件
本文转自申龙斌的程序人生博客园博文,原文链接:http://www.cnblogs.com/speeding/p/3979653.html,如需转载请自行联系原作者
http://www.cnblogs.com/speeding/
中国象棋引擎的C#源代码相关推荐
- python中国象棋github_GitHub - bupticybee/elephantfish: elephantfish: 一个只有124行的中国象棋引擎...
介绍 elephantfish 是受到 sunfish 启发而撰写的纯python的中国象棋引擎, 整个象棋引擎核心代码只有124行(见compressed.py),棋力方面我仅进行过其与象棋小巫师傻 ...
- Qt终极教程——用Qt编程实现中国象棋游戏(提供源代码和程序编译运行教程)
Qt终极教程--用Qt编程实现中国象棋游戏 目录 Qt终极教程--用Qt编程实现中国象棋游戏 简介 运行可执行程序体验象棋游戏 Qt 安装 源代码的编译.运行与调试 生成预编译的可执行程序 简介 本文 ...
- 安卓android中国象棋chess程序项目源码源代码,C/C++编程笔记:C语言打造中国象棋游戏,项目源代码分享!,c语言笔记大全...
#include#include #define INTERVAL 50 //前面的间隔 #define CHESS_GRID_SIZE 70 //格子宽度 #define ROW 10 #defin ...
- C/C++编程笔记:C语言打造中国象棋游戏,项目源代码分享!
中国象棋是起源于中国的一种棋,属于二人对抗性游戏的一种,在中国有着悠久的历史.由于用具简单,趣味性强,成为流行极为广泛的棋艺活动. 它是中国棋文化,也是中华民族的文化瑰宝,它源远流长,趣味浓厚,基本规 ...
- 中国象棋通用引擎协议
一.概述 中国象棋通用引擎协议(Universal Chinese Chess Protocol,简称UCCI),是一种象棋界面和象棋引擎之间的基于文本的通讯协议.设立中国象棋通用引擎协议的目的有: ...
- 中国象棋通用引擎协议 UCCI
概述 中国象棋通用引擎协议 (Universal Chinese Chess Protocol,简称UCCI),是一种象棋界面和象棋引擎之间的基于文本的通讯协议. 规范通用引擎协议 UCCI 协议,为 ...
- linux终端 中国象棋,在Deepin系统下安装Xboard并使用它玩中国象棋
本文介绍在Deepin系统下安装Xboard的命令,并通过xboard @xq命令进入到中国象棋模式,有喜爱中国象棋的网友又可以多一种途径了,当然,也可以玩国际象棋. 前言 Xboard/WinBoa ...
- PiMuseum-游戏开发入门级教程-中国象棋-Chapter-3
PiMuseum-游戏开发入门级教程-中国象棋-Chapter-3 导语 游戏引擎 游戏引擎概念及其组件 光影效果 动画组件 物理系统 渲染系统 通信模块 初始化游戏引擎 选择游戏引擎 接入游戏引擎 ...
- 街头一小伙子C++开发中国象棋,智能走法巧妙,让人拍手叫好!
象棋是一种古老的智力游戏,人们往往通过对弈来参透一些人生的一些哲理,来提高自己的觉悟能力.思维能力和生活乐趣. 小编今天用C++ 中国象棋人机对弈程序源代码,支持人机对弈.人人对弈等多种方式,提供多种 ...
最新文章
- [译] 响应式 Web 应用(一)
- openCV中的findHomography函数分析以及RANSAC算法的详解(源代码分析)
- 环形数组最大子数组之和
- Visual C++——设置光标Cursor
- boost::mp11::mp_replace_at相关用法的测试程序
- php-URL方法下载远程图片
- SQL函数获取一年中每个月的天数
- 模块怎么用_Android 组件化/模块化 的理解!
- Ackerman阿克曼函数的递归与非递归(栈)实现
- 2017马哥python高级实战班培训推荐
- ps 如何制作一寸白底照片
- 一张图了解大牛直播SDK 1
- 虚拟机无法查询ip地址的解决方案
- PHP 网页调用本地exe程序实例
- [EE261学习笔记] 13.离散傅里叶逆变换及离散傅里叶变换的一些性质
- adb命令 激活并设置默认输入法
- 如何“拼”出一个页面-游戏中心模块化实践
- NanoPi M4开发opencv图像识别aruco码全过程(超详细)(二:测试补充)
- 孪生素数【函数实现】
- 计算机网络16进制首部检验和,校验和