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

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

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

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

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

我用Java写的象棋外挂成功了相关推荐

  1. 使用java来写一个游戏外挂-内存修改程序(辅助-开篇)

    很久以前研究过如何使用java写一个内存读写的程序,但是java都是知道的 它是在虚拟机上进行运行的,所以没办法进行内存的读写 所以用到了jan来执行windows自带的 kernel32.dll程序 ...

  2. JAVA写XML乱码问题_java 写 xml 中文乱码

    今天用java写xml文件,发现写完后xml文件的中文就变成了乱码, 解决办法:把xml文件的头部编码改为utf-8,StreamResult编码方式也改为utf-8. =============部分 ...

  3. 用java写一个简单的区块链(下)

    用java写一个简单的区块链(下) 2018年03月29日 21:44:35 java派大星 阅读数:725 标签: 区块链java 更多 个人分类: 区块链 版权声明:本文为博主原创文章,转载请标明 ...

  4. 后门怎么写隐蔽java_用Java写黑软-后门篇

    这次我给大家带来的是<用Java写黑软-后门篇>,目前我在网上还没有找到哪位高手把自己写的java后门公布出来,有的也多是些恶搞的东西,所以这次我就来献献丑了. 先来一段理论的东西,后门, ...

  5. Java实现中国象棋(联机版)

    Java实现中国象棋(联机版) 该版本的中国象棋,程序有点复杂,是基于网络通信的基础上实现的.由于代码带太长,我这里就只做简单的演示,下面会给出链接地址的. 一.程序结构: 客户端: 服务端: 二.操 ...

  6. java编写爬虫_手把手教你从零开始用Java写爬虫

    本文将手把手地教大家从零开始用Java写一个简单地爬虫! 目标 爬取全景网图片,并下载到本地 收获 通过本文,你将复习到:IDEA创建工程 IDEA导入jar包 爬虫的基本原理 Jsoup的基本使用 ...

  7. java qq聊天界面_【附源码】用Java写了一个类QQ界面聊天小项目,可在线聊天!...

    原标题:[附源码]用Java写了一个类QQ界面聊天小项目,可在线聊天! 目录: 1.功能实现 2.模块划分 3.使用到知识 4.部分代码实现 5.运行例图 1.功能实现 1.修改功能(密码.昵称.个性 ...

  8. 用JAVA写一个画图小程序(JAVA 大作业)

    第一次写博客 且是稍微大点的程序 看看就行 重新写的在这,更加清晰明了:点击进入:用JAVA写一个画图小程序(JAVA 大作业)重排版本 设计思路 首先我直接去了Windows自带画图程序去实践模拟, ...

  9. Java游戏开发 —— 象棋

    公司来活了,忙,暂时没空写完象棋AI这块,等以后再完善吧! 引言: 象棋的代码实现有点复杂,尤其是计算机的AI算法,在网上找了很多资料,费了好半天劲才弄明白其实现的原理,真的挺开阔思路的,很有意思! ...

最新文章

  1. d3.json php,使用d3.json从PHP进行JSON输出
  2. FAIR 训练 AI 玩拳击,效果堪比真人比赛,试探+周旋+爆头
  3. 从外资银行上看国内银行的差距
  4. POJ 1573 POJ 2632(两道有趣的Robot)实例
  5. Android使用百度地图定位
  6. duration java_Java Duration类| 带示例的dividBy()方法
  7. error: Your local changes to the following files would be overwritten by merge:
  8. HTTP/1.1 Range和Content-Range
  9. 二阶龙格库塔公式推导_二阶常系数齐次线性方程通解推导(涉及常数变易法和欧拉公式)...
  10. oracle out参数查询,Oracle的out参数实例详解
  11. 用网站(WebSite而不是WebProject)项目构建ASP.NET MVC网站
  12. C语言最全爱心代码大全
  13. 计算机防勒索病毒需求分析
  14. C语言:按照样例输出打印一个长方形图形
  15. CX8825 3.1A数码显示车充IC 适用于快充方案,2019年最新方案
  16. 解决Google浏览器打开页面速度太慢问题
  17. 论一个X倒下了千千万万个X站起来了
  18. MapReduce优劣,理解MapReduce与Hadoop
  19. 关于组队学习的一点想法
  20. 小程序安卓和ios使用自定义字体,解决安卓不生效问题

热门文章

  1. 不能再给客户发短信了?不,只要这样发就可以!
  2. Chrome不能打开千牛客户端的解决方法
  3. 感性理解Word2Vec - 它的神奇以及原理
  4. 不要只看小米3 2000元级别手机强力推荐
  5. UNIX传奇[转自酷壳]
  6. HTTP 请求方法大全| HTTP Request Method
  7. 基于PB实现窗口计算器
  8. ie浏览器里怎么打开控制台
  9. 抖音SEO优化源码,抖音搜索排名系统,技术理论分析搭建
  10. C 语言编程 — 指针类型 — 指针(pointer)