微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何跟踪点击次数而不是两次点击同一个地方

如何解决如何跟踪点击次数而不是两次点击同一个地方

这是我的代码

while (1):
    pic = pyautogui.screenshot(region=(200,150,1600,800))
    width,height = pic.size
    for x in range (0,width,1):
    
        for y in range (0,height,1):

            r,g,b = pic.getpixel((x,y))
            if r == 71 and g == 38:

                click(x+200,y+150)
                
                time.sleep(0.5)
               
                if pyautogui.locateOnScreen('kalk.png',grayscale=True,confidence=0.8) != None: 
                    click(1111,906)
                    time.sleep(0.5)
                    click(1155,165)
                    time.sleep(0.5)
                    click(1342,994)
                    pyautogui.press('a')
                    time.sleep(0.5)
                    pyautogui.press('a')
                    time.sleep(0.5)
                    pyautogui.press('a')
                else: 
                    pyautogui.press('ctrl')
                    continue

我想确保我的代码不能两次点击同一个地方,而是记住它点击过的地方,而不是第二次点击同一个地方。我该怎么做?

解决方法

因为您的所有坐标对都可以表示为一个元组,所以您可以使用 set 来跟踪已单击的位置,并且仅单击尚未单击的位置:

while(1):
    pic = pyautogui.screenshot(region=(200,150,1600,800))
    width,height = pic.size
    clicked = set() # Create set
    for x in range (0,width,1):
        for y in range (0,height,1):
            r,g,b = pic.getpixel((x,y))
            if r == 71 and g == 38 and (x,y) not in clicked:  # Check if coordinates already clicked
                clicked.add((x,y))  # Mark coordinates as clicked
                click(x+200,y+150)
                
                ...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。