Java毕业设计(Java大作业课程设计)——贪吃蛇魔改版(附源代码和完整实验报告)

这篇具有很好参考价值的文章主要介绍了Java毕业设计(Java大作业课程设计)——贪吃蛇魔改版(附源代码和完整实验报告)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目效果展示和介绍

运行效果图如下: 

Java毕业设计(Java大作业课程设计)——贪吃蛇魔改版(附源代码和完整实验报告)

 这个项目最初的时候是一个贪吃蛇,但是因为Java大作业做贪吃蛇的同学实在太多了,要是也交个贪吃蛇,肯定有和别的同学撞车的风险,而且老师也肯定看腻了,因此我就根据原先的贪吃蛇项目进行魔改,以蜘蛛侠和毒液作为项目的背景,把原先的贪吃蛇作为毒液~ 

先介绍一下游戏规则:

游戏开始后,我们操纵的是毒液(就是图上的贪吃蛇),右下角的蜘蛛侠会根据毒液的位置,向毒液所在的方向移动(具体的逻辑就是根据毒液的头部所在的位置,朝该方向移动),如果蜘蛛侠碰到了毒液的身体,游戏结束(当然如果贪吃蛇碰到了自己的身体也游戏结束,和原先的贪吃蛇规则一样),这里有三种食物,吃掉食物可能会造成分数score和身体长度的变化,第一种食物(加分加长度),第二种食物(减分加长度,不要吃),第三种食物(加分减长度,多吃),毕竟长度越短越不容易被抓嘛,当然这些规则可以自己改。随着分数的增加,界面会出现提示,提示蜘蛛侠加速了,这里蜘蛛侠会根据分数的增多一直进行加速。 另外这个项目还带上了背景音乐:)

分数到1000,蜘蛛侠加速了:) 

Java毕业设计(Java大作业课程设计)——贪吃蛇魔改版(附源代码和完整实验报告)

