- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 1
目录
摘要 1
1.设计内容及要求 1
2.贪吃蛇游戏需求分析 1
2.1游戏界面的布局设计 1
2.2需求分析方向 2
2.3游戏中涉及的类和类包含的方法 2
3.课程设计代码完成过程 4
4.MVC编程技术的分析与总结 5
5.课程设计中遇到的不易注意到的小细节 5
5.1排除蛇的相反方向的按键问题 5
5.2蛇的移动与显示问题 5
6.运行效果 7
7.我们的感受 9
Java课程设计报告
摘要
我们在这次Java课程设计中设计了一款贪吃蛇游戏,在此过程中我们复习,巩固了Java语言的基础知识,进一步加深对Java语言的理解和掌握;课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力.提高学生适应实际,实践编程的能力;培养学生在项目开发中团队合作精神,创新意识及能力.以下便是我们对这次课程设计的详细报告。
1.设计内容及要求
贪吃蛇游戏的基本要求及主要功能:
贪吃蛇是一款我们耳熟能详的曾经风靡一时的益智小游戏,它操作简单,很容易上手,但又不乏趣味性,这一次我们尝试用Java语言编写一款简单的贪吃蛇游戏,这个小游戏的基本要求和主要功能如下:
在封闭的石头围墙内有一条蛇,通过键盘控制蛇的运动方向,若无按键时,按蛇头方向自行移动。围墙内随机出现食物,吃掉食物,蛇的身体增长1节,得1分。若蛇在移动过程中,撞到石头或身体交叉蛇头撞到自己的身体游戏结束。注意蛇只能以蛇头移动,不能相反,也就是说,若蛇原先向上移动,按向下键无效。
游戏操作键主要有↑ , ↓ , → ,←,他们操控着蛇的移动方向,另一个操作键是space键,它可以暂停游戏。
游戏菜单中有:游戏,帮助,最高分数。游戏包含:开始,退出。帮助包含:帮助,关于游戏。最高分用来显示历史最高分。
中途死亡,打开游戏菜单左键单击开始,便可重新游戏,单击退出便关闭游戏框。
贪吃蛇游戏需求分析
2.1游戏界面的布局设计:
本游戏采用MVC编程技术,所谓MVC,既是模型/界面/控制器(Model/View/Controller,MVC),游戏采用BorderLayout布局,主要包括菜单组件,菜单主要包括开始,退出,帮助,历史最高分等基本功能。
游戏大致界面如下:
2.2需求分析方向:
.游戏中要用到几个类
作为一个游戏,首先应该有一个游戏的显示区域,所以创建一个GamePanel类;因为是贪吃蛇游戏,必须要有一个贪吃蛇作为类即Snake类;因为贪吃嘛,就必须有一个食物类,即Food类;不能让贪吃蛇为所欲为,所以就在周围给它设置障碍物,所以要有一个障碍物类,即Ground类;但是这远远不够,因为这些类的交互比较复杂,所以要有一个类似中央处理器的东西来协调,所以要创建一个Controller类来处理按键事件和Snake类,Food类,Ground类之间的逻辑关系。
.每个类都要用什么方法。
每个类的方法会在文中具体介绍,但值得注意的是,判断蛇是否吃到事物的方法是应该放在Food类中,而不是Snake类中。
2.3游戏中涉及的类和类包含的方法:
2.3.1GamePanel:
游戏的显示区域,显示游戏的整个界面,在游戏界面上有可能触发按键事件
应包含函数:
void display()//显示
2.3.2Snake:
定义的蛇的类,首先应分析蛇的基本属性如下:
蛇身体的表示方法,显示方法及初始化;蛇的移动方法;蛇移动方向的控制;蛇吃到食物以及处理蛇身体变化的方法;蛇吃到自己的身体的判断及相应的处理方法。
综上应包含的函数如下:
void move();// 移动(每次走一步)
void changeDirection();// 改变方向
void eatFood();// 吃到食物,身体变长
boolean isEatBody();// 吃到自己身体
void drawMe();// 动态显示蛇体
2.3.3.Food:
定义食物的类,首先分析食物的基本属性如下:
食物的产生方法;蛇吃到食物的判定方法;食物的显示方法。
综上应包含的函数如下:
boolean isSnakeEatFood(Snake);// 判断蛇是否吃到食物
void drawMe();//
您可能关注的文档
- 关注教学细节-彰显课堂魅力.doc
- 8、中职高二语文第三册第七单元测试题.docx
- 供方管理手册.docx
- 教师个人述职报告(精选14篇).doc
- 养老护理员年终个人工作总结.docx
- 打车软件演讲.ppt
- 监理工程师考试辅导:建设工程施工进度控制工作内容.pdf
- 农村分家协议正式版.doc
- 小学体育四年级评课稿(精选9篇).docx
- 【盐城】三年级英语期末统考试题(20年春).pdf
- 广播电视播音员主持人全真模拟模拟题附答案详解(预热题).docx
- 危险化学品安全作业题库检测试题打印附参考答案详解【夺分金卷】.docx
- 教师资格考前冲刺练习试题含答案详解【夺分金卷】.docx
- 广播电视播音员主持人全真模拟模拟题(典型题)附答案详解.docx
- 教师资格考试综合练习附完整答案详解【精选题】.docx
- 人教版四年级下册数学期末测试卷1套.docx
- 2025广播电视播音员主持人自我提分评估完整版附答案详解.docx
- 2025年广播电视播音员主持人考试综合练习附答案详解【巩固】.docx
- 2025年教师资格能力提升B卷题库(夺冠)附答案详解.docx
- 2025年教师资格试卷及参考答案详解【满分必刷】.docx
文档评论(0)