最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

今天我們用python+tkinter安裝帶界面的井字棋,效果如圖所示

Tkinter Python 的標準 GUI 庫。Python 使用 Tkinter 可以快速的創(chuàng)建 GUI 應用程序。由于 Tkinter 是內(nèi)置到 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 = 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個按鈕。這里定義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]=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()

最后這里是點擊下棋,然后用win函數(shù)判斷是否結(jié)束比賽贏得棋局。

到此這篇關(guān)于python實現(xiàn)帶界面的井字棋的小游戲的文章就介紹到這了,更多相關(guān)python實現(xiàn)帶界面的井字棋內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python棧類實例分析

    Python棧類實例分析

    這篇文章主要介紹了Python棧類,實例分析了Python實現(xiàn)棧的入棧、出棧、移除、判定為空的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • Python爬蟲爬取有道實現(xiàn)翻譯功能

    Python爬蟲爬取有道實現(xiàn)翻譯功能

    這篇文章主要介紹了Python爬蟲爬取有道實現(xiàn)翻譯功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • Python2.7下安裝Scrapy框架步驟教程

    Python2.7下安裝Scrapy框架步驟教程

    本篇文章主要介紹了Python2.7下安裝Scrapy框架步驟教程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • python使用tcp實現(xiàn)局域網(wǎng)內(nèi)文件傳輸

    python使用tcp實現(xiàn)局域網(wǎng)內(nèi)文件傳輸

    這篇文章主要介紹了python使用tcp實現(xiàn)局域網(wǎng)內(nèi)文件傳輸,文件包括文本,圖片,視頻等,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 詳解將Django部署到Centos7全攻略

    詳解將Django部署到Centos7全攻略

    這篇文章主要介紹了詳解將Django部署到Centos7全攻略,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • 利用Python實現(xiàn)繪制論文中的曲線圖

    利用Python實現(xiàn)繪制論文中的曲線圖

    這篇文章主要為大家詳細介紹了如何利用Python語言實現(xiàn)繪制論文中需要的曲線圖,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-03-03
  • Pandas 透視表和交叉表的實現(xiàn)示例

    Pandas 透視表和交叉表的實現(xiàn)示例

    本文主要介紹了Pandas 透視表和交叉表的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07
  • 基于PyQT5制作一個課堂點名系統(tǒng)

    基于PyQT5制作一個課堂點名系統(tǒng)

    這篇文章主要為大家介紹一個基于PyQt5實現(xiàn)的抖音同款課堂點名系統(tǒng),文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起動手試一試
    2022-02-02
  • python寫入xml文件的方法

    python寫入xml文件的方法

    這篇文章主要介紹了python寫入xml文件的方法,涉及Python操作XML模塊實現(xiàn)針對XML文件操作的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • Python實現(xiàn)的從右到左字符串替換方法示例

    Python實現(xiàn)的從右到左字符串替換方法示例

    這篇文章主要介紹了Python實現(xiàn)的從右到左字符串替換方法,涉及Python字符串遍歷、運算、判斷、替換等相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07

最新評論

丰原市| 嘉善县| 崇左市| 思南县| 镇雄县| 达日县| 苗栗市| 德州市| 冷水江市| 景德镇市| 兴隆县| 酒泉市| 平南县| 汨罗市| 麻栗坡县| 石泉县| 怀远县| 通州区| 成都市| 台南市| 曲沃县| 日土县| 砀山县| 兴山县| 白银市| 卢氏县| 天气| 廊坊市| 玉环县| 七台河市| 确山县| 临夏县| 林芝县| 榕江县| 桐梓县| 托克逊县| 田东县| 平顶山市| 沂源县| 乾安县| 望都县|