自从上次写了一个h5版本的自动代打,识别准确度非常高,就有了想写一个手机app版本的试试,最近刚好碰上了疫情被困,闲来无事,ny就做出了一个跑得快自动代打程序,效果非常好,先睹为快。视频效果在这https://live.csdn.net/v/192063

说到自动代打就谈到图像识别问题,以前尝试过用按钮精灵进行图像识别处理,效果非常之差,首先就要用到蹩脚的易语言,识别的准确率就只有80%左右,准确率就算是90%对于代打程序来说都是致命的,没法使用。后来得知python的图像识别准确率达99%,那真的是太好了。我就用pc版本的h5程序测试了一下,果真好用,但可惜人工智能部分的训练一直是个迷,其智能效果并不理想,于是就有了采用C++算法处理的非人工智能版本。

主要分为两部分设计,识别是采用python来做,C++做出牌算法处理,为什么采用C++,是因为python性能上吃不消,而且本来算法也是C++现成的,所以也是顺其自然的事,这里插一句,采用python的好处相当多,功能模块之多如天上牛毛,还有易于使用学习,方便将来扩展,唯一的缺点就是性能低效。关于python如何调用C++这一部分也是进行了两天的学习和测试,才能正常使用,请看代码示例

        from ctypes import *
def dllCall(self,HandCardData,TurnCardData,DiscardData,bPass):class tagInPyhonNew(Structure):_fields_ = [("cbHandCardData", c_ubyte* 20),("cbHandCardCount", c_ubyte),("cbTurnCardData", c_ubyte* 20),("cbTurnCardCount", c_ubyte ),("DiscardCard", c_ubyte * 54),("cbDiscardCardCount", c_ubyte),("cbRangCardCount", c_ubyte ),("cbOthreRangCardCount", c_ubyte),("cbCardCount", c_ubyte),("cbResultCard", c_ubyte * 20)]pDll = CDLL("./testC++.dll")arg1 = tagInPyhonNew()tmpHandCard=self.changeDataOut(HandCardData)tmpTurnCard=self.changeDataOut(TurnCardData)tmpDiscard=self.changeDataOut(DiscardData)tmparray=c_ubyte * MAX_COUNTtmparray2 = c_ubyte * FULL_COUNTarg1.cbHandCardData=tmparray()arg1.cbTurnCardData = tmparray()arg1.cbResultCard = tmparray()arg1.DiscardCard = tmparray2()arg1.cbCardCount=0arg1.cbOthreRangCardCount=0if bPass :arg1.cbRangCardCount = 1else:arg1.cbRangCardCount = 0func=pDll.fntestPython2result = func(byref(arg1))print("action:")returnCardData=[]for i in range(0,arg1.cbCardCount):returnCardData.append(arg1.cbResultCard[i])print(arg1.cbResultCard[i])return self.changeDataIn(returnCardData)

以上是关于python如何传递结构体和数组的调用C++dll的经典实战代码。

关于识别部分功能,采用的是雷电模拟器下载手机app来进行使用,根据我的使用经验,雷电要比夜神更加稳定好用。这里就采用了4.0版本的雷电模拟器来进行游戏,效果如下

识别的代码细节,看上一篇人工智能跑得快程序代打里面有谈及,这里不再重复。这个版本的识别效果和代打效果都比以往的更上一层楼

基于这个原理,无论你是扑克,麻将,捕鱼,或者是记牌器,都可以通过这样的方式去实现。这里还有遗憾的地方就是不能在手机上安装使用,只能在pc上使用,不是很方便。关于如何打包到手机上使用也还需要去学习研究,希望懂得将python程序打包成apk供手机使用的朋友私信我,共同交流学习进步。

