Ich bin Python 3 Noob ein Dame-Spiel zu schaffen, ich habe eine Reihe von Funktionen ... und Schleife meine Spiele ist wie folgt:Tkinter, helfen ein noob Tk Schleifen verstehen
while EndGame==0:
PrintBoard()
PrintBoardGui()
print("################","\n","Player 1","\n","################","\n")
Player=1
PlayerSelectPiece()
MovePiece()
PrintBoard()
PrintBoardGui()
print("################","\n","Player 2","\n","################","\n")
Player=2
if NbrPlayer==2:
PlayerSelectPiece()
else:
AiSelectPiece()
MovePiece()
PrintBoardGui(), dass ich wird am Anfang jeder Runde ausgeführt und erstellt ein Tkinter-Fenster und zeichnet das Board auf einem neuen Canvas in einem Tkinter Frame.
Danach muss ich das Fenster schließen, damit das Programm fortgesetzt wird. Ich weiß, dass dies eine suboptimale Lösung ist.
Ich habe mich umgesehen, versucht Tkinter's Schleifen zu verstehen und lese etwas über die after() Funktion, aber ich weiß wirklich nicht, wie ich es in meinem Code implementieren könnte.
Ultimatly Ich möchte, dass mein Tkinter-Fenster offen bleibt (vielleicht deaktiviert oder etwas), während ich Zeug in die Konsole gebe, um die Teile zu bewegen. Kannst du mir helfen?
Ich benutze Konsole, um mit dem Spiel zu interagieren, gibt der Benutzer die Zeile dann die Spalte des gewünschten Stücks zu bewegen. Ich bin nicht gut mit Tkinter Ich hatte die Idee, Knöpfe zu packen, anstatt "nur" das Brett auf eine Leinwand zu zeichnen, so dass der Benutzer das Stück direkt im Tkinter-Fenster auswählen konnte. Aber ich finde es ziemlich schwer, ich habe es versucht Zeigen Sie thkinter canvas des Boards an, anstatt das Tkinter-Fenster für die Eingabe in der Konsole zu zerstören, lassen Sie das Fenster offen, damit der Benutzer das Board bei der Eingabe in der Konsole sehen kann – guillaumedsde
Sie können eine Canvas-Methode verwenden, um herauszufinden, auf welches Stück der Spieler geklickt hat Es wäre besser, als deine GUI einzufrieren oder einen anderen Thread zu verwenden, um den Konsoleneintrag zu erhalten. " –
Ich habe über die After-Methode nachgedacht. Wenn du deine Fenstererstellung und die Zeichenmethode aufteilst, musst du das After nicht verwenden Methode und müssen nicht Ihr Fenster zerstören, da Sie darauf warten, dass die Konsole eine Benutzereingabe erhält.Sie können Ihre Draw-Methode nach der Benutzereingabe verwenden, um Ihre GUI zu aktualisieren.Sie müssen nur Ihre Programmfunktionen besser aufteilen ons: Fenstererstellung, GUI-Update, Benutzereingaben und Spielende, zumindest –