Tkinter Button per Mausklick Farbe ändern

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
byKrali
User
Beiträge: 1
Registriert: Sonntag 11. April 2021, 12:16

Hallo,
ich muss im Zuge eines Schulprojekts ein kleines Spiel programmieren und bräuchte etwas Unterstützung dabei!
Mein Spiel ist wie Tic-Tac-Toe nur mit Farben. Das heißt, dass es neun Felder gibt, welche mit tkinter aufgerufen werden. Ich bräuchte nun einen "command", welcher die Felder, bei Klick darauf, in z.B. grün umfärbt. Bei einem weiteren Klick darauf sollte sich das Feld in z.B. rot umfärben, sodass diese Farben quasi das "X" und "O" von Tic-Tac-Toe repräsentieren.
Vielen Dank schon im Vorraus!
Benutzeravatar
__blackjack__
User
Beiträge: 13100
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@byKrali: Am besten erst einmal die Grundlagen von Python lernen, inklusive objektorientierter Programmierung, also eigene Klassen schreiben. Denn das braucht jede nicht-triviale GUI.

Man sollte die Spiellogik von der GUI getrennt halten. Die GUI ist zur Anzeige und zur Eingabe, aber nicht um die Daten zu halten. Also zum Beispiel für den Test ob/wer gewonnen hat, darf der Code nicht anfangen Farben aus der GUI auszulesen. Du müsstest also überlegen was Du an Daten brauchst um den Spielzustand zu beschreiben, und wie man die am besten strukturiert.

Und so ganz konkret: Wenn Du so ein `command` brauchst, dann musst Du Dir das schreiben. Wobei Deine Beschreibung nicht zu Tic Tac Toe passt, denn wenn man ein Symbol, oder in Deinem Fall eine Farbe gesetzt hat, dann kann man das gleiche Feld nicht noch einmal anders belegen. Man kann nur unbelegte Felder belegen.

Letzter Hinweis: Irgendwo in der Lösung könne `functools.partial()` eine Rolle spielen.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten