Bei Study anmelden

Diese Seite ist der öffentliche eMedys-Auftritt. Dein Konto und deine privaten Inhalte laufen auf Study; die Anmeldung öffnet sich dort in einem eigenen Fenster.

Ein Ereignis braucht drei passende Merkmale

Kennung, Ereignistyp und Taste getrennt prüfen.

Ein Ereignisobjekt des Simulators besitzt window_id, type und button. Eine Aktion beginnt nur, wenn die Kennung bestätigt registriert ist, der Typ press lautet und im vereinbarten Modell button=3 die rechte Taste bezeichnet. Ein release-Ereignis ist eine andere Zustandsmeldung und darf nicht als zweiter Druck behandelt werden. Ebenso erzeugt ein Druck auf ein unbekanntes Fenster keine Aktion. Zwei echte Druckereignisse sind zunächst zwei zulässige Eingaben; ihre Zusammenfassung braucht eine eigene Regel. Filterung prüft also die Bedeutung eines einzelnen Ereignisses, während eine Begrenzung paralleler Aktionen später den Zustand des Systems berücksichtigt.

Ein Beispiel

Für registered={102} startet {window_id:102,type:'press',button:3} einen Kandidaten. Dasselbe Objekt mit type='release' wird ignoriert. Ebenso ignoriert wird ein rechter Druck auf 103, solange seine Registrierung offen ist. Der reine Prädikatcode liefert nur Wahrheitswerte und öffnet kein Menü. Python 3.11 · Lehrbeispiel def should_start(event, registered): return (event['window_id'] in registered and event['type'] == 'press' and event['button'] == 3) for event_type in ['press', 'release']: event = {'window_id': 102, 'type': event_type, 'button': 3} print(event_type, should_start(event, {102})) Erwartete Ausgabe press True release False

Mit meinem Konto üben →

Alle Lernwege