欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實(shí)現(xiàn)帶界面的井字棋小游戲

 更新時(shí)間:2021年09月23日 14:33:03   作者:詩(shī)一樣的代碼  
這篇文章我們主要介紹的是python實(shí)現(xiàn)帶界面的井字棋小游戲,從安裝tkinter開(kāi)始,然后初始化窗口,定義按鈕即查找獲勝條件,想具體了解的小伙伴可以參考下文,附有詳細(xì)代碼

今天我們用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)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python爬蟲(chóng)實(shí)例詳解

    python爬蟲(chóng)實(shí)例詳解

    這篇文章主要為大家詳細(xì)介紹了python爬蟲(chóng)實(shí)例,包括爬蟲(chóng)技術(shù)架構(gòu),組成爬蟲(chóng)的關(guān)鍵模塊,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python語(yǔ)言描述KNN算法與Kd樹(shù)

    Python語(yǔ)言描述KNN算法與Kd樹(shù)

    這篇文章主要介紹了Python語(yǔ)言描述KNN算法與Kd樹(shù),具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Python實(shí)現(xiàn)控制臺(tái)中的進(jìn)度條功能代碼

    Python實(shí)現(xiàn)控制臺(tái)中的進(jìn)度條功能代碼

    下面小編就為大家分享一篇Python實(shí)現(xiàn)控制臺(tái)中的進(jìn)度條功能代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • python提取包含關(guān)鍵字的整行數(shù)據(jù)方法

    python提取包含關(guān)鍵字的整行數(shù)據(jù)方法

    今天小編就為大家分享一篇python提取包含關(guān)鍵字的整行數(shù)據(jù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • python怎么自定義捕獲錯(cuò)誤

    python怎么自定義捕獲錯(cuò)誤

    在本篇文章里小編給大家分享了關(guān)于python自定義捕獲錯(cuò)誤的方法,需要的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • windows安裝TensorFlow和Keras遇到的問(wèn)題及其解決方法

    windows安裝TensorFlow和Keras遇到的問(wèn)題及其解決方法

    這篇文章主要介紹了windows安裝TensorFlow和Keras遇到的問(wèn)題及其解決方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • python游戲?qū)崙?zhàn)項(xiàng)目之智能五子棋

    python游戲?qū)崙?zhàn)項(xiàng)目之智能五子棋

    下五子棋嗎?信不信我讓你幾步你也贏不了?本篇為你帶來(lái)用python編寫(xiě)的五子棋小游戲,文中給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值
    2021-09-09
  • python2.7+selenium2實(shí)現(xiàn)淘寶滑塊自動(dòng)認(rèn)證功能

    python2.7+selenium2實(shí)現(xiàn)淘寶滑塊自動(dòng)認(rèn)證功能

    這篇文章主要為大家詳細(xì)介紹了python2.7+selenium2實(shí)現(xiàn)淘寶滑塊自動(dòng)認(rèn)證功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Python手繪可視化工具cutecharts使用實(shí)例

    Python手繪可視化工具cutecharts使用實(shí)例

    這篇文章主要介紹了Python手繪可視化工具cutecharts使用實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • PyTorch中Tensor的數(shù)據(jù)類(lèi)型和運(yùn)算的使用

    PyTorch中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

最新評(píng)論