本文主要是介绍AI扫雷有多牛?他国纷纷来求师学艺(附完整教程),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前文
大家好!我是梨子同学!
希望大家多多支持我!哈哈
为了感谢每一个关注我的小可爱:💓每篇文章的项目源码都是无偿分享滴💓见文末!
很多csdn的功能还在研究中,还有小编的文笔不好勿怪,会慢慢进步跟大家一起学习的
小编也一直在学习编程,如果代码小程序出现错误欢迎大家评论区留言哈!
最后——如果文章有帮助到你,记得“关注”、“点赞”、“评论”三连哦~
前言
《扫雷》是一款大众类的益智小游戏,于1992年发行。
游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个
雷即全盘皆输。
它是许多人接触到的第一款游戏,大概也是广大办公族和无网学生无聊时消遣的最佳游戏,是不是
每次见到戴上墨镜的小人很有成就感?在那些还没有网(被切断网)的岁月,扫雷曾陪伴无数人度
过了他们的童年。你的最佳纪录是多少?小编在工作间隙随手刷了一局30秒(囧😳)。
那么?怎么才能通关呢?这,有生之年靠自己猜可能做不到了,BUT我们可以靠一靠我们的Python
自动扫雷的嘛!不要慌呢~我们正式开始吧!
《自动扫雷》
环境配置:
Python3、 Pycharm 、Pygame以及部分自带的模块。
第三方库的安装:pip install pygame
效果展示:
游戏开始:
自动扫雷:
游戏结束:
代码演示:
1)主程序
代码比较多哈,每行都有注释大家自己看,不懂的可以找我交流、一起学习嘛!
# -*- coding: utf-8 -*-
import pygame
from pygame.locals import *
import numpy as np
import random
import sys
import time
import copy# 屏幕大小
Screen_Size = (1200, 600)
# 行数
Rows = 20
# 列数
Colums = 40
# 雷的数量
numOfMines = 80
# 胜率
VictoryRate=0class Sweep(object):"""docstring for Sweep"""def __init__(self):# 初始化一个页面self.Screen = pygame.display.set_mode(Screen_Size)# 字体self.myfont = pygame.font.SysFont('幼圆', 25)# 格子大小self.gwide = int(Screen_Size[0] / Colums)self.gheight = int(Screen_Size[1] / Rows)self.board = np.zeros((Rows, Colums))# 存储下一步可选的位置self.NBS = []# NBS辅助容器,用于判断NBS有没变化self.NBSTool = []# 判断是否进行概率选择扫雷self.GO = False# 遍历存储容器self.container = []# 标注地雷存储容器self.mineContainer = []# 实际地雷位置存储容器self.Mines = []# 数字存储容器self.numbers = []# 加载图片self.LoadImg()# 画格子self.DrawGrid()# 埋雷self.HideMines()def LoadImg(self):# 加载地雷图片self.mine = pygame.image.load('image/mine.jpg').convert_alpha()self.mine = pygame.transform.scale(self.mine, (self.gwide, self.gheight))# 加载旗子图片self.flag = pygame.image.load('image/flag.jpg').convert_alpha()self.flag = pygame.transform.scale(self.flag, (self.gwide, self.gheight))# 加载地雷爆炸图片self.boom = pygame.image.load('image/boom.png').convert_alpha()self.boom = pygame.transform.scale(self.boom, (self.gwide, self.gheight))# 加载数字图片self.num1 =
这篇关于AI扫雷有多牛?他国纷纷来求师学艺(附完整教程)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!