vb.net极简版扫雷16*16,40雷源代码,仅供学习和参考

效果图:下载地址:链接:https://pan.baidu.com/s/14rrZujpQbfs-9HMw_lL-3Q?pwd=1234 
提取码:1234

源代码:只有120行

Imports System.Math
Public Class Form1Dim Booms As New List(Of Point)Dim MyBooms As New List(Of Point)Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.LoadFlow1.Height = Flow1.WidthFor i = 0 To 16 * 16 - 1Dim but As New Buttonbut.Name = "but" & ibut.Tag = New Point(i Mod 16, i \ 16)but.BackColor = Color.LightBluebut.Font = New Font(but.Font.FontFamily, 20, but.Font.Style)but.Location = New Point(but.Tag.X * 52, but.Tag.y * 52)but.Size = New Size(Flow1.Width / 16, Flow1.Height / 16)AddHandler but.Click, AddressOf But_ClickAddHandler but.MouseDown, AddressOf But_MouseDownAddHandler but.MouseUp, AddressOf But_MouseUpFlow1.Controls.Add(but)NextDim Line As New List(Of Integer)For i = 1 To 40
H:          Dim s = New Random().Next(0, 255)Threading.Thread.Sleep(1)s = Abs(New Random().Next(0, 24) - s)If Line.Contains(s) ThenGoTo HEnd IfLine.Add(Abs(s))NextFor i = 0 To 39Booms.Add(New Point(Line(i) Mod 16, Line(i) \ 16))NextEnd SubSub But_Click(sender As Object, e As EventArgs)If Booms.Contains(sender.tag) ThenIf sender.text <> "-1" ThenMsgBox("Boom!")End IfElseIf sender.text = "-1" ThenExit SubEnd Ifsender.text = 0sender.backcolor = Color.LightGrayDim P0 = sender.tagDim Round As New List(Of Point)With Round.Add(New Point(P0.x - 1, P0.y - 1)).Add(New Point(P0.x, P0.y - 1)).Add(New Point(P0.x + 1, P0.y - 1)).Add(New Point(P0.x - 1, P0.y)).Add(New Point(P0.x + 1, P0.y)).Add(New Point(P0.x - 1, P0.y + 1)).Add(New Point(P0.x, P0.y + 1)).Add(New Point(P0.x + 1, P0.y + 1))End WithFor Each boom In BoomsIf Round.Contains(boom) Thensender.text += 1End IfNextIf sender.text = 0 ThenFor Each but In Flow1.ControlsIf Round.Contains(but.tag) And but.text = "" Thenbut.PerformClickEnd IfNextEnd IfEnd IfEnd SubSub But_MouseDown(sender As Object, e As MouseEventArgs)If e.Button = MouseButtons.Right ThenIf sender.text = "-1" Thensender.text = ""sender.backcolor = Flow1.BackColorElseIf sender.text = "" Thensender.text = -1sender.backcolor = Color.RedElseDim P0 = sender.tagDim Pt = sender.textDim Round As New List(Of Point)With Round.Add(New Point(P0.x - 1, P0.y - 1)).Add(New Point(P0.x, P0.y - 1)).Add(New Point(P0.x + 1, P0.y - 1)).Add(New Point(P0.x - 1, P0.y)).Add(New Point(P0.x + 1, P0.y)).Add(New Point(P0.x - 1, P0.y + 1)).Add(New Point(P0.x, P0.y + 1)).Add(New Point(P0.x + 1, P0.y + 1))End WithDim BoomCount As IntegerFor Each but In Flow1.ControlsIf Round.Contains(but.tag) And but.text = "-1" ThenBoomCount += 1End IfNextIf Pt = BoomCount ThenFor Each but In Flow1.ControlsIf Round.Contains(but.tag) Thenbut.performclickEnd IfNextEnd IfEnd IfEnd IfEnd SubSub But_MouseUp(sender As Object, e As MouseEventArgs)Dim i As IntegerFor Each but In Flow1.ControlsIf but.text <> "" And but.text <> "-1" And Not Booms.Contains(but.tag) Theni += 1End IfNextIf i = 16 * 16 - 40 ThenMsgBox("你赢了!")End IfEnd Sub
End Class

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/678758.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Activiti7(流程引擎)简单笔记,附带作者执行的Demo代码文件

