无法弄清楚某些条件的循环

时间:2017-12-13 08:28:25

标签: python

我开始学习编程并尝试编写我的第一个Flash游戏机器人,但我想我无法解决问题

这个游戏是,玩家随机点击5个区域,如果玩家幸运,敌人将被击中并减少他的马力。 Enemy的hp是6,这个游戏要求玩家在不超过7次射击时完成此操作,这意味着玩家只有一次机会错过猜测。

所以我将HP栏“剪切”到6个jugdement区域,并在python中使用PIL来判断每个区域中像素的颜色变化,然后让pyautogui进行一些自动点击。该代码的主要部分是:

while True:
    flag = 1
    for i in range(6):
        s = screenGrab()
        pixels = s.load()
        pixelJugde_1 = pixels[judgeAreas[i]] # jugde if hp is reduced after this shot
        if pixelJugde_1 != (0, 0, 0): # if this shot missed
            randomClick() # try again
            s = screenGrab()
            pixels = s.load()
            pixelJugde_2 = pixels[judgeAreas[i]] # second judge of this shot
            if (pixelJugde_2 != pixelJugde_1): # hp changed, second try didn't miss
                flag = 1  # mark this shot has been tried twice
                randomClick() # continue next shot
            elif (pixelJugde_2 == pixelJugde_1 and flag == 1): # second try missed
                resetResult() # restart the game
                break
        else:
            print 'got shot' # success at first try
            randomClick() # next shot

现在我的问题是,如果第一次拍摄已被尝试两次并标记,当下一次拍摄开始并未命中时,它仍会尝试两次,就像标记标记不起作用一样。那么如何解决这个问题?

0 个答案:

没有答案