Input für ein Terminal-Game automatisieren mit Python-Script

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
buhtz
Beiträge: 1106
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Input für ein Terminal-Game automatisieren mit Python-Script

Beitrag von buhtz » 26.02.2023 22:50:52

Ich möchte ein Game, dass im Terminal läuft (entweder ein Terminal-Emu unter X oder ein tty) mit einem Python Script überwachen (sein stdout lesen) und steuern (Tastatureingaben simulieren).

Habt ihr da ein paar Tips?
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Input für ein Terminal-Game automatisieren mit Python-Script

Beitrag von JTH » 26.02.2023 23:07:57

Was mir spontan dazu einfällt:

Ein Popen-Objekt, um das Spiel auszuführen und dich mit Ein- und Ausgabe des Spiels zu verbinden (stdin und stdout als PIPE geöffnet). Entweder direkt auf die stdin- und stdout-Attribute des Objekts lesend bzw. schreibend zugreifen oder communicate () benutzen, wie da angegeben.

Nehme mal an, das unbekannte, erwähnte Spiel nimmt seine Eingaben, wie ich's hier bei ner Terminalanwendung erwarten würde, über stdin an, auch weil du stdout erwähnst. Falls nicht, braucht's nähere Infos.

Nachtrag: Das klappt so ja erstmal nur, wenn's ein wirklich textbasiertes Spiel ist. Falls nicht, müsstest du das wie gesagt mal näher beschreiben.
Manchmal bekannt als Just (another) Terminal Hacker.

Antworten