关于复杂环路的问题

问题描述:

我在AutoHotKey中编写了一个脚本,并且我偶然发现了一个僵局。现在我有一个包含复选框和下拉列表的工作GUI。该程序是用于游戏的宏脚本 - 用户检查他想要在后台运行哪些宏,提交他的选项,程序会不断评估各种条件并根据是否满足这些条件来执行命令。 宏中的每一个模板是这样的:关于复杂环路的问题

Loop: 
PixelGetColor, color, 488, 778 ;gets pixel color of specific coordinate 
if thecolor = 0x000000 ; if the color is black 
{ 
    SendInput {Raw}f ;sends the f command to use item 
    } 

    else sleep 20 
goto, Loop 

所以宏观循环,评估各像素为2毫秒,如果if语句完成发送输入。

问题出在这里: 对于用户可以检查在后台运行的每一个宏,都会指出不同的像素颜色,发送不同的输入以及评估不同的坐标。我怎样才能创建一个包含用户复选框选项的全方位循环? 例如,如果该复选框= 1(选择),I可以是这样的:

if(%Box1%=1) 
{ 
    Run above code 
} 

但是,如果用户的检查1和2,我必须评价其他坐标,太。像这样的:

if(%Box1%=1 & %Box2%=2) 
{ 
    Run above code 
      + 
    PixelGetColor, color2, 510, 778 
    if thecolor = 0x000000 
    { 
     Send 1 
     Sleep 20000 
    goto, start 
} 
    else, sleep 20 

我不希望有一个运行了一个又一个的多个不同的循环,因为它会太慢了,我不希望有,如果做的所有可能的巨大分支“ '排列。 有谁知道该怎么办?

+0

这与JavaScript有什么关系? – 2010-07-13 05:48:40

+0

意外标记为这样。我如何分离? – Parseltongue 2010-07-13 14:50:37

,我不希望有“如果” 排列

的问题我的朋友是,这是唯一的解决办法做了所有可能的巨大 分支。 你必须检查每个复选框的状态,所以没有跳过那个部分。 如果我能看到你的代码,我可以给你发一个修正,但是你不能在这里粘贴完整的代码。尝试autohotkey.net/paste,我希望能够帮助你。