文章目录 一、Activiti7流程基础1、最简单的流程2、流程值表达式3、方法表达式4、节点监听器5、流程变量6、候选人7、候选人组8、流程网关排他网关并行网关包容网关事件网关 二、Activiti7流程事件1、定时器事件定时器开始事件定时器中间事件定时器边界事件 2、消息事件消息开始…

【Java EE初阶十二】网络编程TCP/IP协议(一)

1. 网络编程 通过网络&#xff0c;让两个主机之间能够进行通信->就这样的通信来完成一定的功能&#xff0c;进行网络编程的时候&#xff0c;需要操作系统给咱们提供一组API&#xff0c;通过这些API来完成编程&#xff1b;API可以认为是应用层和传输层之间交互的路径&#xf…

多旋翼无人机飞行控制详解,四旋翼无人机飞控原理深入解析

在四旋翼无人机中&#xff0c;相邻的两个螺旋桨旋转方向是相反的。如图所示&#xff0c;三角形红箭头表示飞机的机头朝向&#xff0c;螺旋桨M1、M3的旋转方向为逆时针&#xff0c;螺旋桨M2、M4的旋转方向为顺时针。当飞行时&#xff0c;M2、M4所产生的逆时针反作用力&#xff0…

Java奠基】对象数组练习

目录 商品对象信息获取 商品对象信息输入 商品对象信息计算 商品对象信息统计 学生数据管理实现 商品对象信息获取 题目要求是这样的&#xff1a; 定义数组存储3个商品对象。 商品的属性&#xff1a;商品的id&#xff0c;名字&#xff0c;价格&#xff0c;库存。 创建三个…

双活工作关于nacos注册中心的数据迁移

最近在做一个双活的项目&#xff0c;在纠结一个注册中心是在双活机房都准备一个&#xff0c;那主机房的数据如果传过去呢&#xff0c;查了一些资料&#xff0c;最终在官网查到了一个NacosSync 的组件&#xff0c;主要用来做数据传输的&#xff0c;并且支持在线替换注册中心的&a…

学生学习知识点总结作文试题练习题考试资讯网站源码

(购买本专栏可免费下载栏目内所有资源不受限制,持续发布中,需要注意的是,本专栏为批量下载专用,并无法保证某款源码或者插件绝对可用,介意不要购买) 资源简介 学生学习知识点总结作文试题练习题考试资讯网站源码+WAP手机版+采集优化版-整站打包 整站打包源码,简洁大…

多模态(二)--- CoCa原理与源码解读

1 CoCa简介 CoCa代表Contrastive Captioner 的缩写&#xff0c;代表模型用两个目标函数训练出来的&#xff0c;一个是Contrastive Loss&#xff0c;一个是Captioning Loss。 2 CoCa训练流程 利用ViT对image进行encoder编码获得图像特征token对图像特征进行attention pooling…

第四篇:SQL语法-DDL-数据定义语言

大年初一限定篇&#x1f600; &#xff08;祝广大IT学习者、工作者0 error 0 warning&#xff01;&#xff09; 一&#xff0c;DDL数据库操作 &#xff08;一&#xff09;库的查询操作 1.列出所有已定义数据库 show databases; 2.查询当前所处数据库 select database(); &…

基于Linux的HTTP代理服务器搭建与配置实战

在数字化世界中&#xff0c;HTTP代理服务器扮演着至关重要的角色&#xff0c;它们能够帮助我们管理网络请求、提高访问速度&#xff0c;甚至在某些情况下还能保护我们的隐私。而Linux系统&#xff0c;凭借其强大的功能和灵活性&#xff0c;成为了搭建HTTP代理服务器的理想选择。…

【C语言——打印乘法口诀表】

