开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1870|回复: 9
收起左侧

[易语言] 软件运行cpu使用率40%多

[复制链接]
结帖率:58% (11/19)
发表于 2011-4-1 02:18:30 | 显示全部楼层 |阅读模式   湖南省娄底市
2精币
  1. .版本 2

  2. .程序集 窗口程序集1
  3. .程序集变量 窗口, 整数型
  4. .程序集变量 比对宽度, 整数型, , "4"
  5. .程序集变量 总注, 坐标
  6. .程序集变量 矩形, 矩形, , "4"
  7. .程序集变量 坐标pd, 坐标, , "4"
  8. .程序集变量 图|片, 字节集, , "4"
  9. .程序集变量 起始坐标, 坐标, , "4"

  10. .子程序 __启动窗口_创建完毕

  11. 起始坐标 [1].横 = 731
  12. 起始坐标 [1].纵 = 42
  13. 起始坐标 [2].横 = 473
  14. 起始坐标 [2].纵 = 252
  15. 起始坐标 [3].横 = 966
  16. 起始坐标 [3].纵 = 252
  17. 起始坐标 [4].横 = 811
  18. 起始坐标 [4].纵 = 502

  19. 矩形 [1].左边 = 581  ' 1代表对家,2代表上家,3代表下家,4代表自己
  20. 矩形 [1].顶边 = 41
  21. 矩形 [1].宽度 = 150
  22. 矩形 [1].高度 = 50

  23. 矩形 [2].左边 = 323
  24. 矩形 [2].顶边 = 251
  25. 矩形 [2].宽度 = 150
  26. 矩形 [2].高度 = 50

  27. 矩形 [3].左边 = 816
  28. 矩形 [3].顶边 = 251
  29. 矩形 [3].宽度 = 150
  30. 矩形 [3].高度 = 50

  31. 矩形 [4].左边 = 661
  32. 矩形 [4].顶边 = 501
  33. 矩形 [4].宽度 = 150
  34. 矩形 [4].高度 = 50
  35. '
  36. 总注.横 = 735
  37. 总注.纵 = 444
  38. 坐标pd [1].横 = 598  ' 1代表对家,2代表上家,3代表下家,4代表自己
  39. 坐标pd [1].纵 = 76
  40. 坐标pd [2].横 = 340
  41. 坐标pd [2].纵 = 286
  42. 坐标pd [3].横 = 833
  43. 坐标pd [3].纵 = 286
  44. 坐标pd [4].横 = 678
  45. 坐标pd [4].纵 = 536
  46. 比对宽度 [1] = 65
  47. 比对宽度 [2] = 65
  48. 比对宽度 [3] = 65
  49. 比对宽度 [4] = 65

  50. ' 窗口 = 窗口_取窗口句柄 (, “五张牌”, )


  51. .子程序 _按钮1_被单击

  52. 画板1.底图 = {  }
  53. 画板2.底图 = {  }
  54. 画板3.底图 = {  }
  55. 画板4.底图 = {  }
  56. 画板1.底图 = {  }
  57. 时钟2.时钟周期 = 350


  58. .子程序 _按钮2_被单击

  59. 时钟1.时钟周期 = 0
  60. 时钟2.时钟周期 = 0


  61. .子程序 _时钟1_周期事件


  62. .' 如果 (取坐标颜色 (0, 总注) = 1777180)
  63.     ' 时钟2.时钟周期 = 50
  64. .否则
  65.     ' 时钟2.时钟周期 = 0
  66.     ' 画板1.底图 = {  }
  67.     ' 画板2.底图 = {  }
  68.     ' 画板3.底图 = {  }
  69.     ' 画板4.底图 = {  }
  70.     ' 比对宽度 [1] = 65
  71.     ' 比对宽度 [2] = 65
  72.     ' 比对宽度 [3] = 65
  73.     ' 比对宽度 [4] = 65
  74. .如果结束
  75. ' 时钟1.时钟周期 = 50


  76. .子程序 _时钟2_周期事件

  77. ' 时钟2.时钟周期 = 0
  78. .如果 (取坐标颜色 (0, 总注) = 1777180)
  79.     调用子程序 (&记牌)
  80. .否则
  81.     画板1.底图 = {  }
  82.     画板2.底图 = {  }
  83.     画板3.底图 = {  }
  84.     画板4.底图 = {  }
  85. .如果结束




  86. .子程序 记牌

  87. .' 如果真 (取坐标颜色 (0, 坐标pd [1]) = 16777215)
  88.     .' 如果真 (直线找色 (0, 16777215, 起始坐标 [1], 150, 4, 颜色坐标 [1]))
  89.         ' a [1] = 取绝对值 (颜色坐标 [1].横 - 起始坐标 [1].横)
  90.         .' 如果真 (比对宽度 [1] > a [1])
  91.             ' 矩形截图 (0, 矩形 [1], 图|片 [1], 假)
  92.             ' 画板1.底图 = 图|片 [1]
  93.             ' 比对宽度 [1] = a [1]
  94.         .如果真结束

  95.     .如果真结束


  96. .如果真结束


  97. .' 如果真 (取坐标颜色 (0, 坐标pd [2]) = 16777215)
  98.     .' 如果真 (直线找色 (0, 16777215, 起始坐标 [2], 150, 4, 颜色坐标 [2]))
  99.         ' a [2] = 取绝对值 (颜色坐标 [2].横 - 起始坐标 [2].横)
  100.         .' 如果真 (比对宽度 [2] > a [2])
  101.             ' 矩形截图 (0, 矩形 [2], 图|片 [2], 假)
  102.             ' 画板2.底图 = 图|片 [2]
  103.             ' 比对宽度 [2] = a [2]
  104.         .如果真结束

  105.     .如果真结束

  106. .如果真结束


  107. .' 如果真 (取坐标颜色 (0, 坐标pd [3]) = 16777215)
  108.     .' 如果真 (直线找色 (0, 16777215, 起始坐标 [3], 150, 4, 颜色坐标 [3]))
  109.         ' a [3] = 取绝对值 (颜色坐标 [3].横 - 起始坐标 [3].横)
  110.         .' 如果真 (比对宽度 [3] > a [3])
  111.             ' 矩形截图 (0, 矩形 [3], 图|片 [3], 假)
  112.             ' 画板3.底图 = 图|片 [3]
  113.             ' 比对宽度 [3] = a [3]
  114.         .如果真结束

  115.     .如果真结束

  116. .如果真结束


  117. .' 如果真 (取坐标颜色 (0, 坐标pd [4]) = 16777215)
  118.     .' 如果真 (直线找色 (0, 16777215, 起始坐标 [4], 150, 4, 颜色坐标 [4]))
  119.         ' a [4] = 取绝对值 (颜色坐标 [4].横 - 起始坐标 [4].横)
  120.         .' 如果真 (比对宽度 [4] > a [4])
  121.             ' 矩形截图 (0, 矩形 [4], 图|片 [4], 假)
  122.             ' 画板4.底图 = 图|片 [4]
  123.             ' 比对宽度 [4] = a [4]
  124.         .如果真结束


  125.     .如果真结束

  126. .如果真结束

  127. .如果真 (取坐标颜色 (0, 坐标pd [1]) = 16777215)
  128.     矩形截图 (0, 矩形 [1], 图|片 [1], 假)
  129.     画板1.底图 = 图|片 [1]




  130. .如果真结束


  131. .如果真 (取坐标颜色 (0, 坐标pd [2]) = 16777215)
  132.     矩形截图 (0, 矩形 [2], 图|片 [2], 假)
  133.     画板2.底图 = 图|片 [2]


  134. .如果真结束


  135. .如果真 (取坐标颜色 (0, 坐标pd [3]) = 16777215)
  136.     矩形截图 (0, 矩形 [3], 图|片 [3], 假)
  137.     画板3.底图 = 图|片 [3]


  138. .如果真结束


  139. .如果真 (取坐标颜色 (0, 坐标pd [4]) = 16777215)
  140.     矩形截图 (0, 矩形 [4], 图|片 [4], 假)
  141.     画板4.底图 = 图|片 [4]



  142. .如果真结束

