用用python写扫雷游戏实例代码分享写扫雷游戏实例代码分享
我们给大家分享了一篇关于用python写一个扫雷经典游戏的实例代码,大家可以测试运行下。
扫雷是一个非常经典的WIN游戏,我们教给大家用python语言来写出这个游戏,以下是全部实例代码:
#!/usr/bin/python
#coding:utf-8
#python 写的扫雷游戏
import sys
import random
class MineSweeping():
#扫雷主程序
def __init__(self,row = 8 ,line= 8,mineNum = 15):
self.row = row
self.line = line
self.score = 0 #分数
self.mineNum = mineNum
self.xy_list = [[0 for i in range(self.line)] for i in range(self.row)]
def initData(self):
# 初始化状态值
# 游戏开始的时候状态值为清零(再重新设置状态值)
self.xy_list = [[0 for i in range(self.line)] for i in range(self.row)]
# 设置雷的数量
maxMine = self.mineNum
while maxMine > 0 :
num_x = random.randint(0,self.row-1)
num_y = random.randint(0,self.line-1)
if self.xy_list[num_x][num_y] == 0:
self.xy_list[num_x][num_y] = 1
maxMine -= 1
#获取x坐标
def get_pos(self,str_pos):
#获取x坐标
while 1:
try:
num_x = raw_input(str_pos)
if int(num_x) in range(self.line) and num_x :
break
else:
print u'输入无效值'
except:
pass
return int(num_x)
#进行扫雷
def mine_clear(self,x,y):
# 设置显示进行扫过的数目
# 设置数字
# 0 表示扫过的雷
# 1 表示类
# 2 表示扫过的类
#获取坐标的数字
pos = self.xy_list[x][y]
if pos == 0 :
self.xy_list[x][y] = 2
return 0
elif pos == 2 :
return 2
else:
return 1
#界面的显示
def mineFace(self,state):
#显示界面的内容
#设置游戏的状态
#1 表示运行的状态
#2 表示输出的状态
#3 表示游戏结束的状态
#4 表示游戏获得了完胜
if state == 1:
print '+=================+'
评论5