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

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棧類(lèi)實(shí)例分析

    Python棧類(lèi)實(shí)例分析

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

    Python爬蟲(chóng)爬取有道實(shí)現(xiàn)翻譯功能

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

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

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

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

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

    詳解將Django部署到Centos7全攻略

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

    利用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)示例

    本文主要介紹了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)

    基于PyQT5制作一個(gè)課堂點(diǎn)名系統(tǒng)

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

    python寫(xiě)入xml文件的方法

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

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

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

最新評(píng)論

温泉县| 横峰县| 泗洪县| 溧水县| 三台县| 龙江县| 商洛市| 闽清县| 杂多县| 凭祥市| 汾阳市| 乐都县| 泽州县| 建始县| 梁河县| 淮北市| 南岸区| 岗巴县| 阿图什市| 杭锦旗| 周至县| 陵水| 呼伦贝尔市| 即墨市| 河西区| 新沂市| 镇康县| 花莲市| 武隆县| 湖北省| 武夷山市| 高碑店市| 尚志市| 商城县| 呼和浩特市| 长乐市| 天镇县| 永德县| 芷江| 昆明市| 阿城市|