Python Scrip Tasteneingabe zum Spiel?

Hallo, ich probiere mich grade im Programmieren.
aus spaß/versuch wollte ich eine Geschick spiel automatisierten
Aber ich bekomme es einfach nicht hin, dass das Scrip die tastenbefehle zum spiel sendet aber genau das passiert nicht.
wen ich es in einer Text Datei probiere klappts.
Script:

import cv2
import numpy as np
import pyautogui
import time
# Funktion zum Erstellen eines Screenshots eines bestimmten Bereichs
def take_screenshot(region=None):
  try:
    screenshot = pyautogui.screenshot(region=region)
    screenshot = cv2.cvtColor(np.array(screenshot), cv2.COLOR_RGB2BGR)
    return screenshot
  except Exception as e:
    print(f"Fehler beim Erstellen des Screenshots: {e}")
    return None
# Funktion zum Finden einer Vorlage in einem Screenshot
def find_template(screenshot, template_path, threshold=0.8):
  try:
    template = cv2.imread(template_path, 0)
    if template is None:
      print(f"Vorlage konnte nicht geladen werden: {template_path}")
      return False
    screenshot_gray = cv2.cvtColor(screenshot, cv2.COLOR_BGR2GRAY)
    result = cv2.matchTemplate(screenshot_gray, template, cv2.TM_CCOEFF_NORMED)
    min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)
    if max_val >= threshold:
      print(f"Vorlage {template_path} gefunden bei {max_loc}, mit Wert {max_val}")
      return True
  except cv2.error as e:
    print(f"OpenCV Fehler beim Finden der Vorlage: {e}")
  except Exception as e:
    print(f"Allgemeiner Fehler beim Finden der Vorlage: {e}")
  return False
# Hauptfunktion für die Automatisierung
def play_waveshaper(region):
  shapes_templates = {
    'triangle_down': r'C:\Users\nilsw\Pictures\Screenshots\triangle_down_template.png',
    'triangle_up': r'C:\Users\nilsw\Pictures\Screenshots\triangle_up_template.png',
    'square_up': r'C:\Users\nilsw\Pictures\Screenshots\square_up_template.png',
    'square_down': r'C:\Users\nilsw\Pictures\Screenshots\square_down_template.png'
  }
  shapes_keys = {
    'triangle_down': 'Q', # Tastenbelegung für Dreieck Runter
    'triangle_up': 'E',  # Tastenbelegung für Dreieck Hoch
    'square_up': 'W',   # Tastenbelegung für Viereck Hoch
    'square_down': 'S'   # Tastenbelegung für Viereck Runter
  }
  try:
    while True:
      screenshot = take_screenshot(region)
      if screenshot is None:
        print("Screenshot ist None, versuche es erneut.")
        continue
      found = False
      for shape, template_path in shapes_templates.items():
        if find_template(screenshot, template_path):
          if shape in shapes_keys:
            key = shapes_keys[shape]
            print(f"Muster {shape} gefunden und die Taste {key} wird gedrückt.")
            pyautogui.press(key)
            time.sleep(0.1) # Kurze Verzögerung nach Tastendruck
            found = True
      if found:
        # Füge hier weitere Aktionen hinzu, die ausgeführt werden sollen, wenn ein Muster gefunden wurde
        time.sleep(1) # Beispiel für eine Pause, bevor der nächste Screenshot gemacht wird
      else:
        time.sleep(0.1) # Warte eine kurze Zeit, bevor der nächste Screenshot gemacht wird
  except KeyboardInterrupt:
    print("Automatisierung gestoppt")
  except Exception as e:
    print(f"Ein Fehler ist aufgetreten: {e}")
if __name__ == "__main__":
  region = (0, 0, 1279, 1389) # Region, die den gesamten Bildschirm abdeckt
  print(f"Überwachte Region: {region}")
  play_waveshaper(region)
cmd, Code, Programmiersprache, Python
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.