Problem mit Input

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
LucasTrever
User
Beiträge: 5
Registriert: Donnerstag 11. Dezember 2014, 18:12

Hallo, ich habe ein Problem das eventuell sehr einfach zu lösen ist, jedoch habe ich nach einer halben Stunde googeln immer noch keine Lösung gefunden. Ich versuche gerade ein simples Spiel zu entwickeln dass auf Basis der Windows Konsole läuft, ich scheitere aber schon beim Startbildschirm. Mein Problem ergibt sich dadurch, dass die gesamte graphische Gestaltung durch Text erfolgt...

Code: Alles auswählen

def mainscreen():

    print("+-----------------------------------------------------------------------------+")
    print("|                                                                             |")
    print("|                                Castles of Kings                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|        Spiel starten:                  S                                    |")
    print("|                                                                             |")
    print("|        Anleitung anzeigen:             A                                    |")
    print("|                                                                             |")
    print("|        Infos anzeigen:                 I                                    |")
    print("|                                                                             |")
    print("|        Spiel beenden:                  X                                    |")
    print("|                                                                             |")
    vcontrol = input("|                                        "), print("                                                                    |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("|                                                                             |")
    print("+-----------------------------------------------------------------------------+")
mainscreen()
pause = input("")
Mein Problem tritt beim ersten Input auf: Ich möchte, dass dieser (der blinkende Unterstrich) inmitten des Kästchens (dem Print Befehl) steht, doch wird beim fordern des Inputs der Print ja abgebrochen, ich habe mir überlegt das Kästchen in die Parameter (sind es Parameter?) vom Input zu setzen, dabei wird der Blinkende unterstrich aber hinter das Kästchen gesetzt, kann man das irgenwie ändern?

Danke im Voraus und nette Grüße,
Lucas

PS: Die Prints hätte man vermutlich auch mit einer Line mehrfach ausgeben können (DRY und so...), aber ich finde, da sie zur graphischen Gestaltung dienen, ist diese Schreibweise übersichtlicher.
BlackJack

@LucasTrever: Das wird auf diesem Level schlicht nicht gehen. Das was Du vorhast erfordert mehr Kontrolle über das Terminal als man ohne zusätzliche Hilfsmittel über die Standardausgabe des Prozesses erreichen kann. Es gibt glaube ich einen Windows-Port des `curses`-Moduls. Damit könnte das zum Beispiel gehen.
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Antworten