python實(shí)現(xiàn)帶界面的井字棋小游戲
今天我們用python+tkinter安裝帶界面的井字棋,效果如圖所示。

Tkinter 是 Python 的標(biāo)準(zhǔn) GUI 庫(kù)。Python 使用 Tkinter 可以快速的創(chuàng)建 GUI 應(yīng)用程序。由于 Tkinter 是內(nèi)置到 python 的安裝包中、只要安裝好 Python 之后就能 import Tkinter 庫(kù)、而且 IDLE 也是用 Tkinter 編寫(xiě)而成、對(duì)于簡(jiǎn)單的圖形界面 Tkinter 還是能應(yīng)付自如。
pip install tkinter
1、首先安裝tkinter
root= Tk()
root.title('井字棋')
digits = [1,2,3,4,5,6,7,8,9]
mark = '' “
count = 0
panels = ["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個(gè)按鈕。這里定義9個(gè)按鈕。
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()
最后這里是點(diǎn)擊下棋,然后用win函數(shù)判斷是否結(jié)束比賽贏得棋局。
到此這篇關(guān)于python實(shí)現(xiàn)帶界面的井字棋的小游戲的文章就介紹到這了,更多相關(guān)python實(shí)現(xiàn)帶界面的井字棋內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python實(shí)現(xiàn)簡(jiǎn)單的井字棋小游戲
- Python+Tkinter實(shí)現(xiàn)經(jīng)典井字棋小游戲
- python入門(mén)游戲之井字棋實(shí)例代碼
- python實(shí)現(xiàn)簡(jiǎn)單的井字棋游戲(gui界面)
- Python實(shí)現(xiàn)井字棋小游戲
- python實(shí)現(xiàn)簡(jiǎn)單井字棋小游戲
- python實(shí)現(xiàn)簡(jiǎn)單井字棋游戲
- 基于python實(shí)現(xiàn)井字棋小游戲
- python實(shí)現(xiàn)井字棋游戲
- python實(shí)現(xiàn)人機(jī)對(duì)戰(zhàn)的井字棋游戲
相關(guān)文章
Python爬蟲(chóng)爬取有道實(shí)現(xiàn)翻譯功能
這篇文章主要介紹了Python爬蟲(chóng)爬取有道實(shí)現(xiàn)翻譯功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
python使用tcp實(shí)現(xiàn)局域網(wǎng)內(nèi)文件傳輸
這篇文章主要介紹了python使用tcp實(shí)現(xiàn)局域網(wǎng)內(nèi)文件傳輸,文件包括文本,圖片,視頻等,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
利用Python實(shí)現(xiàn)繪制論文中的曲線(xiàn)圖
這篇文章主要為大家詳細(xì)介紹了如何利用Python語(yǔ)言實(shí)現(xiàn)繪制論文中需要的曲線(xiàn)圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-03-03
Pandas 透視表和交叉表的實(shí)現(xiàn)示例
本文主要介紹了Pandas 透視表和交叉表的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07
基于PyQT5制作一個(gè)課堂點(diǎn)名系統(tǒng)
這篇文章主要為大家介紹一個(gè)基于PyQt5實(shí)現(xiàn)的抖音同款課堂點(diǎn)名系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試2022-02-02
Python實(shí)現(xiàn)的從右到左字符串替換方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的從右到左字符串替換方法,涉及Python字符串遍歷、運(yùn)算、判斷、替換等相關(guān)操作技巧,需要的朋友可以參考下2018-07-07

