Seite 1 von 1

Problem mit Input

Verfasst: Sonntag 28. Dezember 2014, 20:59
von LucasTrever
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.

Re: Problem mit Input

Verfasst: Sonntag 28. Dezember 2014, 21:11
von 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.

Re: Problem mit Input

Verfasst: Sonntag 28. Dezember 2014, 21:13
von darktrym