AI扫雷有多牛?他国纷纷来求师学艺(附完整教程)

2024-05-02 01:08

本文主要是介绍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扫雷有多牛?他国纷纷来求师学艺(附完整教程)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/953092

相关文章

Java堆转储文件之1.6G大文件处理完整指南

《Java堆转储文件之1.6G大文件处理完整指南》堆转储文件是优化、分析内存消耗的重要工具,:本文主要介绍Java堆转储文件之1.6G大文件处理的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言文件为什么这么大?如何处理这个文件?分析文件内容(推荐)删除文件(如果不需要)查看错误来源如何避

三频BE12000国补到手2549元! ROG 魔盒Pro WIFI7电竞AI路由器上架

《三频BE12000国补到手2549元!ROG魔盒ProWIFI7电竞AI路由器上架》近日,华硕带来了ROG魔盒ProWIFI7电竞AI路由器(ROGSTRIXGR7Pro),目前新... 华硕推出了ROG 魔盒Pro WIFI7电竞AI路由器(ROG STRIX GR7 Phttp://www.cppcn

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实