基于java的扫雷游戏论文内容摘要:
某一个具体数字表示与其紧邻的 8 个方块中有多少个雷。 用户可以根据这些数字判断是否可以打开某些方块,并把认为有地雷的方块用小红旗来标识。 如果某个数字方块周围的地雷全部标记完,可以单击鼠标左键,将其周围剩下的方块挖开。 如果数字周围地雷没有全部标记,在同时单击鼠标左右键时,其他隐藏或未标记的方块将被按下一次,当用户将所有地雷挖出后,其余的非雷方块区域都已经打开,此时游戏胜利。 在游戏过程中,一旦错误地打开了雷方块则游戏失败,游戏结束;当用户标识的地雷数超过程序的设定值,虽然打开了全部的其余方块,游戏仍然不会结束。 扫雷游戏用例图 码农毕业设计下载网: 4 图 21 扫雷游戏用例图 Figure 21 Minesweeper Use Case Diagram 从上述扫雷游戏功能描述可以看出,整个扫雷游戏中,用户所有的操作只有:设置游戏级别、开始游戏、扫雷和查询统计信息四种操作。 扫雷游戏功能需求 本程序需要实现的主要功能有: ( 1)用户可以自由选择扫雷级别 点击游戏按钮,然后再点击选项,会弹出一个框,玩家可以选择所玩模式,分为初级,中级,高级三个级别,初级是 9*9 个方格,中及时 16*16 个方格,高级是 30*30个方格,还有一个自定义,用户可以自己定义 M*N 方格以及雷数。 ( 2)进行扫雷游戏 游戏区包括 雷区 、地雷计数器(位于右下角,记录剩余地雷数)和 计时器 (位于左下角,记录游戏时间),确定大小的矩形雷区中随机布置一定数量的地雷,玩家需要尽快找出雷区中的所有不是地雷的方块,而不许踩到地雷。 游戏的基本操作包括左键单击( Left Click)、右键单击( Right Click)两种。 其中左键用于打开安全的格子,推进游戏进度;右键用于标记地雷,以辅助判断。 左键单击: 在判断出不是雷的方块上按下左键,可以打开该方块。 如果方块上出现数字,则该数字表示其周围 3 3 区域中的地雷数(一般为 8 个格子,对于边块为 5 个格子,对于角块为 3 个格子。 所以扫雷中最大的数字为 8);如果方块上为空(相当于用户用例图设置游戏级别开始游戏扫雷查询统计信息码农毕业设计下载网: 5 0),则可以递归地打开与空相邻的方块;如果不幸触雷,则游戏结束。 右键单击: 在判断为地雷的方块上按下右键,可以标记地雷( 显示为小红旗)。 重复一次或两次操作可取消标记(如果在游戏 菜单 中勾选了“标记 (?)”,则需要两次操作来取消标雷)。 ( 3)具有计时功能,显示用户扫雷所用时间 当点击任意一个方块时即开始游戏,计时器同时开始计时,时间是一秒增加 1,当游戏失败时,自动停止计时,并且在游戏最左下方显示玩家扫雷所用总共时间。 ( 4)用户可以通过右键点击方块来标记自认为是雷的方块 当用户在方块上面点击右键 时,方块上会显示一个小红旗,并且游戏最右下方的雷数会增加 1,当玩家扫雷过程中发现已经有小红旗的方格不是雷可以再次右键点击此方块,点击第一个,方块上面的小红旗会变成一个问号,再点击一次可以将问号去掉,同时游戏最下方雷数会自动减去 1。 ( 5)统计功能 当玩家完成一次扫雷后,软件能够分级别记录,统计最短完成事件、已玩游戏次数、已胜游戏次数、获胜率、最多连胜次数、最多连败次数等信息,玩家可以打开来进行查看,以及可以跟其他玩家进行比较,可以用来进行对战。 ( 6)退出 可以用界面的关闭键结束游戏。 扫雷游戏界面需求 ( 1)游戏菜单 游戏菜单有开始游戏、游戏模式、信息统计、退出等 4 个子菜单。 设置游戏的级别,分为初中高三个游戏级别,初级是由 9*9 的方格组成,雷数为10,非雷数 71;中级由 16*16 的方格组成,排有 40 个雷,非雷数为 216;高级是由 30*30的方格组成,其中有 99 个雷,非雷数为 381; 自定义功能能够让玩家重新定义游戏的布局与雷数; 标记功能在排雷的时候来重要作用,通过标记地雷,使客户快速通关,鼠标右键 也可标记地雷; 信息统计,记录玩家不同级别的最高得分; 码农毕业设计下载网: 6 退出,也可以用界面的关闭键结束游戏。 ( 2)游戏区域 游戏区域由雷数、计时器和方块区组成。 关于每个雷数,每个级别对应的雷数都不同,初级、中级、高级分别对应 99 个雷。 在你翻开第一个方块起,计算器就开始计时,直到你成功排除。 扫雷游戏功能模块 游戏在功能上分为 6 个模块: ( 1) 游戏界面 ( 2) 布雷 ( 3) 鼠标事件 ( 4) 地雷判断 ( 5) 游戏胜利(结束) ( 6) 游戏失败(结束) 扫雷游戏系统基本功能如图 22 所示。 图 22 扫雷游戏基本功能 Figure 22 Minesweeper basic functions 本章小结 本章通过多次玩扫雷游戏,熟练掌握游戏规则,认识扫雷游戏,在此基础上综合分析扫雷游戏的功能,根据游戏功能,确定游戏的功能需求和界面需求,然后总结归纳了游戏的功能模块。 扫 雷 游 戏游戏选关游戏布局扫雷游戏计时统计码农毕业设计下载网: 7 码农毕业设计下载网: 8 3 概要设计 概要设计的主要任务是把 需求分析 结果 转换为 软件结构 和数据结构。 设计软件结构的具体任务是 : 将一个复杂系统按功能进行模块划分、建立模块的 层次结构 及调用关系、确定模块间的接口及人机界面等。 数据 结构设计 包括数据特征的描述、确定数据的结构特性、以及数据库的设计。 显然,概要设计建立的是目标系统的逻辑模型,与计算机无关。 总体设计 系统的整体布局为: CardLayout 布局,采用菜单、按钮、面板„„等组件,菜单项主要有开始,开始游戏,难度选择以及自定义,信息统计,退出,按钮的功能是重新开始游戏。 扫雷游戏的布局如图 31 所示。 图 31 扫雷游戏布局图 Figure 31 Minesweeper game layout 程序主界面中部为 雷区,雷区下面实时显示游戏时间和剩余雷数。 雷区为玩家的游戏区域。 程序启动后,初始化按钮、菜单,根据用户选择的扫雷级别,生成雷区方格数量,随机布雷的位置,计算每个方格中的雷数,存储在缓存区,在界面中显示雷数,程序总体流程如图 32 所示, 扫 雷 游 戏 布 局游 戏 时 间 雷 数新游戏统计信息选项退出码农毕业设计下载网: 9 图 32 总体流程图 Figure 32 Overall flowchart of FIG. 功能分析 整个游戏可以分为四个功能模块:界面模块,负责接收用户输入,组织和显示方格以及雷等;布雷模块,负责随机布雷,设置并记录哪个方格为雷;计算雷数模块,负责计算非雷方格周围雷数,并且将雷数保存;记录扫雷信息模块,记录用户扫雷的各种信息,并且保存。 开 始定 义 并 初 始 化 按 钮 ,菜 单 等 事 件 处 理菜 单 按 钮初级中级高级对 应 模 式新游戏方格 是 否 踩 雷N结 束Y随 机 布 雷 、 计 算方 格 中 的 雷 数码农毕业设计下载网: 10 表 31 模块划分及其功能 Table 31 module division and function 模块 功能 界面模块 设置游戏等级 点击方格 布雷模块 随机布雷 保存雷区位置 计算雷数模块 计算方格周围雷数 保存方格周围雷数 记录扫雷信息模块 记录扫雷信息 显示扫雷信息 界 面 模 块接 收 用 户 输 入布 雷 模 块计 算 雷 数 模 块记 录 扫 雷 信 息 模 块 图 33 模块之间的调用关系 Figure 33 calls between modules 模块之间的调用关系如图 33 所示。 界面模块通过接收用户的输入,如:扫雷级别或者雷区大小以及雷的数量等信息,用户点击开始后,布雷模块开始随机布署地雷的位置,记录在缓存区,计算雷数模块计算每个非雷方格的地雷数量,并且记录在缓存区中,初始化完成后,在界面中显示地雷的数量。 用户第一次点击雷区方格便开始计时,扫雷游戏正式开始,扫雷结束后,统计最短完成事件、已玩游戏次数、已胜游戏次数、获胜率、最多连胜次数、最多连败次数等信息,以供查询。 功能分配 整个程序的功能由 5 个 java 类实现, 5 个类的名称以及主要功能见表 32,类的名称及其功能表。 码农毕业设计下载网: 11 表 32 类的名称及其功能表 Table names and functions Table 32 Class 序号 名称 功能 1 该 java 文件生成的类负责创建扫雷游戏程序主窗口。 该类含有 main 方法,扫雷游戏从该类执行。 2 负责对扫雷难度进行设定,可以设置初级、中级和高级三个难度,也可以对难度进行自定义设置,直接设置方格和雷的数量。 3 主要负责将玩家扫雷情况的统计信息以对话框的形式显示。 4 主要负责在界面上显示方格,可以定义方格的大小、颜色,设置背景图片等。 5 主要负责在界面上显示方格和方格上的标记及其翻开后的数字、雷、炸开的雷等,还可以对自己所在位置的行列号进行设置、存储和查询等功能。 算法思想 ( 1)随机布雷 扫雷游戏要求在 M 行 N 列的方格游戏区随机的部署 n 个雷,且 n 的取值应小于 M和 N 的乘积。 这可以在一张 M*N 的方格上通过均匀分布的随机算法实现。 其中 n 的方格是雷区,剩下的方格是非雷区。 游戏的目标是尽可能快地找到所有的雷区,而不踩到地雷。 Java 提供了实现随机算法的类 Math,通过 Math 类的 random()方法这可以很方便的实现随机布雷的功能。 ( 2)计算方格周围雷数 每个方格周围 8 个方格中雷的数量为方格周围雷数,用户就是根据方格中显示的方格周围雷数综合判断该方格是否为雷,因此,方格周围雷数的计算非常关键。 开发环境 Java 是由 Sun Microsystems 公司推出的 Java 面向对象程序设计语言(以下简称Java 语言)和 Java 平台的总称。 由 James Gosling 和同事们共同研发,并在 1995 年正式推出。 Java 最初被称为 Oak,是 1991 年为消费类电子产品的嵌入式芯片而设计的。 1995 年更名为 Java,并重新设计用于开发 Inter 应用程序。 用 Java 实现的 HotJava码农毕业设计下载网: 12 浏览器(支持 Java applet)显示了 Java 的魅力:跨平台、动态 Web、 Inter 计算。 从此, Java 被广泛接受并推动了 Web 的迅速发展,常用的浏览器均支持 Javaapplet。 另一方面, Java 技术也不断更新。 Java 自面世后就非常流行,发展迅速,对 C++语言形成有力冲击。 在全球云计算和移动互联网的产业环境下, Java 更具备了显著优势和广阔前景。 2020 年 Oracle 公司收购 Sun Microsystems。 常用的 java 开发环境是 Eclipse+JDK+tomacat,因为最重要是 Eclipse 开发工具是免费开源的,所以这是大家选择 Eclipse 开发工具大家 java 开发环境的主要原因,其次还有少部分人使用 jbulid 环境等。 对 java 初学者来说, Eclipse 使用简单,而且占用电脑资源也比较少。 另外, jdk 不是版本高了就好,我们要用的是最稳定,不是追求 最新最时尚的。 大家都知道,新的东西容易出现不稳定的因素,因为技术方面也不是很成熟,容易出错,初学者最应该使用稳定的工具,这样开发的过程才不会出现因为开发环境带来的问题影响我们学习的进程。 本论文编写程序时使用的就是 Eclipse。 Eclipse 是一个开放源代码的、基于 Java的可扩展开发平台。 就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。 幸运的是, Eclipse 附带了一个标准的插件集,包括 Java 开发工具( Java Development Kit, JDK)。 本章小结 本章 根据对扫雷游戏的需求分析, 将 整个扫雷游戏软件 按功能进行模块划分、建立模块的 层次结构 及调用关系、确定模块间的接口及人机界面等。 数据 结构设计 包括数据特征的描述、确定数据的结构特性。 最后简单介绍了软件的开发环境。 码农毕业设计下载网: 13 4 详细设计 界面设计 ( 1)扫雷棋盘的布局设计 扫雷棋盘布局为: CardLayout 布局 , 每个按钮表示一个方格,点击方格即触发按钮的点击事件。 图 41 扫雷游戏主界面 Figure 41 Minesweeper main game interface ( 2)雷区的设计 Brick类是继承了 JPanel实现了 MouseListe。基于java的扫雷游戏论文
相关推荐
与沿地龙骨在同一垂直面上。 竖向龙骨用焊接、连接件或自攻螺钉等方法与沿顶、沿地龙骨连接。 连接时应保证竖向 龙骨的垂直度符合要求。 再用支撑卡按 50mm 左右的间距卡在竖向龙骨的开口槽内,以提高其侧向刚度。 用角托和卡托将竖向龙骨和横撑龙骨连接固定好。 在隔断的门窗洞口处须用横撑龙骨进行固定。 隔断龙骨体系安装后,应检查其强度、稳定性及安装尺寸等是否符合设计要求,并按设计要求填塞吸音棉。
实例导航 .北京:人民邮电出版社 . 2020年 5 李光飞 .单片机 C程序设计实例指导 .北京:北京航空航天大学出版社 . 2020年 6 侯振鹏 .嵌入式C语言程序设计 .北京 :人民邮电出版社 . 2006年 7 戴 佳 . 51单片机C语言应用程序设计 .北京:电子工业出版社 . 2020年 8 余永权 .单片机在控制系统中的应用 .北京:电子工业出版社 . 2020年 9 王松武
1/2***tan236 813 1/3*20= 5423 Ps2 1/2**72* tan236 100 1/3*7= 233 Ps3 1/2***72 151 *7/3= 2973 浪压力 Pw 1/4*10**( ++) 1/8*10* 382 261 +( ++) /3= *= 10928 18260 合 计 9449 29227 14456 1412 223085 302546
使用可靠。 它只需直 流电源就能工作,而且,无需进行线性校正,所以使用也非常方便,借口也很简单。 作为电流输出型传感器的一个特点是,和电压输出型相比,它有很强的抗外界干扰能力。 AD590 的测量信号可远传百余米。 方案三:采用 DS18B20。 DS18B20 采用独特的单线接口方式, DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯
备的文件、资料 70 其他专项施工方案 重大危险源必须有专项施工方案和应急措施。 71 安全交底记录、技术交底记录 参加交底人员签字 72 完成临时用电、设施验收 临时房屋使用前消防验收、临时用电开工前验收 73 建立参建各方联系渠道 说明: 、安全文明施工、工程测量管理尚须执行《工程管理办法》内 8 有关规定以及国家、地方有关法律、法规、规章的有关要求. 、方案必须由公司级技术负责人审批