Wie man ein einfaches Tic-Tac-Toe-Spiel auf Basis von Python erstellt

WBOY
Freigeben: 2023-05-19 14:29:37
nach vorne
1391 Leute haben es durchsucht

Grundgerüst

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)
Nach dem Login kopieren

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 模块。然后,我们创建了一个名为 rootTk 对象,并设置了它的标题。我们这里命名为井字棋。

接着,我们创建了两个 Label 对象,并将它们放置在根窗口中的第一行和第二列。Label 对象的文本分别是 player1 : Xplayer2 : O,它们的字体大小为 15 像素。

最后,我们创建了一个名为 msgmessagebox

Als nächstes erstellen wir zwei 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 definieren

button1 = 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)
Nach dem Login kopieren

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.

Funktionsimplementierung

Wir 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()
Nach dem Login kopieren
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.

Wie man ein einfaches Tic-Tac-Toe-Spiel auf Basis von Python erstelltEffekt

🎜🎜🎜

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!