python实现带界面的井字棋小游戏

目录

  • 1、首先安装tkinter
  • 2、初始化窗口
  • 3、定义按钮
  • 4、检查获胜的条件
【python实现带界面的井字棋小游戏】今天我们用python+tkinter安装带界面的井字棋,效果如图所示。
python实现带界面的井字棋小游戏
文章图片

Tkinter Python 的标准 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]=markelif count%2!=0:mark = 'O'panels[digit]=marbutton1.config(text = mark)count = count+1sign = markif(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实现带界面的井字棋的小游戏的文章就介绍到这了,更多相关python实现带界面的井字棋内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    推荐阅读