使用SikuliX的游戏机器人无法正常工作

时间:2018-05-02 12:44:16

标签: python sikuli sikuli-script

我正在创建或者至少尝试使用SikuliX IDE的移动游戏农民机器人,但我是Python的新手,我的主要语言是Java,并且不知道如何正确使用游戏的逻辑蟒。

游戏逻辑是:
有4个空间放一个怪物
如果你把monster1的rank1放在space1上,你不能把同一怪物的rank2放在任何其他空间上 如果您持有怪物肖像2秒钟,游戏会检测到您选择了一个怪物,然后拖放到空间
在怪物达到最大等级后,停止自动运行并显示消息屏幕“levelMax” 如果我没有运行,自动运行停止,消息屏幕“runsZero”出现,机器人停止发光

机器人的过程:
第一次运行是启动机器人的触发器 在出现“levelMax”之后,它会将所有怪物等级max替换为等级1怪物,并且循环再次开始,直到所有跑步都没有或者没有4个怪物等级为1。

ps:我会在编辑时发布调试信息,我忘记写下来了 ps2:你们可能会根据逻辑来检测游戏

编辑: [错误]导致的错误:Traceback(最近一次调用最后一次):文件“C:\ SikuliX \ dragAndDrop.sikuli \ dragAndDrop.py”,第40行,在monstroUm = monster [monstroInt] IndexError:index超出范围:2

monster1 = ["rank1.png","rank2.png"]
monster2 = ["rank1.png","rank2.png"]
monster3 = ["rank1.png","rank2.png"]
monster4 = ["rank1.png","rank2.png"]
monstersArray = [monster1, monster2, monster3, monster4]
levelMax = "1524942610020.png"
close = "1524942624936.png"
manage = "1524942638721.png"
okButton = "1524943405776.png"
start = "1524943415429.png"
yesButton = "1524943424798.png"
runsZero = "runsZero.png"
closeChat = "closeChat.png"
arrowLeft = "arrowLeft.png"

nox = App.focus("NoxPlayer 6.0.8.0")
localizacoes = [Location(355, 324),Location(357, 506),Location(356, 679),Location(357, 855)]
Settings.DelayBeforeDrag = 2.5
Settings.DelayBeforeDrop = 2.5
running = True
while (nox.hasWindow() and running):
   localiza = 0
   monstersArrayInt = 0
   monstersSelect = monsters
   while localiza <= len(localizacoes):
       while monstersArrayInt <= len(monstersSelect):
            monster = monstersSelect[monstersArrayInt]
            monstroInt = 0
            while monstroInt <= len(monster):
                monstroUm = monster[monstroInt]
                if monsterWindow.exists(monstroUm,3):
                    noxWindow.dragDrop(monstroUm,localiza)
                    del monstersSelec[monstersArrayInt]
                    localiza += 1
                    break
                elif monstroInt == len(monstersSelect):
                    monstersArrayInt += 1
                    break
                else: #exists(monstroUm) == False:
                    monstroInt += 1
                    wheel(monsterWindow,WHEEL_DOWN, 2)

0 个答案:

没有答案