TC官方合作论坛

标题: 唉!没人了吗?求帮忙如果改成选择 [打印本页]

作者: jianqiumy    时间: 2013-4-9 21:37
标题: 唉!没人了吗?求帮忙如果改成选择
求帮忙如果改成选择,应该怎么改呢?,因为后面还有的话如果就太多了,看着难受!!!或者有什么好方法?条件是找字或者找图,里面找到一个就结束了,谢谢,能给个思路吗?
空间 我的脚本
功能 条件1()
返回 (找字或者找图..................x,y.)
功能结束

功能 条件2()
返回 (...................)
功能结束

功能 条件3()
返回 (...................)
功能结束

功能 条件4()
返回 (...................)
功能结束


请问这里要改成选择要怎么改呢?
功能 函数()
如果(条件1)>=0
执行任务
否则
辅助.等待
如果(条件2)>=0
执行任务
否则
辅助.等待
如果(条件3)>=0
执行任务
否则
辅助.等待
如果(条件4)>=0
执行任务
否则
辅助.等待
如果结束
如果结束
如果结束
如果结束

功能结束

空间结束





作者: 187144831    时间: 2013-4-9 23:40
这样 你声明一个变量  A
条件里面设置 条件A的数值

下面如果在用一个选择
选择 (A)
作者: jianqiumy    时间: 2013-4-9 23:46
这样 你声明一个变量  A
条件里面设置 条件A的数值

下面如果在用一个选择
选择 (A)
187144831 发表于 2013-4-9 23:40:48

大侠能说明白一点吗?~~~把我的改一下我看看可以吗?就是不知道条件数值应该怎么设置好!!!!!!

作者: zhkq    时间: 2013-4-10 00:01
主要看你的条件怎么写的,如果要判断一个变量是否>=0有点麻烦,但是如果你现在条件1本身是个算式,或者是个颜色之类的,处理起来不一样,需要详细描述
作者: 幼园留级老油条    时间: 2013-4-10 00:27
  哦 学习了
作者: zgzjwzlx    时间: 2013-4-10 00:44

  1.      
复制代码

作者: jianqiumy    时间: 2013-4-10 01:01
主要看你的条件怎么写的,如果要判断一个变量是否>=0有点麻烦,但是如果你现在条件1本身是个算式,或者是个颜色之类的,处理起来不一样,需要详细描述
zhkq 发表于 2013-4-10 0:01:55

条件是找字,里面找到一个就结束了,谢谢,能给个思路吗?
作者: jianqiumy    时间: 2013-4-10 01:16
[code]
功能 按钮0_点击()
    变量 i=辅助.随机数(0,4)
    选择(i)
        条件 0:
        辅助.消息框(i&":变量i=0")
        条件 1:
        辅助.消息框(i&":变量i=1")
      ......
zgzjwzlx 发表于 2013-4-10 0:44:26
谢谢~~我试试看
作者: jianqiumy    时间: 2013-4-10 01:27
[code]
功能 按钮0_点击()
    变量 i=辅助.随机数(0,4)
    选择(i)
        条件 0:
        辅助.消息框(i&":变量i=0")
        条件 1:
        辅助.消息框(i&":变量i=1")
      ......
zgzjwzlx 发表于 2013-4-10 0:44:26
因为还是不理解!!请问能用我发的改一下可以吗?
作者: jianqiumy    时间: 2013-4-10 01:50
  哦 学习了