被蜘蛛侠抓到了,游戏结束了 :( 

Java毕业设计(Java大作业课程设计)——贪吃蛇魔改版(附源代码和完整实验报告)

另外为了方便直接运行,我还把项目打成了jar包的形式,只要在命令行运行即可啦~

Java毕业设计(Java大作业课程设计)——贪吃蛇魔改版(附源代码和完整实验报告)

下面是实验报告节选:

1.系统总体设计

一、需求分析

  1. 三种不同的食物在被毒液吃掉后会在新位置随机生成。
  2. 毒液在吃到不同的食物后,长度和所得分数会发生相应的改变。
  3. 对于毒液,通过方向键实现移动方向的改变,同时,头部造型也随方向的改变而做出相应的调整。
  4. 蜘蛛侠会根据毒液的移动方向,自动做出移动方向的调整,去追赶毒液。
  5. 毒液分数超过一定值时,蜘蛛侠移动速度加快,并且在游戏区给出相应的警告。
  6. 毒液被蜘蛛侠抓到或者毒液的头部触碰了身体时,游戏结束。
  7. 添加了游戏背景音乐,并且在游戏过程中可以循环播放。
  8. 添加了控制按钮(空格),可以实现对游戏及音乐的暂停,以及在游戏结束后的重新开始。
  9. 在标题界面画出了三种不同食物对应的属性和提示,并实时更新毒液的长度和游戏分数。
  10. 打包成jar文件,方便使用。

二、概要设计

  1. 编写一个MPanel类,将对应功能的实现都放入这个类中。
  2. 通过该类的构造函数,实现游戏初始化,图片和音乐的加载。
  3. 在该类中通过方法paintComponent(Graphics g)来调用该类中的所有paint方法,进行绘图。
  4. 在该类中通过方法keyPressed(KeyEvent e)来调用该类中的所有Response方法,进行对键盘的监听和响应。
  5. 在该类中通过方法actionPerformed(ActionEvent e)来调用该类中的所有Movement方法和judgeFailed方法,来实现内容的移动和游戏结束判断。

2.功能模块划分

Java毕业设计(Java大作业课程设计)——贪吃蛇魔改版(附源代码和完整实验报告)

 3.系统详细设计

(1)类的设计及类继承关系

Java毕业设计(Java大作业课程设计)——贪吃蛇魔改版(附源代码和完整实验报告)

(2)系统流程图Java毕业设计(Java大作业课程设计)——贪吃蛇魔改版(附源代码和完整实验报告)

(3)方法调用关系

Java毕业设计(Java大作业课程设计)——贪吃蛇魔改版(附源代码和完整实验报告)

4.各个功能模块的实现方法描述

Java毕业设计(Java大作业课程设计)——贪吃蛇魔改版(附源代码和完整实验报告)

代码风格如下:

//对空格进行响应 实现暂停和重新开始
	private void spaceResponse(KeyEvent e) {
		int keyCode=e.getExtendedKeyCode();//获取所敲的键盘对应的数字
		if(keyCode==KeyEvent.VK_SPACE) {//如果敲击的是空格键
			if(isFailed) {//游戏结束后再次敲击空格 重新开始
				isFailed=false;//游戏重新开始时将isFailed置false
				initSnake();
			}
			else {
				isStarted=!isStarted;//取反状态 开始-暂停 暂停-开始
			}
		
			repaint(); //修改isStarted参数后重新调用方法
						//重新画一遍 使得效果展示出来
			
			if(isStarted) {//在空格响应事件中实现声音的播放和暂停
				playBGM();
			}else {
				stopBGM();
			}
		}
	}

全部源码+完整的实验报告(20r),可以邮箱私信我yangsober@163.com

Java毕业设计(Java大作业课程设计)——贪吃蛇魔改版(附源代码和完整实验报告)文章来源地址https://www.toymoban.com/news/detail-490333.html

到了这里,关于Java毕业设计(Java大作业课程设计)——贪吃蛇魔改版(附源代码和完整实验报告)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Java的图书借阅网站, java+springboot+vue开发的图书借阅管理系统 - 毕业设计 - 课程设计

    本程序实现图书的智能化、信息化和简单化;实现图书信息的增加、删除、修改、查找、借阅、还书、收藏的显示操作及实时数据库的提交和更改和对普通用户的增、删、改、查;提高图书管理员工作信息报送及反馈的工作效率,减轻管理员的劳动负担;提高信息的及时性和

    2024年04月28日
    浏览(73)
  • 毕业设计——java web大作业,通过jsp+servlet实现宿舍管理系统

    宿舍管理系统实现的功能主要分三大类:系统用户的注册登录验证、对宿舍信息的增删改查、对学生信息的增删改查。 系统用户的登录注册验证 登录时,通过用户名和密码判断是否有此用户;注册时,不允许注册相同用户名的用户。为防止多次注册,设置邮箱验证码功能。

    2024年02月03日
    浏览(54)
  • 基于Java SSM框架实现在线作业管理系统项目【项目源码】计算机毕业设计

    基于java的SSM框架实现在线作业管理系统演示 JSP技术本身是一种脚本语言,但它的功能是十分强大的,因为它可以使用所有的JAVA类。当它与JavaBeans 类进行结合时,它可以使显示逻辑和内容分开,这就极大的方便了运动员的需求。JavaBeans 可以对JSP技术的程序进行扩展,从而形

    2024年01月20日
    浏览(59)
  • 【毕业设计/课程设计】基于微信的自助点餐小程序设计与实现(源码+文章) 含Java Web管理端

    1、数据库:MySQL 2、开发工具 微信端:微信开发工具 管理后端:Idea、Eclipse、MyEclipse等Java开发工具均可 3、服务器:Tomcat系列均可 微信端采用微信开发者工具开发,管理后端采用Java语言,MySQL数据库,开发框架是SSM         传统的点餐模式主要是通过人们到指定地点以及在

    2024年02月04日
    浏览(50)
  • 微信小程序餐厅在线点餐项目+后台Java,php毕业设计,毕业指导,计算机作业,python微信小程序_电脑版微信能做点餐后台吗

    本文首先以食堂订餐小程序过程的基本问题作为研究对象。在开发系统之前,我们对现有状况进行了详细的调查和分析。最后,我们利用计算机技术开发了一套完整合适的食堂订餐小程序。该系统的实现主要优势是:该系统主要采用计算机技术开发,它方便快捷;系统可以通

    2024年04月27日
    浏览(48)
  • 【毕业课程设计】基于PLC的立体仓库控制系统设计

    一、总体方案选择 1.1立体仓库模型的建立 自动化立体仓库是机械和电气、强电控制和弱电控制相结合的产品。它主要 由货物储存系统、货物存取和传送系统、控制和管理等三大系统所组成。货物存 储系统由立体货架的货格(托盘或货箱)组成,货架按照排、列、层组合而成

    2024年02月05日
    浏览(58)
  • 【毕业设计_课程设计】基于Spark网易云音乐数据分析

    基于Spark网易云音乐数据分析 提示:适合用于课程设计或毕业设计,工作量达标,源码开放 包含爬虫,Scala代码,Spark,Hadoop,ElasticSearch,logstash,Flume,echarts,log4j emotional_analysis_spider 爬虫模块 emotional_analysis_web 数据处理模块(Scala代码) emotional_analysis_recommend 推荐模块目前还未开发 emot

    2024年02月06日
    浏览(51)
  • 人工智能课程设计毕业设计——基于机器学习的贷款违约预测

    摘  要 随着人们对于贷款的需求量不断增加以及我国债券市场和信贷市场违约事件频发,商业银行不良资产率与用户个人贷款违约风险成为了政府和银行业关心的核心问题,而对信用贷款违约风险进行有效评估和测度也成为了商业银行提高其经营管理水平的核心要务。 本小

    2024年04月16日
    浏览(71)
  • Andriod studio大作业,毕业设计------完整项目(1)

    汉字小测试app 想看完整教程和成果展示关注哔哩哔哩up主: Alvin_Han233 写在前面:作者本人澳洲大学毕业,下半年再出去读研,回国隔离的时候太无聊就录了一个这个项目的demo,结果我没想到的是要代码的人还挺多。我也是百忙(我现在既工作又上学)之中抽出了点时间做的视

    2024年02月06日
    浏览(38)
  • 人工智能课程设计毕业设计——基于机器学习的手写汉字识别系统

    《机器学习》课程设计实验 报告 题目:基于深度学习的手写汉字识别系统 目录 基于深度学习的手写汉字识别系统实验报告 1. 绪论 ............................................................................................................................................................ 1 1.1 研究背景及意义..

    2024年02月20日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包