当前位置: 编程技术>python
基于Python实现的扫雷游戏实例代码
来源: 互联网 发布时间:2014-10-09
本文导语: 本文实例借鉴mvc模式,核心数据为model,维护1个矩阵,0表无雷,1表雷,-1表已经检测过。 本例使用python的tkinter做gui,由于没考虑可用性问题,因此UI比较难看,pygame更有趣更强大更好看,做这些小游戏更合适,感兴趣的读者可...
本文实例借鉴mvc模式,核心数据为model,维护1个矩阵,0表无雷,1表雷,-1表已经检测过。
本例使用python的tkinter做gui,由于没考虑可用性问题,因此UI比较难看,pygame更有趣更强大更好看,做这些小游戏更合适,感兴趣的读者可以尝试一下!
具体的功能代码如下:
# -*- coding: utf-8 -*- import random import sys from Tkinter import * 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=0: if self.items[r][c-1]==1:count+=1 if c+1