我用Java写的象棋外挂成功了

首先要想办法获得当前棋局的fen序列

FEN(Forsyth-Edwards Notation)是专门用来表示象棋局面的记录规范,在这个规范下,一个局面可以简单地用一行“FEN格式串”来表示,而不必烦琐地说:“红帅在四路次底线,黑将在5路底线……”。由于它是文本格式的(只牵涉到很有限的几个字母、数字和符号),因此网上传递棋局就非常方便,不用把棋图画在纸上或用文字笨拙地描述了,而是用棋谱编辑软件摆好局面,自动得到FEN格式串,再贴到诸如Web网页、BBS、电子论坛等能够传递文字的网络应用平台上。读者面对FEN格式传,只要借助于棋谱编辑软件,用“赋值”和“粘贴”就可以完全重现局面,使得棋谱交流快速而高效。

不知道怎么从内存中获得就只能用图像识别了,一开始我用的ocr 发现准确度并不高,然后用openimaj 得到了下面的结果

我用Java写的象棋外挂成功了_第1张图片

这样再判断坐标点,生成fen,然后再利用网上下载的象棋引擎利用管道通信将fen传给引擎,再拿到结果,根据结果,再给窗口发送点击命令,这里就需要用到jna了。

整体思路就是这样 ,成品已经能够自动走棋了,也一直连赢,但是我只是自己用,不会传播出去的

我用Java写的象棋外挂成功了_第2张图片

你可能感兴趣的:(javaFx)