Java扫雷游戏的设计与实现毕业设计论文

本次的扫雷游戏设计,需要编写7个Java类:MineaGamae.java类、MineAra.java类、Block.jaav类、BlockVaiw.java类、LayMinas.java类、Record.java类和ShowRecrd.java类。

(1) MineGame.java

MineGame类是游戏的入口,用来初始化游戏资源,比如界面尺寸和雷数等。同时也负责难度的转换。

(2) MineArea.java

MineArea类是布置雷区的雷,除了初始化雷区以外还可以响应玩家的鼠标操作。

(3) Block.java

Block类是一个POJO类,主要记录了雷区一个个格子的属性,比如名字,周围雷的数目等等。

(4) BlockView.java

BlockView类用来显示块的属性,并且使用卡片布局来使格子分为了上下两层,当玩家点击格子后,会使下面的属性浮现出来。

(5) LayMines.java

LayMines类是计算不是雷的格周围雷个数的类,以及设置点选之后的图片样式。创建的对象lay是MineArea中最重要的成员。

(6) Record.java

Record类是通过IO流将游戏记录储存在本地的文件中,主要实现通关后弹窗提示通关的窗口,以及记录成绩。

(7) ShowRecord.java

ShowRecord类是显示扫雷记录的类。

效果图


在这里插入图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

目 录

摘 要 i

Abstract ii

1 绪论 1

1.1 课题背景及意义 1

1.2 开发工具的选用及介绍 1

1.3 选题目的和意义 2

1.4 本文主要研究的内容 2

2 需求分析 3

2.1 可行性分析 3

2.2 扫雷游戏功能描述 3

2.3 扫雷游戏用例图 4

2.4 扫雷游戏功能需求 4

2.5 扫雷游戏界面需求 5

2.6 扫雷游戏功能模块 6

3 游戏的概要分析与设计 7

3.1 设计构想 7

3.2 流程规划 8

3.3 界面规划 9

3.4 算法思想 9

4 游戏的详细设计 11

4.1 游戏初始化 11

4.2 雷区的布置 12

4.3 游戏中主要模块的介绍与使用 13

4.3.1 鼠标事件 13

4.3.2 地雷及雷区表面探测情况 14

4.3.3 清除未靠近地雷的格子 15

4.3.4 游戏难度的选择 16

4.3.5 菜单栏的功能 16

4.4 游戏的判断 16

4.4.1 游戏成功完成 16

4.4.2 游戏失败 16

4.5 类设计 17

4.5.1 MineGame类 17

4.5.2 Block类 18

4.5.3 BlockView类 19

4.5.4 Record类 20

4.5.5 ShowRecord类 21

4.5.6 MineArea类 22

4.5.7 LayMines类 23

5 游戏实现 25

5.1 游戏难度自定义 25

5.2 扫雷 28

5.2.1 玩家通过右键进行扫雷,并显示小红旗 28

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.1 手机软件现状 在信息社会中,手机及其他无线设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,手机及其他无线设备上网络势在必行。但是传统手机存在以下弊端: 1. 传统手机出厂时均由硬件厂商固化程序,程序不能增加、删除,有了错误也不能更新、修改,若要增加新功能必须另换一部手机。 2. 传统手机访问互联网是通过WAP(Wireless Application Protocal),所有网络资源必须接通网络才能在线访问,非常耗时、费用亦很高。 而Java技术在无线应用方面的优势非常明显: 1. 应用程序可按需下载,而不是购买由硬件商提供的套件,可升级空间大。 2. Java技术提供了一个类库,它使的应用开发商可以创建更为直觉、丰富的用户界面(GUI); 3. Java技术使网络带宽的应用更为有效,因为应用程序可以下载到器件上,并在本地运行,仅仅是在连接到服务器时才会占用网络带宽。 基于以上分析,Java手机将是未来手机的发展方向,是业界的热点。 1.2 J2ME介绍 虽然 Java 已经被用到许多企业级软体上,可是其实骨子里面还是非常适合用在嵌入式系统之中。Java平台演进到Java2后,Java平台分别针对不同领域的需求被分成四个版本,亦即J2EE、J2SE、J2ME以及JavaCard。其中J2ME定位在消费性电子产品的应用上。这个版本针对资源有限的电子消费产品的需求精简核心类库,并提供了模块化的架构让不同类型产品能够随时增加支持的能力。这个版本的应用层面相当广泛,会是未来Java平台发展的重点项目。 J2ME在1999年的JavaOne开发人员大会上初次亮相,它的目标是面向智能无线设备和小型计算机设备的开发人员。J2ME的一个关键优点是,J2ME与所有支持Java的设备都是兼容的。支持Java的设备就是任何运行Java虚拟机器的计算机。Motorola、Nokia等生产厂商都生产支持Java的设备。、 J2ME平台是由配置(Configuration)和简表(Profile)构成的。配置是提供给最大范围设备使用的最小类库集合,在配置中同时包含Java虚拟机。简表是针对一系列设备 提供的开发包集合。在J2ME中还有一个重要的概念是可选包(Optional Package),它是针对特定设备提供的类库,比如某些设备是支持蓝牙的,针对此功能J2ME中制定了JSR82(Bluetooth API)提供了对蓝牙的支持。 目前,J2ME中有两个最主要的配置,分别是Connected Limited Devices Configuration(CLDC)和Connected Devices Configuration(CDC)。 作为第一个面对小型设备的Java应用开发规范,CLDC是由包括Nokia,Motorola和Siemens在内的18家全球知名公司共同协商完成的。CLDC是J2ME核心配置中的一个,可以支持一个或多个profile。其目标主要面向小型的、网络连接速度慢、能源有限(主要是电池供电)且资源有限的设备,如手机、PDA等。 而CDC则是主要用于运算能力相对较佳、在电力供应上相对比较充足的嵌入式装置 (比方说冷气机、电冰箱、电视机机顶盒 (set-top box))
         游戏界面可以分为三个模块:菜单栏,游戏数据显示区域以及雷区。     (1)菜单栏:      菜单栏包括游戏难度的选择和排行榜的查询以及游戏帮助。     (2)游戏数据显示区域:      游戏数据显示区域包括地雷计数区、计时区和重新开始按钮。     (3)雷区:      雷区就是玩家的游戏区域,当玩家在游戏过程中用鼠标点击某一模块,系统会自动作出相应的响应,这就是游戏中的鼠标事件。            简单玩法介绍:         当玩家点开第一个格子时雷区开始布雷同时计时开始。然后会在该格子上显示周围8个格子的雷数(如果没有雷则自动点开周围的格子),     玩家就需要通过这些数字来判断雷的位置,将是雷的格子标记为小红旗。若玩家认为已标记的格子时错误的,可以再次右击该格子来取消标记。     当某一格子被标记时,对于该格子的单击操作是无效的(防止玩家误点击导致游戏失败)。如果玩家将某一格周围8个格子中的雷标记了出来,     双击该格子会自动将周围的格子点击一遍,这样可以简化玩家的操作。当玩家将全部的地雷标记出来并且其他的格子点开时,游戏结束。     但是如果玩家不小心点到了地雷就会游戏失败,系统自动显示出所有的地雷。如果玩家标识的地雷数量超过了该难度下规定的雷数,     计数区会以负数显示超出的雷数并且游戏不会结束。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值