Случайно создал бесконечный цикл при попытке сопоставления регистра.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Случайно создал бесконечный цикл при попытке сопоставления регистра.

Сообщение Anonymous »

Я совершил ошибку и в конце концов сделал бесконечный цикл в случае совпадения:

Код: Выделить всё

import pyautogui
import cv2
import numpy as np
import time

def find_image(image_path, confidence=0.8):
screenshot = pyautogui.screenshot()
screenshot = np.array(screenshot)
screenshot = cv2.cvtColor(screenshot, cv2.COLOR_RGB2BGR)
template = cv2.imread(image_path)
result = cv2.matchTemplate(screenshot, template, cv2.TM_CCOEFF_NORMED)
loc = np.where(result >= confidence)

if loc[0].size > 0:
# calculate the position (x, y) of the first match
return loc[1][0], loc[0][0]
else:
return None

def click_image(image_path, confidence=0.8, max_retries=5, interval=3):
counter = 0  # Counter for Repitition

while counter < max_retries:
screenshot = pyautogui.screenshot()
screenshot = np.array(screenshot)
screenshot = cv2.cvtColor(screenshot, cv2.COLOR_RGB2BGR)
position = find_image(image_path, confidence)

if position:
# Klicke auf die gefundene Position
print(f" Image found at {position}, click...")
pyautogui.click(position)
counter += 1
print(f"Repitition: {counter}/{max_retries}")
time.sleep(interval)  # Warte vor der nächsten Suche
return True
else:
print(f"Image {image_path} not found. Try in {interval} second again...")
time.sleep(interval)  # Warte, bevor du es erneut versuchst

print("5 Repititions completed, restarting search...")
counter = 0  # Reset Counter and Repeat

Stamina = r'C:\Users\blabla\DokkanAutocklicker\Stamina.png'
Start = r'C:\Users\blabla\DokkanAutocklicker\StartStage.png'
Ok = r'C:\Users\blabla\DokkanAutocklicker\Ok.png'
Next = r'C:\Users\blabla\DokkanAutocklicker\GoToNextLevel.png'

image_detect = [Stamina, Start, Ok, Next]

while True:
print("Searching for Image ...")
match click_image:
case click_image if click_image in image_detect:
print(f"Image found...")
click_image(Stamina, confidence=0.8, max_retries=5)
case _:
print(f"No Image found...")
Моя цель:
Создать автокликер, который нажимает на совпадающие изображения в массиве из 4 разных изображений. Первые 3 изображения всегда одинаковы. Четвертое изображение может стать либо четвертым, либо снова третьим.
Если это четвертое изображение: немедленно вернитесь назад.
Если это третье изображение: щелкните изображение, появится четвертое изображение, щелкните его и вернитесь назад.
Я пробовал кучу вещей, но не могу откатиться, так как бесконечный цикл.< /п>

Подробнее здесь: https://stackoverflow.com/questions/793 ... match-case
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»