十年前(2005年)我本科的毕业设计做了一个中国象棋的 桌面程序 智慧 中国象棋 (Xiang Qi)
一款完全免费的 中国象棋 (Xiang Qi) 游戏
后来认识媳妇之后 改名成 ‘智慧’ 我俩名字的一个字. 最开始代码是在DELPHI 7下编译的 后来移到 DELPHI 2007 最近休假 又整了整代码 移到了 DELPHI XE8 下编译.
DELPHI XE8 下支持 多线程并行语句 例如 Parallel.For, Parallel.ForEach, 而且DELPHI XE8是 UNICODE的. 新版本的代码质量速度效率要比以前的版本好一些.
不懂玩象棋的人可以看维基百科 https://zh.wikipedia.org/wiki/%E8%B1%A1%E6%A3%8B
我写了一个英文(很久之前, 未更新)的 英文简介 https://rot47.net/91

智慧中国象棋
2015年11月02日 下载: 3.0.0.500
更新: 记录
持续深入算法 Iterative Deepening
在人工智能里, 持续深入算法 Iterative Deepening 很常用于棋类程序中. 这个概念很简单:
1 2 3 4 5 | while (还有时间) { 搜索深度 ++ ; best_move = do_search(搜索深度); } apply_best_move(best_move); |
while (还有时间) { 搜索深度 ++ ; best_move = do_search(搜索深度); } apply_best_move(best_move);
这个代码看起来第一眼好像做了很多无用功 – 既然要搜索 深度为 6 为什么要先搜索深度为 5? 其实搜索算法 (例如 Alpha-beta 剪枝) 会用到 哈希表 用于保存之前搜索的一些经验. 这些经验能对之后的搜索有着速度的提高作用 所以直接搜索 深度为6可能没有搜索深度4+深度6来得快.
而且最为主要的是: 当时间还有的时候就继续加深搜索深度(电脑继续思考) 这样程序就不会受限于搜索固定深度. 比如在好电脑快电脑上 同样的时间算法搜索的深度更深这样智力也就更强!
这个程序的棋力 大概是 6秒内想三个回合 中局和 残局的时候 能想 4到6个回合
2015-Nov-7 更新
501版本 支持 64位 所以在安装后桌面会有两个游戏图标 一个是32位 另一个是64位. 在64位下也许会更有效率 可以肯定的是程序更加稳定 可以使用的内存更多, 不再受限于3.5GB (打开大内存LAA)
聪明的程序员用Delphi
Delphi(VB Killer)是一种编程语言,它是由Borland公司于1995年推出的。Delphi是一种基于Pascal的高级编程语言,它是一种面向对象的编程语言,它是一种结构化编程语言,它是一种事件驱动的编程语言。也被称为Object Pascal。- Delphi编程语言三十周年了!
- 回顾20年前时高中参加信息学奥赛(NOIP)的经历
- Delphi 软件分享: 智慧中国象棋 (Chinese Chess)
- Pascal 编程语言之父 尼克劳斯·沃斯 Niklaus Wirth RIP
- DELPHI 2007 编译速度 16万行每秒
- 公司 购买 正版 DELPHI XE8 软件 并附送 一套 DELPHI 2007
- 软件分享 - Delphi7 绿色精简版
- 公司购买 FIX-INSIGHT - DELPHI 静态代码分析工具
- 升级到 Delphi 10 西雅图
- 现代编译语言 整数计算性能比较: Delphi, C, C++, C#, JAVA
- DELPHI 2007 下的 PARALLEL FOR 实现
- 搞活动: Delphi 10.1 Berlin Starter 免费使用!
loading...
上一篇: ConEmu - WINDOWS下的命令行增强工具
下一篇: 31岁生日: 小感动

可以的