手机app跑得快游戏自动代打程序设计相关推荐

  1. 跑得快人工智能自动代打训练程序设计

    最近得知快手开源了斗地主人工智能设计的源码,我迫不及待地下载观摩了他们的代码,去年我也想过用人工智能来实现斗地主的机器人算法,但阅读了一大堆资料之后,也是无从下手,没想到现在有人开了个好头,我怎能错过 ...

  2. 怎么关闭苹果手机自动扣费_手机APP「会员自动续费」怎么办?教你一招快速关闭...

    你们知道学霸君每个月最讨厌收到什么短信吗? 就是APP自动续费的短信.... 特别是有一些软件,明明百八年前就已经没用了 当时只是因为年少无知觉得会员包月续费开通会比较便宜,所以才开通的. 每次收到它 ...

  3. 手机app 有没有window.location.href_热议小程序使用场景越来越多,未来有没有可能替代手机APP?...

    每个人的手机里总会下载各种类型的APP,以满足我们不同场景下的应用需求.但是由于APP占用内存较大,轻量级微信小程序出现之后就获得了很多用户的青睐. 目前微信小程序的数量已突破了230万+,发展势头非 ...

  4. 毕业设计——基于STM32单片机的绿植养护系统(物联网、智能家居、手机APP控制、自动监测土壤湿度)

    本工程包括一下功能:1.环境温湿度监测 2.土壤湿度监测 3.环境可燃气体浓度监测 4.RTC万年历功能 5.数据的实时显示(OLED屏幕.手机app) 6.自动浇水模式.手动浇水模式 ①自动浇水:系 ...

  5. iphone新旧手机数据传输已取消_如何取消iPhone手机App自动扣费?三种方法让你不再被“偷”...

    一直以来苹果手机App这个自动续费真是让大家不胜其烦,钱虽然不多可总是平白无故这里十块,那里二十块的被扣也是不小的浪费,日常生活中为了追追剧.听听音乐.玩玩游戏难免会开通一些App会员而选择自动续费的 ...

  6. 怎么取消手机APP自动续费?详细方法来了,轻松易懂

    在使用手机上网的时候,无论是游戏.外卖.看视频.听音乐等等,都拥有会员服务.每次开通会员的时候,平台会推出一种优惠政策,只需要同意自动续费的服务,就能够以极低的价格开通会员服务.可当自己不再需要会员的 ...

  7. python脚本实例手机端-手机APP自动签到-python实现 - 运维之路

    当今是移动APP的天下,很多APP软件为了吸引客户每天登录使用,设置的有每天签到送一些奖励的活动.这里以一个挺火的网络电话软件呼应(每天签到送长)为例,通过python 实现自动签到. 一.Fiddl ...

  8. 怎么取消苹果手机自动续费_手机 App 自动续费套路多?我们要如何取消?

    哈喽大家好,欢迎来到瞎玩科技! 现在很多 App 套路很深,我就想包一个月的会员试试,结果莫名其妙的发现手机上每个月都收到自动续费的通知. 都上人民日报了 最关键的,想解除自动续费,在 App 里找了 ...

  9. qtreewidget点击空白处时取消以选项_手机APP自动续费,我们要如何取消?

    随着各大视频网站内容IP的打造 追剧男孩女孩的钱包有点儿紧 A视频APP能看"妻子2" B视频APP能看"都挺好" A视频APP会员能看"东宫&quo ...

最新文章

  1. linux如何卸载netstat,linux – Netstat -s显示(并且正在增长)“从接收队列中删除的数据包”和“数据包在接收队列中崩溃”...
  2. java class 转 字节_[转]JAVA字节数据与JAVA类型的转换
  3. android添加购物车动画、天气应用、渐变状态栏、文件选择器等源码
  4. html5向上向下兼容插件,Sticky Header-兼容IE8的页面顶部固定jQuery插件
  5. php文章发布时间修改,Dedecms编辑文章更新当前时间的修改方法
  6. Linux平台kafaka安装及使用
  7. 王道考研数据结构笔记
  8. 设计一个具有大纯时延时间的一阶惯性环节的计算机控制系统,计算机控制课程设计——大纯时延一阶惯性环节温度控制系统...
  9. c语言二进制转十六进制代码,C语言--二进制转十六进制
  10. activity劫持学习与复现
  11. The APR based Apache Tomcat Native library which allows optimal performance in production 问题的解决
  12. 首次登陆系统强制修改密码
  13. 【软件工程-UML建模】
  14. Linux入门教程(附上demo)
  15. 如何做好SEO优化?
  16. org.hibernate.hql.internal.ast.QuerySyntaxException错误原因
  17. 【Java每日一题,Map和字符串】Ananagrams
  18. 如何优雅的区分测试版本和正式版本的环境
  19. sql2008 1814错误
  20. trace 32常用指令

热门文章

  1. 线程池使用的10个坑(二)
  2. console常用方法
  3. 百度网盘:申诉已受理,预计72小时内完成审核与处理
  4. android studio报错Error:Project with path 'XXXX' could not be found解决办法
  5. QFileInfo(文件信息)和临时文件
  6. NLP之TF-IDF:VSM向量空间模型(仅关键词组成的浮点数字向量)的简介、TF-IDF(VSM的常用的统计法)简介之详细攻略
  7. VBA 等待1S 处理方法
  8. Abandoned connection cleanup thread failed to stop
  9. vacuum 的描述(vacuum age )
  10. 列出html表单元素及语法,HTML表单(示例代码)