Java毕业设计(Java大作业课程设计)——贪吃蛇魔改版(附源代码和完整实验报告)
项目效果展示和介绍
运行效果图如下:
这个项目最初的时候是一个贪吃蛇,但是因为Java大作业做贪吃蛇的同学实在太多了,要是也交个贪吃蛇,肯定有和别的同学撞车的风险,而且老师也肯定看腻了,因此我就根据原先的贪吃蛇项目进行魔改,以蜘蛛侠和毒液作为项目的背景,把原先的贪吃蛇作为毒液~
先介绍一下游戏规则:
游戏开始后,我们操纵的是毒液(就是图上的贪吃蛇),右下角的蜘蛛侠会根据毒液的位置,向毒液所在的方向移动(具体的逻辑就是根据毒液的头部所在的位置,朝该方向移动),如果蜘蛛侠碰到了毒液的身体,游戏结束(当然如果贪吃蛇碰到了自己的身体也游戏结束,和原先的贪吃蛇规则一样),这里有三种食物,吃掉食物可能会造成分数score和身体长度的变化,第一种食物(加分加长度),第二种食物(减分加长度,不要吃),第三种食物(加分减长度,多吃),毕竟长度越短越不容易被抓嘛,当然这些规则可以自己改。随着分数的增加,界面会出现提示,提示蜘蛛侠加速了,这里蜘蛛侠会根据分数的增多一直进行加速。 另外这个项目还带上了背景音乐:)
分数到1000,蜘蛛侠加速了:)
被蜘蛛侠抓到了,游戏结束了 :(
另外为了方便直接运行,我还把项目打成了jar包的形式,只要在命令行运行即可啦~
下面是实验报告节选:
1.系统总体设计
一、需求分析
- 三种不同的食物在被毒液吃掉后会在新位置随机生成。
- 毒液在吃到不同的食物后,长度和所得分数会发生相应的改变。
- 对于毒液,通过方向键实现移动方向的改变,同时,头部造型也随方向的改变而做出相应的调整。
- 蜘蛛侠会根据毒液的移动方向,自动做出移动方向的调整,去追赶毒液。
- 毒液分数超过一定值时,蜘蛛侠移动速度加快,并且在游戏区给出相应的警告。
- 毒液被蜘蛛侠抓到或者毒液的头部触碰了身体时,游戏结束。
- 添加了游戏背景音乐,并且在游戏过程中可以循环播放。
- 添加了控制按钮(空格),可以实现对游戏及音乐的暂停,以及在游戏结束后的重新开始。
- 在标题界面画出了三种不同食物对应的属性和提示,并实时更新毒液的长度和游戏分数。
- 打包成jar文件,方便使用。
二、概要设计
- 编写一个MPanel类,将对应功能的实现都放入这个类中。
- 通过该类的构造函数,实现游戏初始化,图片和音乐的加载。
- 在该类中通过方法paintComponent(Graphics g)来调用该类中的所有paint方法,进行绘图。
- 在该类中通过方法keyPressed(KeyEvent e)来调用该类中的所有Response方法,进行对键盘的监听和响应。
- 在该类中通过方法actionPerformed(ActionEvent e)来调用该类中的所有Movement方法和judgeFailed方法,来实现内容的移动和游戏结束判断。
2.功能模块划分
3.系统详细设计
(1)类的设计及类继承关系
(2)系统流程图
(3)方法调用关系
4.各个功能模块的实现方法描述
代码风格如下:
//对空格进行响应 实现暂停和重新开始private void spaceResponse(KeyEvent e) {int keyCode=e.getExtendedKeyCode();//获取所敲的键盘对应的数字if(keyCode==KeyEvent.VK_SPACE) {//如果敲击的是空格键if(isFailed) {//游戏结束后再次敲击空格 重新开始isFailed=false;//游戏重新开始时将isFailed置falseinitSnake();}else {isStarted=!isStarted;//取反状态 开始-暂停 暂停-开始}repaint(); //修改isStarted参数后重新调用方法//重新画一遍 使得效果展示出来if(isStarted) {//在空格响应事件中实现声音的播放和暂停playBGM();}else {stopBGM();}}}
全部源码+完整的实验报告(20r),可以邮箱私信我yangsober@163.com
Java毕业设计(Java大作业课程设计)——贪吃蛇魔改版(附源代码和完整实验报告)相关推荐
- java贪吃蛇课程设计报告_Java课程设计贪吃蛇讲解
Java课程设计是必不可少的一个重要学习环节,Java程序设计的目的就是加深Java学习者对Java理论基础内容的理解和掌握.今天我们要讲的Java课程设计就是贪吃蛇的小程序设计,以下是具体讲解: 1 ...
- HTML期末大作业课程设计~仿阴阳师游戏官网首页html模板(HTML+CSS)~动漫主题html5网页模板-HTML期末作业课程设计期末大作业动漫主题html5网页模板-html5网页设计源码...
HTML期末大作业课程设计~仿阴阳师游戏官网首页html模板(DIV+CSS) 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手?网页要求的总数量太多?没 ...
- HTML期末大作业课程设计~仿阴阳师游戏官网首页html模板(HTML+CSS)~动漫主题html5网页模板-HTML期末作业课程设计期末大作业动漫主题html5网页模板-html5网页设计源码
HTML期末大作业课程设计~仿阴阳师游戏官网首页html模板(DIV+CSS) 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手?网页要求的总数量太多?没 ...
- HTML期末大作业课程设计动漫主题html5网页~奇恩动漫首页html模板(HTML+CSS)~个人设计web前端大作业...
HTML期末大作业课程设计动漫主题html5网页~奇恩动漫首页html模板(HTML+CSS) ~个人设计web前端大作业 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTM ...
- HTML期末大作业课程设计~动漫游戏官网10个页面(HTML+CSS+JavaScript)
HTML期末大作业课程设计动漫主题html5网页~动漫官网html模板(HTML+CSS) ~个人设计web前端大作业 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网 ...
- HTML期末大作业课程设计动漫主题html5网页~奇恩动漫首页html模板(HTML+CSS)~个人设计web前端大作业
HTML期末大作业课程设计动漫主题html5网页~奇恩动漫首页html模板(HTML+CSS) ~个人设计web前端大作业 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTM ...
- 薛之谦明星人物介绍html源码 html期末大作业 课程设计
薛之谦明星人物介绍html源码 html期末大作业 课程设计 开发语言:html 布局方式:div 页面数量:7页 项目页面截图 :
- 小猪佩奇网页 html源码 期末大作业 课程设计
小猪佩奇网页 html源码 期末大作业 课程设计 开发语言:html 布局方式:div 页面数量:2页 项目页面截图 :
- 赵丽颖明星人物介绍html源码 html期末大作业 课程设计
赵丽颖明星人物介绍html源码 html期末大作业 课程设计 开发语言:html 布局方式:div 页面数量:7页 项目页面截图 :
- 斩·赤红之瞳动漫网页 html源码 期末大作业 课程设计
斩·赤红之瞳动漫网页 html源码 期末大作业 课程设计 开发语言:html 布局方式:div 页面数量:5页 项目页面截图 :
最新文章
- 【Qt】Qt Creator中文输入设置
- 八百客CRM:微信提现收费,仅仅用户钱包受了伤?
- 关于A基金和B基金的了解
- ERP成分简介--听觉感觉反应
- c++对象的内存布局2--进阶篇---C++ 对象的内存布局(上)
- 如何将BeanDefinition注册到IoC容器?
- 【HDU - 1754】I Hate It (线段树模板 单点覆盖更新+区间最大值查询)
- 500张思维导图记38000单词_思维导图记单词,环环相扣难遗忘——2020奇速英语夏令营第三天...
- huffman算法c语言实验报告,huffman二叉树实验报告--数据结构(c语言).doc
- 程序员锁死公司服务器,导致600万元资金打水漂。网友神回复
- SAP License:SAP电话面试
- 什么样的人才容易被骗?
- ubuntu16.04 运行dso问题梳理
- Git版本控制:Git查阅、撤销文件修改和撤销文件追踪
- el-table表格数据没有刷新
- ESAPI入门使用方法
- 如何计算当地的中央子午线?全国各地中央子午线【转载】
- bat 删除文件名前N个字符
- 春招总结(作业帮、华为、腾讯、美团、京东面经)
- python中占位符的使用
热门文章
- Nginx Log And Analysis Project
- 越南暂难引发亚洲金融危机
- 越发明白做事认真是什么,做人心平气和又是什么
- win2000/xp忘记密码的方法(转)
- 工业软件商业模式,路在何方?
- ubuntu18.04双系统息屏或合上笔记本盖子后无法唤醒
- 快速学习OSG(5)——light-聚光灯
- wxpython应用程序对象与顶级窗口_方法对象wxPython方法对象
- 计算机 指挥窗口 教案,浙江摄影出版社三年级下册新版信息技术全册计划及教案.doc...
- 根据配置CLASSPATH彻底弄懂AppCLassLoader的加载路径问题