使用SikuliX的游戏机器人不能正常工作

2024-10-03 13:28:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用sikulixide创建或至少尝试一个移动游戏farmer bot,但我是Python的新手,我的主要语言是Java,不知道如何使用Python正确地处理游戏的逻辑。在

游戏逻辑是:
有4个空格可以放置一个怪物
如果你把怪物1的rank1放在space1上,你就不能把同一怪物的rank2放在任何其他空间
如果你按住怪物肖像2秒,然后拖放到太空中,游戏会检测到你选择了一个怪物
怪物达到等级上限后,自动运行停止,出现消息屏幕“levelMax”
如果我的跑步次数用完,自动运行将停止,出现消息屏幕“runsZero”并停止bot

bot流程:
首次运行是启动bot的触发器
当“levelMax”出现后,它会将所有怪物等级最高替换为1级怪物,然后循环再次开始,直到所有运行结束或没有4个怪物等级1。在

ps:我会在编辑时发布调试消息,我忘了把它们写下来
ps2:你们有可能根据逻辑发现游戏

编辑:[错误]错误原因:回溯(最近一次调用):File“C:\SikuliX\德拉甘德罗普·西库里\dragandrop.py“,第40行,在monstroUm=monster[monstroInt]索引器错误:索引超出范围: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)

Tags: 游戏lenpngbotlocationmonsterwhile怪物