Heim >Backend-Entwicklung >Python-Tutorial >Wie man ein einfaches Tic-Tac-Toe-Spiel auf Basis von Python erstellt
from tkinter import * import tkinter.messagebox as msg root = Tk() root.title('井字棋') # labels Label(root, text="player1 : X", font="times 15").grid(row=0, column=1) Label(root, text="player2 : O", font="times 15").grid(row=0, column=2)
In diesem Code haben wir zuerst das Modul tkinter
und das Modul tkinter.messagebox
importiert. Dann erstellen wir ein Tk
-Objekt mit dem Namen root
und legen seinen Titel fest. Wir haben es hier Tic Tac Toe genannt. tkinter
模块和 tkinter.messagebox
模块。然后,我们创建了一个名为 root
的 Tk
对象,并设置了它的标题。我们这里命名为井字棋。
接着,我们创建了两个 Label
对象,并将它们放置在根窗口中的第一行和第二列。Label
对象的文本分别是 player1 : X
和 player2 : O
,它们的字体大小为 15 像素。
最后,我们创建了一个名为 msg
的 messagebox
Label
-Objekte und platzieren sie in der ersten Zeile und zweiten Spalte des Stammfensters. Die Texte der Label
-Objekte sind jeweils player1 : X
und player2 : O
und ihre Schriftgröße beträgt 15 Pixel. Schließlich erstellen wir ein messagebox
-Objekt mit dem Namen msg
und zeigen es im Root-Fenster an. Wenn der Benutzer auf eine Schaltfläche im Meldungsfeld klickt, wird das Meldungsfeld im Hauptfenster des Benutzers angezeigt, sodass der Benutzer es sehen kann. In diesem Beispiel zeigen wir einfach ein Meldungsfeld an. Schaltfläche definierenbutton1 = Button(root, width=15, font=('Times 16 bold'), height=7, command=lambda: checker(1)) button1.grid(row=1, column=1) button2 = Button(root, width=15, height=7, font=('Times 16 bold'), command=lambda: checker(2)) button2.grid(row=1, column=2) button3 = Button(root, width=15, height=7, font=('Times 16 bold'), command=lambda: checker(3)) button3.grid(row=1, column=3) button4 = Button(root, width=15, height=7, font=('Times 16 bold'), command=lambda: checker(4)) button4.grid(row=2, column=1)Dieser Code ist die Python-Implementierung der Button-Komponente im Tkinter-Modul. In Tkinter können mit dem Button-Widget Schaltflächen erstellt werden, die als Reaktion auf Benutzerereignisse angeklickt werden können. Wir haben neun Schaltflächenkomponenten deklariert und die Eigenschaften und Methoden jeder Komponente konfiguriert. Der Codeausschnitt jeder Button-Komponente unterscheidet sich geringfügig von der vorherigen Button-Komponente, da es sich bei diesem Code um eine vollständige Tkinter-Anwendung handelt, einschließlich Fenstern, Beschriftungen, Schaltflächen und anderen Widgets. In unserem Beispiel verwenden wir den Layout-Manager Grid in Tkinter, um 9 Schaltflächenkomponenten in Spalten anzuordnen und die Breite jeder Schaltfläche auf 15 Pixel festzulegen. Was je nach Bedarf angepasst werden kann, ist die Breite der Button-Komponente im Tkinter-Fenster. Abschließend richten wir eine Lambda-Funktion ein, um bestimmte Vorgänge für jede Button-Komponente auszuführen. Diese Lambda-Funktion ist eine unbenannte Funktion, die einen Parameter akzeptiert, der die Nummer der Button-Komponente darstellt. In diesem Beispiel richten wir für jede Button-Komponente eine Lambda-Funktion ein, um die Checker-Komponente aufzurufen, eine rekursive Funktion, die die angegebene Zahl überprüft. Spezifische Details zur Implementierung der Checker-Komponente finden Sie in den einzelnen Funktionen in der offiziellen Tkinter-Dokumentation. FunktionsimplementierungWir zeigen hier nur einen Teil des Codes, der Rest ist derselbe.
if digit == 1 and digit in digits: digits.remove(digit) ##player1 will play if the value of count is even and for odd player2 will play if count % 2 == 0: mark = 'X' panels[digit] = mark elif count % 2 != 0: mark = 'O' panels[digit] = mark button1.config(text=mark) count = count + 1 sign = mark if (win(panels, sign) and sign == 'X'): msg.showinfo("Result", "Player1 wins") root.destroy() elif (win(panels, sign) and sign == 'O'): msg.showinfo("Result", "Player2 wins") root.destroy()Unser Code definiert einen Zähler und zwei Markierungen, Ziffer und Marke. Der Zählerstand gibt an, wie viele Schleifen beurteilt und die entsprechende Operation ausgeführt werden müssen. Wenn die Ziffer gleich 1 ist und die Ziffer in Ziffern vorliegt, wird die Ziffer aus den Ziffern entfernt und die Aktion von Spieler 1 oder 2 wird basierend auf der Zählparität entschieden. Wenn count eine gerade Zahl ist, spielt Spieler 1 das Spiel, andernfalls spielt Spieler 2 das Spiel. Wenn in jeder Schleife der Rest von count dividiert durch 2 0 ist, dann ist mark gleich X und panel[digit] wird auf mark gesetzt. Wenn mark gleich O ist, setzen Sie panel[digit] auf mark. Dann legen Sie mark als Text der Schaltflächenkomponente button1 fest, addieren count um 1, setzen sign als Markierung und der Gewinner des Spiels wird anhand des Werts von sign ermittelt. Wenn Spieler 1 das Spiel gewinnt, wird die Meldung „Ergebnis“ angezeigt und das Fenster geschlossen. Wenn Spieler 2 das Spiel gewinnt, wird die Meldung „Ergebnis“ angezeigt und das Fenster geschlossen. In jedem Zyklus wird der Gewinner des Spiels anhand des Werts des Zeichens ermittelt. Wenn das Spiel von Spieler 1 gewonnen wird und das Vorzeichen gleich X ist, wird eine „Ergebnis“-Meldung angezeigt und das Fenster wird geschlossen. Wenn Spieler 2 gewinnt und das Zeichen O ist, sollte die Meldung „Ergebnis“ angezeigt und das Fenster geschlossen werden.
Effekt
🎜🎜🎜Das obige ist der detaillierte Inhalt vonWie man ein einfaches Tic-Tac-Toe-Spiel auf Basis von Python erstellt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!