利用python实现简易地雷游戏

利用python实现一次性地雷游戏

#地雷游戏(地雷图中"T"表示此处没有地雷,"F"表示此处为地雷,"N"表示此处未知)
import numpy as np
import random
m = eval(input("输入正方形地雷游戏的边长:"))
n = m
x = eval(input("输入地雷个数:"))
a,b = eval(input("输入你所点击的位置(如1,2):"))
A = np.full((n,m),"T")
B = np.full((n,m),"N")
#安置地雷(同时避免安置到同一位置)
list1 = []
while len(list1)< x:
    list = random.sample(range(0,m), 2)
    if list not in list1:
        list1.append(list)
        d = list[0]
        e = list[1]
        A[d][e] = "F"
for i in range(m*n-x+1):
    y = 0#挑选位置周围的地雷数
    a = a - 1
    b = b - 1
    if A[a][b] == "F":
        print("你被炸死了")
        print("地雷图为:\n",A)
        break
    else:
        if a-1 >= 0 and b-1 >= 0 and A[a-1][b-1] == "F":
            y = y + 1
        if a-1 >= 0 and A[a-1][b] == "F":
            y = y + 1
        if a-1 >= 0 and b+1 < m and A[a-1][b+1] == "F":
            y = y + 1
        if b-1 >= 0 and A[a][b-1] == "F":
            y = y + 1
        if b+1 < m and A[a][b+1] == "F":
            y = y + 1
        if b-1 >= 0 and a+1 < n  and A[a+1][b-1] == "F":
            y = y + 1
        if a+1 < n and A[a+1][b] == "F":
            y = y + 1
        if a+1 < n and b+1 < m and A[a+1][b+1] == "F":
            y = y + 1
        B[a][b] = y
        print("你所选的位置周围的地雷数为:",y)
        print(B)
        if i < m*n-x-1:
            a,b = eval(input("请输入你下一次所点击的位置(如1,2):"))
        else:
            print("恭喜你成功通关")
            break

在这里插入图片描述

希望以上程序能激发你学习python的兴趣或者能提供新的思路,如果对你有帮助请你不要吝啬你的赞哟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值