Linux  去小组页 > Linux 26438个成员

写了一个Linux下的中国象棋引擎

timebug 2012-02-03 01:34:27

引擎取名为”无害“,最终目标是“基本无害”,旨在帮助象棋新手重新找回自信(笑),目前基本框架已经完成,但正如其名,棋力还是很差。在普通机子上,限定每步6秒时间的情况下,平均搜索深度在5-8层左右。核心搜索主要采用的是极小窗口搜索,并结合了哈希表技术和历史启发;评估函数则相对实现得比较简单,只考虑了棋子本身的价值和棋子间的灵活度,虽不靠谱,但基本能用。 写完已经有一段时间了,由于身边能帮我测试的人有限,所以冒昧发到这里来,如果有朋友对此感兴趣,不妨可以拿去玩玩,有任何问题,欢迎前去项目主页吐槽反馈。 引擎部分完全用C语言实现,支持部分UCCI通信协议,并附带了一个简单的图形界面,由Python实现。当然,所有代码都是开放的,引擎部分暂时也未采用任何协议,且代码风格还算干净,所以,大家可以拿去放心使用随意修改,完全不用为此负任何责任。:-)

harmless vs human
...

引擎取名为”无害“,最终目标是“基本无害”,旨在帮助象棋新手重新找回自信(笑),目前基本框架已经完成,但正如其名,棋力还是很差。在普通机子上,限定每步6秒时间的情况下,平均搜索深度在5-8层左右。核心搜索主要采用的是极小窗口搜索,并结合了哈希表技术和历史启发;评估函数则相对实现得比较简单,只考虑了棋子本身的价值和棋子间的灵活度,虽不靠谱,但基本能用。 写完已经有一段时间了,由于身边能帮我测试的人有限,所以冒昧发到这里来,如果有朋友对此感兴趣,不妨可以拿去玩玩,有任何问题,欢迎前去项目主页吐槽反馈。 引擎部分完全用C语言实现,支持部分UCCI通信协议,并附带了一个简单的图形界面,由Python实现。当然,所有代码都是开放的,引擎部分暂时也未采用任何协议,且代码风格还算干净,所以,大家可以拿去放心使用随意修改,完全不用为此负任何责任。:-)

harmless vs human

项目地址:https://github.com/timebug/harmless (更多截图见豆瓣相册,最新发布版本为0.1,支持Linux,同时可耻地附带Windows版本) 最后,该项目在可预见的未来,会继续进行下去。因为即便对于我个人来说,这也会是一场有趣的博弈 —— 在你提高象棋水平的同时,努力让你的代码打败你。 以下是我在写这个象棋引擎的过程中主要参考的一些资料,希望对大家有用: 1. 象棋百科全书网站 http://www.xqbase.com/ 2. 《PC游戏编程》 http://book.douban.com/subject/1231902/ (经典,强烈推荐) 3. 《C/C++中国象棋程序入门与提高》http://book.douban.com/subject/3712932/

14
展开查看全文

回应 (24条) 只看楼主

  • babysoul
    lz加油,小程序棋力不错,惭愧地说我被harm了。。。
  • babysoul
    BOOK.dat 就是传说中的棋谱吧?两万多的战术条例。。
    程序的技术覆盖的很全面啊,核心算法和数据结构,GUI,网络编程,有时间要学习
  • timebug

    BOOK.dat 就是传说中的棋谱吧?两万多的战术条例。。 程序的技术覆盖的很全面啊,核心算 ... babysoul

    恩,棋谱用的是网上别人整理好的。(在此感谢不知名的原作者)
  • Anend
    拜读
  • 哆哆嗦嗦的
    第三本书,我在图书馆借过,后来精力都放在操作系统上了就没有学,LZ厉害。
查看更多回应(24)/  添加回应

推荐小组

豆瓣
免费下载 iOS / Android 版客户端