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?
Input für ein Terminal-Game automatisieren mit Python-Script
Input für ein Terminal-Game automatisieren mit Python-Script
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (backintime)
Teil des Upstream Betreuer Teams von Back In Time (backintime)
Re: Input für ein Terminal-Game automatisieren mit Python-Script
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.
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.