Hallo Leute, nachdem ich ein Spiel (5 gewinnt) in python3 programmiert habe, möchte ich es "modernisieren" und statt der Tastatureingabe und print-Ausgabe ein Spielfeld mit Quadraten zum Anklicken haben. Wenn ich in ein tkinter-Tutorial gehe, dann wird mir stets eine aufwändige Grafikseitenprogrammierung angeboten und nicht sowas Simples wie: Male ein Quadrat, beschrifte es mit einem Symbol und melde, wenn es angeklickt wurde. Möglicherweise bin ich zu ungeduldig aber weiß jemand von einer einfachen Einführung in tkinter?
tkinter lernen
![]() Anmeldungsdatum: Beiträge: Zähle... Wohnort: Solingen |
|
Anmeldungsdatum: Beiträge: 11250 Wohnort: München |
tkinter ist weniger zum Zeichnen gedacht und mehr zum Erstellen von GUIs - für ein 5 Gewinnt könnte man da ein Spielfeld mit einem Grid aus Buttons aufbauen. Für Spiele mit Freiformen würde ich mir eher pygame ansehen - hier gibt es z.B. ein Video, in dem jemand ein Vier Gewinnt damit umsetzt |
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 49 Wohnort: Solingen |
Hallo "Fischadler" (oder bist Du ein Flugzeug?), danke für deinen Vorschlag und Info. Ich habe herausgefunden, dass 'pygame' nicht zum Pythonstandard gehört. Die Version, die ich gefunden habe besteht auf "Zusammenarbeit" mit der älteren Pythonversion 3.4. Tkinter hingegen ist Standard und auch in der aktuellen Pythonversion 3.8 enthalten. Ich will also bei 'tkinter' bleiben. Als Fachbuch habe ich leider nur ein englischsprachiges schon etwas älter, das deshalb mit "Tkinter" arbeitet,gefunden. Aber wird schon gehen. Falls doch jemand, der tkinter kann, einen Codevorschlag für mich hat, ich würde mich freuen. Das Problem ist eigentlich einfach: Wenn ein mit "." beschrifteter Button gedrückt wird, soll er seine Beschriftung in "X" ändern. Da sowas bei Buttons nicht vorgesehen ist, müsste man den Button löschen und neu zeichnen. Aber wie das geht, kann ich nirgends finden. Weiß jemand, wie das geht? |
Anmeldungsdatum: Beiträge: 11250 Wohnort: München |
Das geht schon, vgl. z.B. https://stackoverflow.com/a/32616433 und die nachfolgende Antwort für zwei Möglichkeiten. |
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 49 Wohnort: Solingen |
Danke seahawk für den Link, funktioniert auf Anhieb. Von hieraus kann ich mich jetzt weiter vorankämpfen. 😀 |