千家信息网

如何使用python实现带界面的井字棋小游戏

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,本篇文章给大家分享的是有关如何使用python实现带界面的井字棋小游戏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。今天我们用pytho
千家信息网最后更新 2024年11月26日如何使用python实现带界面的井字棋小游戏

本篇文章给大家分享的是有关如何使用python实现带界面的井字棋小游戏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

今天我们用python+tkinter安装带界面的井字棋,效果如图所示

TkinterPython 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。

pip install tkinter

1、首先安装tkinter

root= Tk()root.title('井字棋')digits = [1,2,3,4,5,6,7,8,9]mark = '' "count = 0panels = ["panel"]*10

2、初始化窗口

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)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)button5=Button(root,width=15,height=7,font=('Times 16 bold'),command=lambda: checker(5))button5.grid(row=2,column=2)button6=Button(root,width=15,height=7,font=('Times 16 bold'),command=lambda: checker(6))button6.grid(row=2,column=3)button7=Button(root,width=15,height=7,font=('Times 16 bold'),command=lambda: checker(7))button7.grid(row=3,column=1)button8=Button(root,width=15,height=7,font=('Times 16 bold'),command=lambda: checker(8))button8.grid(row=3,column=2)button9=Button(root,width=15,height=7,font=('Times 16 bold'),command=lambda: checker(9))button9.grid(row=3,column=3)root.mainloop()

3、定义按钮

很明显上面的井字棋就是9个按钮。这里定义9个按钮。

def win(panels,sign): return ((panels[1] == panels[2] == panels [3] == sign)   or (panels[1] == panels[4] == panels [7] == sign)   or (panels[1] == panels[5] == panels [9] == sign)   or (panels[2] == panels[5] == panels [8] == sign)   or (panels[3] == panels[6] == panels [9] == sign)   or (panels[3] == panels[5] == panels [7] == sign)   or (panels[4] == panels[5] == panels [6] == sign)    or (panels[7] == panels[8] == panels [9] == sign))

4、检查获胜的条件

检查获胜的条件,上面其中一种情况都是获胜的。

def checker(digit): global count, mark, digits if digit==1 and digit in digits:  digits.remove(digit)  if count%2==0:   mark ='X'   panels[digit]=mark  elif count%2!=0:   mark = 'O'   panels[digit]=mar  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()

最后这里是点击下棋,然后用win函数判断是否结束比赛赢得棋局。

以上就是如何使用python实现带界面的井字棋小游戏,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

0