幼园留级老油条 发表于 2013-4-10 0:27:54
既然来了也不吱一声~~~!!!!!不像你作风!!!求助,帮忙看看怎么改成选择,如果看着蛋痛!!!!!
作者: zhkq    时间: 2013-4-11 00:16
你找字用的什么方法,是找图吗?
如果是
下面是一段实际的程序,不知道是不是你需要的
这段代码就是要在游戏窗口找11张图,第3 5 7三张需要特殊操作,其他都是直接点

  1. 功能 任务辅助程序()
  2. 变量 rx,ry
  3. 循环(真)
  4. 图片序号=窗口.找图(窗口句柄,0,0,1280,650,"rc:领取奖励1.bmp|rc:查看下一个日常任务1.bmp|rc:佩带物品1.bmp|rc:前往任务2.bmp|rc:领取奖励2.bmp|rc:前往任务1.bmp|rc:在线奖励.bmp|rc:铜钱.bmp|rc:激活新功能.bmp|rc:查看下一个日常任务2.bmp|rc:佩带物品1.bmp",#101010,0.8,1,rx,ry)
  5. 选择(图片序号)
  6. 条件 -1:

  7. 条件 3:
  8. 窗口.鼠标左键单击(窗口句柄,rx+10,ry+5)
  9. 辅助.等待(500)
  10. 窗口.鼠标左键单击(窗口句柄,rx+223,ry-202)
  11. 条件 5:
  12. 窗口.鼠标左键单击(窗口句柄,rx+10,ry+5)
  13. 辅助.等待(500)
  14. 窗口.鼠标左键单击(窗口句柄,rx+223,ry-202)
  15. 条件 7:
  16. 窗口.鼠标移动(窗口句柄,rx+10,ry+5)
  17. 辅助.等待(500)
  18. 窗口.鼠标移动(窗口句柄,rx+5,ry+5)
  19. 窗口.鼠标移动(窗口句柄,rx+10,ry+5)
  20. 默认:
  21. 窗口.鼠标左键单击(窗口句柄,rx+10,ry+5)
  22. 选择结束
  23. 秦美人浏览器.日志记录(图片序号)
  24. //秦美人辅助.记录日志(图片序号)
  25. 辅助.等待(500)
  26. 循环结束
  27. 功能结束
复制代码


作者: jianqiumy    时间: 2013-4-11 03:48
你找字用的什么方法,是找图吗?
如果是
下面是一段实际的程序,不知道是不是你需要的
这段代码就是要在游戏窗口找11张图,第3 5 7三张需要特殊操作,其他都是直接点

[code]功能 任务辅助程序()
变量 rx,ry
......
zhkq 发表于 2013-4-11 0:16:55
虽然不是我想要的,看有回复,非常的感谢你,感谢你的热心~~谢谢~~~~
因为我里面的图片和坐标都不一样的,还有就是有一半图片是同一张图片但有不同的功能用处,要是都放到一个函数里我不知道怎么表达了!!
要是把部分图片分开放在不同的函数里,对我来说就容易一点,
要是全放在一个函数里用选择,比如说: 图片1.BMP要是找到就 执行动作1,有时候我想 执行动作2.还有 执行动作3,怎么办呢?,而且 图片1.BMP只是其中一张,还有很多!!






作者: zhkq    时间: 2013-4-11 11:41
这个很简单
你的目标有问题,选择不是万能的。如果你希望通过选择让代码更直观清晰,可以使用选择和判断结合的方式

序号=找图  图片1 2 3 4
选择  (序号)
    条件0:
       空间名.图片1处理(x.y)
    条件1:
       空间名.图片2处理()
    条件2:
       空间名.图片3处理()
    条件3:
       空间名.图片4处理()
    条件-1:
       没找到处理
选择结束


然后你在 图片1处理()函数里面用判断或者选择这个图找到的各种情况做一下处理,
比如说

功能 图片1处理(x,y)
c=x&y
选择(c)
   条件"100200":
               坐标在100,200位置的话干啥
   条件 "200200"
               坐标在100,200位置的话干啥
选择结束
功能结束
作者: jianqiumy    时间: 2013-4-11 15:13
这个很简单
你的目标有问题,选择不是万能的。如果你希望通过选择让代码更直观清晰,可以使用选择和判断结合的方式

序号=找图  图片1 2 3 4
选择  (序号)
    条件0:
       空间名.图片1处理(x.y)
    条件1:
       空间名.图片2处理()
    条件2:
       空间名.图片3处理()
    条件3:
       空间名
zhkq 发表于 2013-4-11 11:41:50

想问一下,如果这样,应该怎么写呢?例如:十字路口;
序号=找图   上.BMP| 下.BMP|左.BMP| 右.BMP    //每一张图片都是必须是==0
而且找到其中一张后,不能直接点找到的图片,而是执行其它动作,用选择应该怎么写呢?





作者: zhkq    时间: 2013-4-12 00:01
想问一下,如果这样,应该怎么写呢?例如:十字路口;
序号=找图   上.BMP| 下.BMP|左.BMP| 右.BMP    //每一张图片都是必须是==0
而且找到其中一张后,不能直接点找到的图片,而是执行其它动作,用选择应该怎么写呢?

你这句话有两个问题:
1、序号=找图   上.BMP| 下.BMP|左.BMP| 右.BMP  找到上.bmp 序号返回0,找到下.bmp返回1,找到左 返回2,右返回3,你的理解可能有问题,返回的是找到了第几个图,所以不可能每张都是==0


2、找到图只是判断条件,跟你是否点击图片没有半分关系,你想干啥都行,
所以我的例子里面,找到某张图之后都是调用函数,那个函数你想咋写都没关系的。

作者: jianqiumy    时间: 2013-4-12 15:09
想问一下,如果这样,应该怎么写呢?例如:十字路口;
序号=找图   上.BMP| 下.BMP|左.BMP| 右.BMP    //每一张图片都是必须是==0
而且找到其中一张后,不能直接点找到的图片,而是执行其它动作,用选择应该怎么写呢?

你这句话有两个问题:
1、序号=找图   上.BMP| 下.BMP|左.BMP| 右.BMP  找到上.bmp 序号返回0,找到下.bmp返回1,
zhkq 发表于 2013-4-12 0:01:16

谢谢,谢谢你的回复,我很开心, 因为用你说找图的思路来找字~~~~出现很多麻烦~~~~我知道你的意思,可能我表达不好,找图, "1.2.3.4.",假如每个图片都有3个工作的,要是按你说的,是在条件里,再加3判断对吧."很抱歉"其实我是想找字,因为相似度和颜色不一样,还有每个"字"都要做3样工作,我看你说的是图片,理论上是一样的,谁知道找"字"要麻烦一点~~用在选择上,还真不知道怎么个搞法,因为"字"太多了,自己一直用长长如果否则如果结束!!!看着蛋痛!!而且代码太长!!!!!


但其实我是找"字"觉得找图和字差不,我只想要个思路,但"字"有2个颜色,要是加多"颜色色偏"还得做3个工作!不知道行不行,我先试试几个方式看看!用序号只能是固定位置,不能随机~~~~呵呵
我这种情况,能不能给我再说说用选择,找字的思路!!~~非常感谢~~~虽然还没用完全把如果换成选择,但和你聊天,让我想到很多问题,谢谢~~先给你打分辛苦了,但还希望你能够和我聊聊,最好是能够完成,呵呵,因为用选择的话可以省很多代码.





作者: zhkq    时间: 2013-4-12 15:46
你说的我看不带动,上代码吧,有时间的时候帮你看看
作者: jianqiumy    时间: 2013-4-13 23:23
你说的我看不带动,上代码吧,有时间的时候帮你看看
zhkq 发表于 2013-4-12 15:46:08

谢谢,实在太开心了,这个做好了.现在用找多字多色+选择+判断~~~代码少3份一,算是不错了~~~呵呵
以后还要请教你啊,还有好多地方要优化的!!!!!因为是新手很多都不明白的,要是能交个朋友就 好了!!!

作者: zhkq    时间: 2013-4-14 13:59
逻辑调整最容易大幅简化代码。
最开始都是流水账形式的,后来就发现这样需要考虑的太多,代码也太复杂,容易出错。
而面向对象的程序的设计思路其实有根本性变化的,以前是干完什么事情再干什么事情,设计好,而面向对象的设计,把各种功能提炼独立出来,不用太多考虑过程,更合理慢慢体会吧。
作者: jianqiumy    时间: 2013-4-14 14:31
逻辑调整最容易大幅简化代码。
最开始都是流水账形式的,后来就发现这样需要考虑的太多,代码也太复杂,容易出错。
而面向对象的程序的设计思路其实有根本性变化的,以前是干完什么事情再干什么事情,设计好,而面向对象的设计,把各种功能提炼独立出来,不用太多考虑过程,更合理慢慢体会吧。
zhkq 发表于 2013-4-14 13:59:31

嗯~~嗯~~~我记住了,谢谢


作者: jianqiumy    时间: 2013-4-14 14:48
逻辑调整最容易大幅简化代码。
最开始都是流水账形式的,后来就发现这样需要考虑的太多,代码也太复杂,容易出错。
而面向对象的程序的设计思路其实有根本性变化的,以前是干完什么事情再干什么事情,设计好,而面向对象的设计,把各种功能提炼独立出来,不用太多考虑过程,更合理慢慢体会吧。
zhkq 发表于 2013-4-14 13:59:31

想请问读写配置最好的方法,用一般的又写的长长的,用数组吗?不怎么会运用数组!!!唉!
很想学学数组,看教学上的但不会运用!!!
可以指点一下数组比较好的理解和实际运用吗?






欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1