用户:
Coderorangesoft查看:0 回复:1 评论:0 创建时间:2022-05-22T13:48:39
若想下载相关的图片,请前往coderorangesoft.github.io/Orangesoft.github.io/(橙软官网),单击'开源项目'-‘扫雷’以下载。
至于为什么没有发布0.5,因为bug太多了,想要获取α0.5的去官网下吧
import time
import random
import pgzrun
import os
'''
1.时间库
2.随机数库
3.pygame库
4.系统库
'''
# 导入库
print('______________________________________________________')
print('扫雷 版本α0.5.1 橙软制作')
print('______________________________________________________')
# 初始界面
print('''<公告>扫雷α 0.5.1 更新日志:
1.实装贴图‘button.png’
2.修复点击两次程序崩溃的bug(OrMSer Bug-01)
''')
print('<程序>启动中,请稍候...')
blocks = [[0, 0, 0, 0, 0, 0, 0, 0, 0], [
0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0]]
for i in range(9):
defaultSweep = random.randint(0, 8)
blocks[i][defaultSweep] = 9
while True:
sweep = random.randint(0, 8)
sweepI = random.randint(0, 8)
if blocks[sweepI][sweep] == 9:
continue
else:
blocks[sweepI][sweep] = 9
break
print('<程序>启动完成!')
# 初始化雷区
HEIGHT = 450
WIDTH = 450
# 窗口绘制
back = Actor('back')
block = Actor('b0')
button = Actor('button')
'''↓block的全部形态'''
b0 = Actor('b0')
b1 = Actor('b1')
b2 = Actor('b2')
b3 = Actor('b3')
b4 = Actor('b4')
sweep = Actor('boom')
# 绘制角色
def draw():
screen.blit('back', [0, 0])
for blocksPainter in range(9):
for blocksPainter1 in range(9):
if blocks[blocksPainter][blocksPainter1] == 9:
block.y = blocksPainter * 50 + 25
block.x = blocksPainter1 * 50 + 25
block.image = 'boom'
block.draw()
#↑如果是雷
else:
aroundSweep = blocks#←周围雷数
#↓渲染中间的方块
if blocksPainter > 0 and blocksPainter < 8 and blocksPainter1 > 0 and blocksPainter1 < 8:
if blocks[blocksPainter][blocksPainter1] == 0:
if blocks[blocksPainter][blocksPainter1 - 1]== 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter][blocksPainter1 + 1]== 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter - 1][blocksPainter1 - 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter - 1][blocksPainter1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter - 1][blocksPainter1 + 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter + 1][blocksPainter1 - 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter + 1][blocksPainter1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter + 1][blocksPainter1 + 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
block.y = blocksPainter * 50 + 25
block.x = blocksPainter1 * 50 + 25
if blocks[blocksPainter][blocksPainter1] < 5:
block.image = 'b' + \
str(blocks[blocksPainter][blocksPainter1])
block.draw()
#↓顶层方块渲染
if blocksPainter == 0:
if blocksPainter1 == 0:
if blocks[blocksPainter][blocksPainter1 + 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter + 1][blocksPainter1 + 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter + 1][blocksPainter1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
block.y = blocksPainter * 50 + 25
block.x = blocksPainter1 * 50 + 25
if blocks[blocksPainter][blocksPainter1] < 5:
block.image = 'b' + \
str(blocks[blocksPainter][blocksPainter1])
block.draw()
if blocksPainter1 > 0 and blocksPainter1 < 8:
if blocks[blocksPainter][blocksPainter1 + 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter + 1][blocksPainter1 + 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter + 1][blocksPainter1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter][blocksPainter1 - 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter + 1][blocksPainter1 - 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
block.y = blocksPainter * 50 + 25
block.x = blocksPainter1 * 50 + 25
if blocks[blocksPainter][blocksPainter1] < 5:
block.image = 'b' + str(blocks[blocksPainter][blocksPainter1])
block.draw()
if blocksPainter1 == 8:
if blocks[blocksPainter][blocksPainter1 - 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter + 1][blocksPainter1 - 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter - 1][blocksPainter1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
block.y = blocksPainter * 50 + 25
block.x = blocksPainter1 * 50 + 25
if blocks[blocksPainter][blocksPainter1] < 5:
block.image = 'b' + \
str(blocks[blocksPainter][blocksPainter1])
block.draw()
#↓底层方块渲染
if blocksPainter == 8:
if blocksPainter1 == 0:
if blocks[blocksPainter][blocksPainter1 + 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter - 1][blocksPainter1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter - 1][blocksPainter1 + 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
block.y = blocksPainter * 50 + 25
block.x = blocksPainter1 * 50 + 25
block.image = 'b' + str(blocks[blocksPainter][blocksPainter1])
block.draw()
if blocksPainter1 > 0 and blocksPainter1 < 8:
if blocks[blocksPainter][blocksPainter1 - 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter - 1][blocksPainter1 - 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter - 1][blocksPainter1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter][blocksPainter1 + 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter - 1][blocksPainter1 + 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
block.y = blocksPainter * 50 + 25
block.x = blocksPainter1 * 50 + 25
if blocks[blocksPainter][blocksPainter1] < 5:
block.image = 'b' + \
str(blocks[blocksPainter][blocksPainter1])
block.draw()
if blocksPainter1 == 8:
if blocks[blocksPainter][blocksPainter1 - 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter - 1][blocksPainter1 - 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter - 1][blocksPainter1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
block.y = blocksPainter * 50 + 25
block.x = blocksPainter1 * 50 + 25
if blocks[blocksPainter][blocksPainter1] < 5:
block.image = 'b' + \
str(blocks[blocksPainter][blocksPainter1])
block.draw()
#↓左侧方块渲染
if blocksPainter1 == 0:
if blocksPainter > 0 and blocksPainter < 8:
if blocks[blocksPainter][blocksPainter1 + 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter - 1][blocksPainter1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter - 1][blocksPainter1 + 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter + 1][blocksPainter1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter + 1][blocksPainter1 + 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
block.y = blocksPainter * 50 + 25
block.x = blocksPainter1 * 50 + 25
if blocks[blocksPainter][blocksPainter1] < 5:
block.image = 'b' + \
str(blocks[blocksPainter][blocksPainter1])
block.draw()
#↓右侧方块渲染
if blocksPainter1 == 8:
if blocksPainter > 0 and blocksPainter < 8:
if blocks[blocksPainter][blocksPainter1 - 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter - 1][blocksPainter1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter - 1][blocksPainter1 - 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter + 1][blocksPainter1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
if blocks[blocksPainter + 1][blocksPainter1 - 1] == 9:
aroundSweep[blocksPainter][blocksPainter1] += 1
block.y = blocksPainter * 50 + 25
block.x = blocksPainter1 * 50 + 25
if blocks[blocksPainter][blocksPainter1] < 5:
block.image = 'b' + \
str(blocks[blocksPainter][blocksPainter1])
block.draw()
#↑如果不是雷
for buttonPainter in range(9):
for buttonPainter1 in range(9):
button.x = buttonPainter1 * 50 + 25
button.y = buttonPainter * 50 + 25
button.draw()
#绘制角色
def on_mouse_down(pos):
pointPosX = pos[0]
pointPosY = pos[1]
#以下用于开发者调试
#调试驱动
def debug1():
Debug_sweepCount = 0
for Debug1_blocksMiner in blocks:
for Debug1_blocksMiner1 in Debug1_blocksMiner:
if Debug1_blocksMiner1 == 9:
Debug_sweepCount += 1
print('<调试>:blocks:')
print('<调试>:',blocks)
print('<调试>:blocks共有',len(blocks),'个数据包(81项),其中有',Debug_sweepCount,'项的值是‘9’')
#pgzrun.go()
# 调试
# 选择你想调试的内容,然后删去‘#’,即可启用该内容。
'''↓调试功能1:查看雷分布的位置(blocks列表)'''
#debug1()
pgzrun.go()