复制代码


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:58% (11/19)
 楼主| 发表于 2011-4-1 02:23:03 | 显示全部楼层   湖南省娄底市
万挂作坊的模块
支持库两个:核心支持库与特殊功能支持库
软件是一个五张牌记牌用的
命令用到了矩形截图和取坐标颜色
回复

使用道具 举报

结帖率:58% (11/19)
 楼主| 发表于 2011-4-1 02:29:47 | 显示全部楼层   湖南省娄底市
刚学易语言,还不会写自定义参数的子程序,程序看着费劲……
万挂作坊的教程强调要卸载句柄,可是我句柄直接用的0,0代表屏幕,应该不需要卸载吧。
时钟周期是350毫秒,周期事件&子程序记牌……
睡觉了{:3_239:}
回复

使用道具 举报

结帖率:25% (1/4)
发表于 2011-4-1 08:33:26 | 显示全部楼层   福建省福州市
模块滴不知道
GetDC(取场景) 和 ReleaseDC(释放场景) 这两个函数吧
0是整个窗口,也要释放
回复

使用道具 举报

结帖率:58% (11/19)
 楼主| 发表于 2011-4-1 12:17:04 | 显示全部楼层   湖南省娄底市
这看来不是软件的问题,而是截图记牌器固有的弊端,将就着用了。
回复

使用道具 举报

结帖率:67% (2/3)
发表于 2011-4-1 12:59:47 | 显示全部楼层   广东省佛山市
恭喜楼主终于把这个记牌程序做好了
识图功能肯定会对CPU占用有一定影响
向你学习
回复

使用道具 举报

结帖率:0% (0/1)
发表于 2011-4-1 13:30:46 | 显示全部楼层   广东省惠州市
截图当然占CPU啊

识图取色也损耗CPU
回复

使用道具 举报

结帖率:58% (11/19)
 楼主| 发表于 2011-4-1 18:12:57 | 显示全部楼层   湖南省娄底市
总结下过程吧
首先得找到一个截图模块,技术高的自己做一个也行。(用核心库的快照也可以,前提得获取DC句柄,精易模块里好像有这个功能。
起初我用矩形找图功能,运行效果不理想,一副牌28张,找一遍得7秒多。找图不行只能换思路,用截图去实现。
截图方式,一开始是定义了一个矩形数组(5,4),感觉太繁琐了,五张牌四个人玩,定义一个一维数组就可以了。
要实现自动记牌,需要时钟周期事件去判断什么时候该抓牌,这个难度也不大。
比较繁琐的事情是要用工具去取得一些坐标(用的按键精灵的抓抓)……
最后的结案陈词是,截图方式记牌不适合自动化,太耗CPU了,手动就可以了。
回复

使用道具 举报

结帖率:25% (1/4)
发表于 2011-4-1 18:24:13 | 显示全部楼层   福建省福州市
有见过一两个记牌器,好像都是找内存,不懂哦
回复

使用道具 举报

结帖率:45% (5/11)
发表于 2011-6-27 19:17:32 | 显示全部楼层   海南省儋州市
做个标记留待备用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表