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實(shí)現(xiàn)控制臺(tái)中的進(jìn)度條功能代碼
下面小編就為大家分享一篇Python實(shí)現(xiàn)控制臺(tái)中的進(jìn)度條功能代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12python提取包含關(guān)鍵字的整行數(shù)據(jù)方法
今天小編就為大家分享一篇python提取包含關(guān)鍵字的整行數(shù)據(jù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12windows安裝TensorFlow和Keras遇到的問(wèn)題及其解決方法
這篇文章主要介紹了windows安裝TensorFlow和Keras遇到的問(wèn)題及其解決方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-07-07python游戲?qū)崙?zhàn)項(xiàng)目之智能五子棋
下五子棋嗎?信不信我讓你幾步你也贏不了?本篇為你帶來(lái)用python編寫(xiě)的五子棋小游戲,文中給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值2021-09-09python2.7+selenium2實(shí)現(xiàn)淘寶滑塊自動(dòng)認(rèn)證功能
這篇文章主要為大家詳細(xì)介紹了python2.7+selenium2實(shí)現(xiàn)淘寶滑塊自動(dòng)認(rèn)證功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02Python手繪可視化工具cutecharts使用實(shí)例
這篇文章主要介紹了Python手繪可視化工具cutecharts使用實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12PyTorch中Tensor的數(shù)據(jù)類(lèi)型和運(yùn)算的使用
這篇文章主要介紹了PyTorch中Tensor的數(shù)據(jù)類(lèi)型和運(yùn)算的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09