浏览器之家


棋童 cat.0.1

《棋童》(ChessBoy)是一款致力于实现象棋软件之间无缝对接的帮助工具软件
《棋童》的基础工作原理
《棋童》运行时,通过抓取正在运行的象棋软件的用户界面(有象棋棋盘和棋子的画面),利用图像辨认技巧获取当前的棋局局面和着法,从而实现不同象棋软件之间的交互。

《棋童》的应用方法

步骤1:学习。
《棋童》安装后,首次运行时,必须先学习。点击菜单 [文件]->[学习...] 即可进入学习状态。学习的重要任务是辨认当前状态下目标窗口内棋盘的尺寸以及记录各个棋子的模样。这里说的“当前状态”,是指当前的屏幕显示设置的分辨率,目标窗口内棋盘、棋子模样(因为有些软件有很多种棋盘、棋子计划)等。学习时,请确保目标窗口内的棋局为象棋棋盘的初始开局,红方棋子在棋盘下方,黑方棋子在棋盘上方。以后目标窗口运行时,只要其界面状态和当前学习时的一致,《棋童》就能正确辨认其内部的局面和着法。为本次学习取一个好记的名字,填在“计划名称”中,《棋童》学会后会弹出对话框提示成功或失败。


步骤2:选择运行模式。
《棋童》cat.0.1支撑“记谱模式”和“对战模式”。“记谱模式”可用来可用来实现对战直播功,也能验证《棋童》的学习后果。“对战模式”可用来实现2个象棋软件窗口之间的对战。



记谱模式:
应用“>>”按钮来选择您需要《棋童》操作的窗口,如果该窗口未在界面左边的列表框中列举出来,请点击“刷新”按钮重新获取窗口列表。选择了窗口后,界面会显示出选择窗口上的标题,从该标题下方的下拉框中选择一个之前学习的计划名称。

对战模式:
和记谱模式一样,选择对战双方的窗口和应用的学习计划,另外再选择该窗口在“对战”过程中所代表的棋手方(红方或黑方),这样在对战过程中,《棋童》就会把该棋手方的着法“输出”至另一窗口中。

步骤3:开端工作!
选完运行模式和窗口以及窗口计划、棋手方之后,《棋童》就可以开端工作了,点击“开端”按钮即可。直到一方窗口被正常/异常关闭,或是您点击了“结束”按钮。


步骤4:保存棋谱。
记谱或者队战结束后,“保存棋谱”按钮将会变为可用按钮,点击后即可将辨认出的棋谱导出为棋谱文件。目前支撑的棋谱格式有后缀为.xqf 格式的文件,应用《象棋演播室》软件即可打开、编辑棋谱。

步骤5:退出。
点击窗口关闭按钮或者“退出”按钮即可退出《棋童》。




注意事项:也是最重要的!

1.关于辨认。
由于目前应用的棋子辨认算法还比较简略,有些象棋软件的界面设计里,棋子被选中后会有些变形,这在目前的算法里是无法辨认的,也盼望对相干辨认算法有更好的建议的朋友不吝赐教,在下先谢过了!
我测试能正确辨认的象棋软件有:联众中国象棋、楚汉棋缘、象棋演播室、QQ中国象棋。(版本未尽列出,请体谅!)其他很多软件都暂时没时间测试,感兴趣的朋友可以尝试,验证辨认正确与否的标准就是对其进行一次“直播记谱”,如果棋谱和原棋局能对应,则阐明辨认成功。
另外,对“拖动”走棋的界面计划目前也不能支撑,因为抓图过程可能会认为走了很多步棋,这个问题可能会在以后的版本中解决。


2.关于把持。
“记谱模式”中对“直播窗口”的棋子把持和“对战模式”对双方棋子的交互把持,都是先点击走棋的起始地位,再点击该着法的目标地位(这两个“点击”行动都是模仿的),因此,如果目标软件将行棋方法指定为“拖动”方法:“鼠标左键按下 -> 拖动鼠标 -> 在目标地位松开鼠标左键”,本软件目前版本仍无法完成。另外,由于有些软件,特别是网络游戏软件为了屏蔽游戏外挂,可能对这种方法做了限制,因此也不保证每次把持都能正确进行。真正的把持模仿也将在以后的版本中实现。这一版本运行时,必须保证两个窗口起始局面一样,包含高低红黑方的地位也要一样。


后期打算:

1. 支撑UCCI协议的中国象棋智能引擎。
2. 加强对鼠标把持的模仿,以便适应更多的情况。
3. 加强图像辨认后果,以适应更多的场合。
4. 其他。

最后,大家如果对《棋童》有什么看法或建议,包含发明的Bug和对新功效的等待,请通过邮件:[email protected]与我接洽。感谢大家对《棋童》软件的关注,谢谢!

下载地址:

相关推荐

评论

没安装畅言模块