> # ♻️ 资源
> **大小:** 4.04MB
> **文档链接:**[**https://www.yuque.com/sxbn/ks/100013219**](https://www.yuque.com/sxbn/ks/100013219)
> **➡️ 资源下载:**[**https://download.csdn.net/download/s1t16/88248260**](https://download.csdn.net/download/s1t16/88248260)
> **注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!**
# 基于Java实现的潜艇大战游戏
# 一.需求分析
## 1.1 设计任务
本次游戏课程设计小组成员团队合作的方式,通过游戏总体分析设计,场景画面的绘制,游戏事件的处理,游戏核心算法的分析实现,游戏的碰撞检测,游戏的反复测试,游戏的打包运行等一个完整的游戏设计编码实现的整个过程。进一步提高编写结构清晰,扩展性好,风格良好的应用程序,进一步提高思考解决实际问题的工程能力。
## 1.2 功能需求
- 玩家进入游戏,退出游戏的功能,没有过关重玩的功能
- 玩家开始游戏,暂停游戏,查看游戏规则
- 玩家键盘A,D(快捷键)鼠标操作实现战舰的移动和投导弹攻击潜艇
- 潜艇左面出,向右移动,每一个时间间隔向上投鱼雷攻击战舰
- 战舰和潜艇被攻击后有相应的爆炸特效和对应的音效
- 玩家的得分统计,进入前十就提示输入姓名,当前最高分的查看
- 玩家通过的关口统计,下一关口难度增加的设置
## 1.3 用例模型
- Actor主要为玩家和游戏系统
- 玩家 user case 包括 开始游戏,操作战舰,退出游戏,暂停游戏,得分关卡,进入排行榜
- 游戏系统 user case 潜艇出击,爆炸效果,积分榜重置,结束游戏,场景画面
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692841750285-9e51f5d8-2003-4c66-a7bc-5f2c4dc16931.png#averageHue=%23fefefe&clientId=u52daa5ac-d97f-4&from=paste&height=470&id=u074be747&originHeight=588&originWidth=865&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=138880&status=done&style=none&taskId=uf855ac4a-f84e-4f9b-80c0-c34069767cc&title=&width=692)
## 1.4 性能需求
**技术可行性**
Windows8.1下的开发平台,Windows 8.1的运行平台,使用Java Swing+AWT图形界面制作客户端程序的技术,界面友好,功能齐全,音效动感,操作简单,的一款潜艇大战游戏.
**经济可行性**
游戏的关卡设计,使游戏的趣味性高,音效设计,都是基于素材网上的免费资源,单机游戏,开发平台在本地,一台装有JAVA的PC即可提供硬件环境,成本极低。
**操作可性性**
键盘操作,加快捷键和鼠标结合,提供完整游戏规则,查看即可学习,立刻就可以玩起来,操作非常简单。
## 1.5 系统结构图
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692841783855-c2bd572b-9776-4f63-addc-f4ac6cb8a3f8.png#averageHue=%23faf7f4&clientId=u52daa5ac-d97f-4&from=paste&height=474&id=ua27191da&originHeight=592&originWidth=811&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=62954&status=done&style=none&taskId=uac57058c-9a08-4ce0-9584-71776a4312a&title=&width=648.8)
## 1.6 系统流程图
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692841794694-00bacd79-7252-4dd4-bae8-17187de4992e.png#averageHue=%23fcfcfc&clientId=u52daa5ac-d97f-4&from=paste&height=598&id=u6e785bf1&originHeight=748&originWidth=775&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=46024&status=done&style=none&taskId=u8da47c8f-3828-432a-80cd-f8f435f27a0&title=&width=620)
# 二.游戏功能内容设计
## 2.1 工程结构图
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692841808653-75085f9a-739c-4f31-a926-d626105ad46a.png#averageHue=%233e4348&clientId=u52daa5ac-d97f-4&from=paste&height=615&id=u0f1a67b2&originHeight=769&originWidth=833&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=116766&status=done&style=none&taskId=ue010a3cb-a5ff-4103-8872-dc857e3b0eb&title=&width=666.4)
## 2.2 游戏界面绘制
### 2.2.1 进入游戏界面绘制
首先使用Swing组件的JFrame完成窗口的绘制,包括大小,位置,背景图片,按钮的排放,布局采用BorderLayout的边框布局方式.窗口图标采用Toolkit.getDefaultToolkit().getImage(imgUrl)
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692841824914-705070d3-e7be-48b1-bf93-7d7296046869.png#averageHue=%23597488&clientId=u52daa5ac-d97f-4&from=paste&height=553&id=u66392ec5&originHeight=691&originWidth=796&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=1241702&status=done&style=none&taskId=ufc7f6cab-cce5-432d-8ee0-411d0077405&title=&width=636.8)
### 2.2.2 游戏主界面的绘制
上面的进入游戏的界面点击进入游戏后切换至主界面里面后,完成主界面的颜色背景绘制,主要使用Graphics2D设置相应的颜色代码完成实现。上面的菜单栏采用JMenuBar,JMenu,JMenuItem来完成绘制。至于得分,关数是在指定的位置绘制的。那个游戏的最高分是从游戏玩家排行榜里面读取出来然后绘制的,命数是自定义的3条。在程序里面设置好的。然后就是战舰和导弹的绘制了的.战舰封装一个战舰对象然后结合Image对象加载图片设置位置来实现的.导弹是初始设置五个,通过线程的方式指定的时间内绘制即可。最多为5个,最小为0个.绘制的时候要注意判断当前的导弹数量来绘制的。
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692841843756-0d3e7d0b-eb6b-4d76-ac18-ae906ea8e313.png#averageHue=%234f74e6&clientId=u52daa5ac-d97f-4&from=paste&height=545&id=u07f06864&originHeight=686&originWidth=799&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=69549&status=done&style=none&taskId=u3ba70867-bdb7-4739-89bc-b6ba8f171a4&title=&width=635.2000122070312)
### 2.2.3 游戏对话框的绘制
![](http://www.writebug.com/myres/static/uploads/2021/10/19/3281169da31e47e0cbc745bf855712c0.writebug#id=aSIUE&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692841856621-c19a8ef6-0d19-430b-8a9a-136986ba9991.png#averageHue=%235074e6&clientId=u52daa5ac-d97f-4&from=paste&height=534&id=uc528ec49&originHeight=687&originWidth=814&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=71508&status=done&style=none&taskId=ubefea985-a165-45ca-b879-3f873bbe810&title=&width=632.2000122070312)![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692841861734-f1ed6664-dee3-4aa9-ad14-7f6b1a613d37.png#averageHue=%237fd5dd&clientId=u52daa5ac-d97f-4&from=paste&height=533&id=u94bc538f&originHeight=686&originWidth=818&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=147736&status=done&style=none&taskId=u19efe86b-53b3-43a8-bcf6-64fdf519498&title=&width=635.4000244140625)![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692841871302-ff348a96-8aca-4df2-b311-6bcf2ea183ee.png#averageHue=%237bd4dd&clientId=u52daa5ac-d97f-4&from=paste&height=573&id=u88e1828f&originHeight=689&originWidth=763&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=100620&status=done&style=none&taskId=ub049c5f4-0d2d-497d-a815-6982e2d1d0e&title=&width=634.4000244140625)![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692841876748-126818b6-0ca5-4205-bc28-350262e364d7.png#averageHue=%2392ced9&clientId=u52daa5ac-d97f-4&from=paste&height=577&id=u756f90d9&originHeight=689&originWidth=756&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=109771&status=done&style=none&taskId=u15d9cf50-8b06-47cd-aea6-8ed741b0013&title=&width=632.7999877929688)![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692841883851-446401d3-49b1-4731-82cd-7c5c7c82d31c.png#averageHue=%233c4244&clientId=u52daa5ac-d97f-4&from=paste&height=220&id=u0774f161&originHeight=275&originWidth=783&origin
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
https://www.yuque.com/sxbn/ks/100013219 本次游戏课程设计小组成员团队合作的方式,通过游戏总体分析设计,场景画面的绘制,游戏事件的处理,游戏核心算法的分析实现,游戏的碰撞检测,游戏的反复测试,游戏的打包运行等一个完整的游戏设计编码实现的整个过程。进一步提高编写结构清晰,扩展性好,风格良好的应用程序,进一步提高思考解决实际问题的工程能力。 功能需求:1、玩家进入游戏,退出游戏的功能,没有过关重玩的功能;2、玩家开始游戏,暂停游戏,查看游戏规则;3、玩家键盘A,D(快捷键)鼠标操作实现战舰的移动和投导弹攻击潜艇;4、潜艇左面出,向右移动,每一个时间间隔向上投鱼雷攻击战舰;5、战舰和潜艇被攻击后有相应的爆炸特效和对应的音效;6、玩家的得分统计,进入前十就提示输入姓名,当前最高分的查看;7、玩家通过的关口统计,下一关口难度增加的设置。
资源推荐
资源详情
资源评论
收起资源包目录
基于Java实现的潜艇大战游戏【100013219】 (126个子文件)
MyPanel.class 17KB
InfoDialog.class 6KB
HelpDialog.class 6KB
WallDialog.class 5KB
Submarine.class 5KB
InputDialog$1.class 5KB
InputDialog.class 5KB
Torpedo.class 5KB
ScoreDialog.class 4KB
MyFrame.class 4KB
MyDialog.class 4KB
MainPanel.class 3KB
Bumb.class 3KB
MyButton.class 3KB
WarShip.class 3KB
TimeManager2.class 2KB
Blast.class 2KB
Hit.class 2KB
TimeManager.class 2KB
MusicUtil.class 1KB
MyPanel$2.class 1KB
ScoreDialog$1.class 1KB
WallDialog$1.class 1KB
MyFrame$4.class 1KB
MyFrame$5.class 1KB
MainPanel$1.class 1003B
MyDialog$1.class 989B
MyFrame$1.class 935B
MyFrame$2.class 895B
ScoreDialog$2.class 852B
WallDialog$2.class 846B
MyDialog$2.class 834B
MainPanel$2.class 791B
MyFrame$3.class 780B
MyPanel$1.class 738B
SubmarineWarMain.class 728B
FrameObservable.class 510B
游戏设计课程报告.docx 867KB
fight.iml 1KB
fight-1.0-SNAPSHOT.jar 931KB
fight.jar 929KB
MyPanel.java 24KB
InputDialog.java 10KB
InfoDialog.java 7KB
HelpDialog.java 6KB
Submarine.java 6KB
MyFrame.java 5KB
WallDialog.java 5KB
ScoreDialog.java 4KB
Torpedo.java 4KB
MyDialog.java 4KB
MainPanel.java 3KB
MyButton.java 3KB
Bumb.java 3KB
WarShip.java 2KB
Blast.java 2KB
TimeManager2.java 2KB
Hit.java 2KB
TimeManager.java 2KB
MusicUtil.java 1KB
FrameObservable.java 518B
SubmarineWarMain.java 504B
star.jpg 2KB
star.jpg 2KB
star.jpg 2KB
LICENSE 1KB
inputFiles.lst 1KB
createdFiles.lst 0B
inputFiles.lst 0B
README.md 30KB
主界面.png 109KB
主界面.png 109KB
主界面.png 109KB
炸弹效果.png 10KB
炸弹效果.png 10KB
炸弹效果.png 10KB
战舰.png 4KB
战舰.png 4KB
战舰.png 4KB
潜艇8.png 3KB
潜艇8.png 3KB
潜艇8.png 3KB
潜艇6.png 3KB
潜艇6.png 3KB
潜艇6.png 3KB
潜艇1.png 3KB
潜艇1.png 3KB
潜艇1.png 3KB
潜艇7.png 3KB
潜艇7.png 3KB
潜艇7.png 3KB
潜艇3.png 3KB
潜艇3.png 3KB
潜艇3.png 3KB
潜艇4.png 3KB
潜艇4.png 3KB
潜艇4.png 3KB
潜艇2.png 3KB
潜艇2.png 3KB
潜艇2.png 3KB
共 126 条
- 1
- 2
资源评论
神仙别闹
- 粉丝: 2671
- 资源: 7640
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功