日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python實現掃雷游戲

瀏覽:159日期:2022-08-04 14:25:11

本文為大家分享了python實現掃雷游戲的具體代碼,供大家參考,具體內容如下

本文實例借鑒mvc模式,核心數據為model,維護1個矩陣,0表無雷,1表雷,-1表已經檢測過。本例使用python的tkinter做gui,由于沒考慮可用性問題,因此UI比較難看,pygame更有趣更強大更好看,做這些小游戲更合適,感興趣的讀者可以嘗試一下!

具體的功能代碼如下:

# -*- coding: utf-8 -*-import randomimport sysfrom Tkinter import *’’’想要學習Python?’’’class Model: ''' 核心數據類,維護一個矩陣 ''' def __init__(self,row,col): self.width=col self.height=row self.items=[[0 for c in range(col)] for r in range(row)] def setItemValue(self,r,c,value): ''' 設置某個位置的值為value ''' self.items[r][c]=value; def checkValue(self,r,c,value): ''' 檢測某個位置的值是否為value ''' if self.items[r][c]!=-1 and self.items[r][c]==value: self.items[r][c]=-1 #已經檢測過 return True else: return False def countValue(self,r,c,value): ''' 統計某個位置周圍8個位置中,值為value的個數 ''' count=0 if r-1>=0 and c-1>=0: if self.items[r-1][c-1]==1:count+=1 if r-1>=0 and c>=0: if self.items[r-1][c]==1:count+=1 if r-1>=0 and c+1<=self.width-1: if self.items[r-1][c+1]==1:count+=1 if c-1>=0: if self.items[r][c-1]==1:count+=1 if c+1<=self.width-1 : if self.items[r][c+1]==1:count+=1 if r+1<=self.height-1 and c-1>=0: if self.items[r+1][c-1]==1:count+=1 if r+1<=self.height-1 : if self.items[r+1][c]==1:count+=1 if r+1<=self.height-1 and c+1<=self.width-1: if self.items[r+1][c+1]==1:count+=1 return count class Mines(Frame): def __init__(self,m,master=None): Frame.__init__(self,master) self.model=m self.initmine() self.grid() self.createWidgets() def createWidgets(self): #top=self.winfo_toplevel() #top.rowconfigure(self.model.height*2,weight=1) #top.columnconfigure(self.model.width*2,weight=1) self.rowconfigure(self.model.height,weight=1) self.columnconfigure(self.model.width,weight=1) self.buttongroups=[[Button(self,height=1,width=2) for i in range(self.model.width)] for j in range(self.model.height)] for r in range(self.model.width): for c in range(self.model.height): self.buttongroups[r][c].grid(row=r,column=c) self.buttongroups[r][c].bind(’<Button-1>’,self.clickevent) self.buttongroups[r][c][’padx’]=r self.buttongroups[r][c][’pady’]=c def showall(self): for r in range(model.height): for c in range(model.width): self.showone(r,c) def showone(self,r,c): if model.checkValue(r,c,0): self.buttongroups[r][c][’text’]=model.countValue(r,c,1) else: self.buttongroups[r][c][’text’]=’Mines’ def recureshow(self,r,c): if 0<=r<=self.model.height-1 and 0<=c<=self.model.width-1: if model.checkValue(r,c,0) and model.countValue(r,c,1)==0: self.buttongroups[r][c][’text’]=’’ self.recureshow(r-1,c-1) self.recureshow(r-1,c) self.recureshow(r-1,c+1) self.recureshow(r,c-1) self.recureshow(r,c+1) self.recureshow(r+1,c-1) self.recureshow(r+1,c) self.recureshow(r+1,c+1) elif model.countValue(r,c,1)!=0: self.buttongroups[r][c][’text’]=model.countValue(r,c,1) else: pass def clickevent(self,event): ''' 點擊事件 case 1:是雷,所有都顯示出來,游戲結束 case 2:是周圍雷數為0的,遞歸觸發周圍8個button的點擊事件 case 3:周圍雷數不為0的,顯示周圍雷數 ''' r=int(str(event.widget[’padx’])) c=int(str(event.widget[’pady’])) if model.checkValue(r,c,1):#是雷 self.showall() else:#不是雷 self.recureshow(r,c) def initmine(self): ''' 埋雷,每行埋height/width+2個暫定 ''' r=random.randint(1,model.height/model.width+2) for r in range(model.height): for i in range(2): rancol=random.randint(0,model.width-1) model.setItemValue(r,rancol,1) def printf(self): ''' 打印 ''' for r in range(model.height): for c in range(model.width): print model.items[r][c], print ’/n’ def new(self): ''' 重新開始游戲 ''' pass if __name__==’__main__’: model=Model(10,10) root=Tk() #menu menu = Menu(root) root.config(menu=menu) filemenu = Menu(menu) menu.add_cascade(label='File', menu=filemenu) filemenu.add_command(label='New',command=new) filemenu.add_separator() filemenu.add_command(label='Exit', command=root.quit) #Mines m=Mines(model,root) #m.printf() root.mainloop()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
一区二区三区网站| 超碰在线99| 91精品一区国产高清在线gif| 国产精品美女午夜爽爽| 日韩av中文字幕一区| 日韩精品电影一区亚洲| 日韩一区精品| 日本不卡视频在线观看 | 日本免费新一区视频| 蜜臀av一区二区在线免费观看| 亚洲在线网站| 亚洲视频国产精品| 日韩精品乱码av一区二区| 欧美亚洲二区| 麻豆国产91在线播放| 久久久久久久久成人| 久久wwww| av中文资源在线资源免费观看| 久久精品亚洲人成影院| 夜夜嗨一区二区| 亚洲精品四区| 九九九精品视频| 久久激情婷婷| 人人爽香蕉精品| 麻豆久久一区| 国精品一区二区| 亚洲午夜免费| 欧美国产日本| 欧美手机在线| 亚洲精品自拍| 国产精品多人| 日韩一区二区三区免费播放| 国产视频一区免费看| 欧美日韩一区二区三区四区在线观看 | 久久国产成人午夜av影院宅| 亚洲二区视频| 亚洲精品极品| 91亚洲国产成人久久精品| 在线日韩欧美| 日本视频一区二区| av亚洲一区二区三区| 亚洲人成网77777色在线播放| 国产精品视频一区视频二区| 日韩在线短视频| 一区二区精品| 91嫩草亚洲精品| 日韩中文字幕麻豆| 精品一区二区三区中文字幕视频| 不卡一区综合视频| 久久狠狠亚洲综合| 精品国产一区二区三区2021| 婷婷激情综合| 欧美日韩一区二区三区四区在线观看| 精品一级视频| 丝袜诱惑制服诱惑色一区在线观看| 国产日产精品一区二区三区四区的观看方式| 成人亚洲一区二区| 美女精品网站| 伊人久久国产| 欧美一级网址| 亚洲激情欧美| 国产一区二区三区久久| 奶水喷射视频一区| 老牛影视精品| 青草综合视频| 欧美+亚洲+精品+三区| 国产乱码精品一区二区亚洲| 成人av动漫在线观看| 久久99久久久精品欧美| 国产午夜精品一区二区三区欧美| 成人综合一区| 欧美精品观看| 日韩精品一二区| 91精品一区国产高清在线gif| 国产精品亚洲片在线播放| 亚洲专区一区| 久久精品国产www456c0m| 国产精品亲子伦av一区二区三区 | 日韩中出av| 久久久噜噜噜| 麻豆成人91精品二区三区| 在线免费观看亚洲| 99精品视频在线| 精品国产乱码久久久| 日韩avvvv在线播放| 丝瓜av网站精品一区二区| 午夜av不卡| 久久精品一区| 日本视频一区二区| 免费在线观看日韩欧美| 久久精品一区二区不卡| av资源新版天堂在线| 国产视频一区二区在线播放| 综合亚洲视频| 免费看黄色91| 亚洲激情国产| 亚洲午夜黄色| 国产v日韩v欧美v| 欧美激情日韩| 国产美女精品视频免费播放软件| 丝瓜av网站精品一区二区 | 国产国产精品| 日韩欧美一区二区三区免费观看| 国产精品久久久久久妇女| 亚洲日产国产精品| 美国三级日本三级久久99 | 99国产精品免费视频观看| 成人在线视频中文字幕| 麻豆中文一区二区| 国产精品2区| 国产精品久久久久久久免费软件| 日本不卡一二三区黄网| 亚洲三级精品| 日韩欧美另类中文字幕| 视频一区日韩精品| 亚洲精品极品| 日韩和欧美的一区| 视频一区视频二区在线观看| 亚洲一区网站| 美女久久一区| 亚州av日韩av| 久久黄色影视| 国产极品嫩模在线观看91精品| 国产精品一区二区99| 国产精品xxxav免费视频| 国产精品中文字幕制服诱惑| 久久av偷拍| 麻豆视频在线观看免费网站黄 | 欧美日韩在线播放视频| 久久精品亚洲欧美日韩精品中文字幕| 天堂√中文最新版在线| 日韩欧美二区| 亚洲天堂久久| 99国内精品| 亚洲精品亚洲人成在线观看| 日韩精品成人在线观看| 国产精品久久久久久久免费软件| 欧美国产日韩电影| 国产va免费精品观看精品视频| 日韩国产一区二区| 欧美一区二区三区高清视频 | 亚洲精品乱码日韩| 日韩精品免费视频一区二区三区| 91综合久久爱com| 你懂的国产精品永久在线| 国产一区丝袜| 免费欧美一区| 综合五月婷婷| 国产福利资源一区| 日韩一区亚洲二区| 国产亚洲高清视频| 国产调教一区二区三区| 高清久久一区| 黄色在线一区| 国产亚洲字幕| 韩国精品主播一区二区在线观看| 激情91久久| 日本久久二区| 国产不卡精品| 久热综合在线亚洲精品| 国产精品探花在线观看| av亚洲一区二区三区| 综合国产在线| 国产成人黄色| 亚洲欧美日韩国产一区二区| 国产精品主播| 国精品一区二区三区| 日韩av在线播放中文字幕| 国产一区一一区高清不卡| 欧美99久久| 日本91福利区| 日韩一区亚洲二区| 久久亚洲二区| 国产伦理久久久久久妇女| 韩国精品主播一区二区在线观看 | 国产中文欧美日韩在线| 黄色亚洲大片免费在线观看| 久久国产精品免费精品3p| 日本在线啊啊| 男女性色大片免费观看一区二区 | аⅴ资源天堂资源库在线| 噜噜噜久久亚洲精品国产品小说| 日本三级亚洲精品| 四虎4545www国产精品 | 亚洲1234区| 欧美一区不卡| 欧美亚洲激情| 国产精品极品| 合欧美一区二区三区| 国产精品一区二区中文字幕| 久久久久久久久久久9不雅视频| 日韩精品欧美精品| 久久精品成人| 欧美日韩亚洲一区二区三区在线| 久久毛片亚洲| 欧美日韩夜夜| 日韩视频在线一区二区三区| 麻豆成人91精品二区三区| 欧美专区在线| 国产一区二区三区精品在线观看|