python实现带界面的井字棋小游戏
目录
- 1、首先安装tkinter
- 2、初始化窗口
- 3、定义按钮
- 4、检查获胜的条件
python+tkinter
安装带界面的井字棋,效果如图所示。文章图片
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
实现带界面的井字棋内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- java中如何实现重建二叉树