接python+pygame实现扫雷游戏之一,继续写游戏局的类:
五、
mineblock.py
# -*- coding: utf-8 -*-
import random
from blockstatus import *
from mine import *
# 9*9-10 16*16-40 30*16-99 30*24-**
# BLOCK_WIDTH = 30
# BLOCK_HEIGHT = 16
# MINE_COUNT = 99 # 地雷数
BLOCK_WIDTH = 9
BLOCK_HEIGHT = 9
MINE_COUNT = 10 # 地雷数
SIZE = 20 # 块大小
#Mine构成游戏类MineBlock
class MineBlock:
def __init__(self):
self._block = [[Mine(i, j) for i in range(BLOCK_WIDTH)] for j in range(BLOCK_HEIGHT)]
# 埋雷
# 使用random.sample函数,它的作用是从指定序列中随机获取指定长度的片断并随机排列,结果以列表的形式返回,
# 返回结果是无序的,省去了写循环读取随机数的工作。
# sample函数不会修改原有序列。
for i in random.sample(range(BLOCK_WIDTH * BLOCK_HEIGHT), MINE_COUNT):
self._block[i // BLOCK_WI