乘法表&#xff1a; 我们可以定义一个i控制行的变化&#xff0c;外加看上图的表得知我们需要用到循环结构&#xff0c;i是行需要不停的加加&#xff0c;因此&#xff0c;for循环比较好用&#xff0c;可以用两个嵌套的循环&#xff0c;外层循环即用到的i表示的是每一行的打印&am…

【从Python基础到深度学习】4. Linux 常用命令

1.配置root用户密码 root用户为系统默认最高权限用户&#xff0c;其他用户密码修改命令与root用户修改密码命令相同 sudo passwd root 2.添加用户&#xff08;henry&#xff09; sudo useradd -m henry -s /bin/bash 3.配置henry用户密码 Xshell下连接新用户&#xff08;hen…

基于javaEE的ssm仓库管理系统

仓库管理系统的重中之重是进销存分析这一板块&#xff0c;在这一板块中&#xff0c;顾名思义能够查询到近期的进货记录&#xff0c;包括每日的进货单据&#xff0c;单品推移(即某一商品的库存变化)&#xff0c;方便我们核对库存差异。同时也需要查询到每日的销售数据&#xff0…

hexo部署到gitee(码云)

引言 Hexo 是一个基于Node.js的静态博客框架&#xff0c;而 Gitee&#xff08;也被称为码云&#xff09;是一个国内的代码托管平台&#xff0c;支持 Git 版本控制系统&#xff0c;与 GitHub 类似。将 Hexo 部署到 Gitee Pages 可以让你的博客受益于 Gitee 的国内服务器&#xf…

Java多态原理

参考 虚方法 JVM杂记&#xff1a;对多态实现原理、虚方法表、虚方法、静态解析、动态链接的一些思考_多态和方法表的关系-CSDN博客 静态分派与动态分派 &#xff08;JVM&#xff09;Java虚拟机&#xff1a;静态分派 & 动态分派 原理解析 - 掘金 虚方法表 JVM 栈帧&am…

C++——二叉树

引入 map和set特性需要先铺垫二叉搜索树&#xff0c;而二叉搜索树也是一种树形结构 二叉搜索树的特性了解&#xff0c;有助于更好的理解map和set的特性 1.二叉搜索树的概念及优缺点 1.1二叉搜索树的概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或…

Python中使用opencv-python进行人脸检测

Python中使用opencv-python进行人脸检测 之前写过一篇VC中使用OpenCV进行人脸检测的博客。以数字图像处理中经常使用的lena图像为例&#xff0c;如下图所示&#xff1a; 使用OpenCV进行人脸检测十分简单&#xff0c;OpenCV官网给了一个Python人脸检测的示例程序&#xff0c;…

Backtrader 文档学习- Plotting - Plotting Date Ranges

Backtrader 文档学习- Plotting - Plotting Date Ranges 1.概述 1.9.31.x版本增加了绘制部分图形的功能。 可以使用策略实例中保留完整长度的时间戳数组的索引或者使用实际的datetime.date 或datetime.datetime 实例来限制需要绘制的内容。 仍然可以使用标准的cerebro.plot…

静态时序分析:建立时间分析

静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 在静态时序分析中&#xff0c;建立时间检查约束了触发器时钟引脚&#xff08;时钟路径&#xff09;和输入数据引脚&#xff08;数据路径&#xff09;之间的时序关系&#x…

android中实现设备尺寸适配

1、引言 设备尺寸适配的重要性想必就不用我多说了&#xff0c;在我发布的历史文章中我曾谈过Qt中的设备尺寸适配问题&#xff0c;那这里我就来教大家如何在android中做设备尺寸适配。在android中设备尺寸适配的方式有好几种&#xff0c;但我喜欢的还是使用获取设备真实尺寸然后…

c语言游戏实战(4):人生重开模拟器

前言&#xff1a; 人生重开模拟器是前段时间非常火的一个小游戏&#xff0c;接下来我们将一起学习使用c语言写一个简易版的人生重开模拟器。 网页版游戏&#xff1a; 人生重开模拟器 (ytecn.com) 1.实现一个简化版的人生重开模拟器 &#xff08;1&#xff09; 游戏开始的时…