- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
重庆邮电大学
Java程序设计报告书
题 目 __简单贪吃蛇游戏_
专 业 名 称 _计算机
班 级 _
学 生 学 号 __
学 生 姓 名 __
指 导 教 师 __ __
目 录
一、 概要设计 3
二、 程序整体设计说明 3
2.1、程序运行图 3
2.2、程序中所用类说明 4
2.3、类图------------------------------------------------------------------------------------------------------------
三、部分源代码及注释 4
3.1、程序界面 4
3.2、按键监听及计算 6
四、调试及错误总结 9
五、设计心得 9
六、参考文献 9
概要设计
本程序是针对贪吃蛇小游戏的JAVA程序,利用方向键来改变蛇的运行方向,空格键暂停或继续游戏,并在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。
本系统共包括1个java源文件和7个类文件。
1. 类之间的关系如图1所示:
2.简要算法分析:
a.利用数组列表来存放蛇身的每一个节点。
b,蛇的方向分别用四个整型常量表示:1上,2下,3左,4右。 可利用derection % c. 是否等于newDer % 2 来判断改变的方向是否一原来方向相反。
d,蛇吃食物算法:根据蛇头的方向,判断蛇头坐标与食物坐标关系,例如:蛇头向上,则蛇头与食物的x坐标相同,蛇头y坐标比食物y坐标少10(一个食物或一节蛇身的长度)。
e,蛇移动时,根据当前蛇头坐标向蛇头方向前画一个节点作为新的蛇头,并去掉蛇尾。
二、 程序整体设计说明
2.1、程序运行图
游戏开始界面:
游戏运行界面:
游戏结束界面:
2.2、系统流程图
否
是
否
是
1.主类SnakeGame
(1)主类为此程序的入口,定义了SnakeFrame的对象frame,开始运行此程序。
(2)源代码见文件SnakeGame.Java
2.类SnakeFrame
(1)成员变量见表2
表2 主要成员变量 成员变量描述 变量类型 名称 状态标签 Private JLabel statusLabel 分数标签 Private JLabel scoreLabel 蛇面板 private JPanel snakePanel 速度标签 private JLabel speedLabel 蛇类对象 private Snake snake 菜单条 private JMenuBar bar 游戏菜单 JMenu gameMenu 帮助菜单 JMenu helpMenu 速度菜单 JMenu speedMenu 新菜单项 JMenuItem newItem 暂停菜单项 JMenuItem pauseItem 关于菜单项 JMenuItem aboutItem 慢菜单项 JMenuItem slowItem 中间菜单项 JMenuItem midItem 快菜单项 JMenuItem fastItem 开始菜单项 JMenuItem startItem 帮助菜单项 JMenuItem helpItem
(2)方法见表3
表3 主要方法 方法名 功能 SnakePanel() 创建蛇的面板 addKeyListener 监视器 setBounds() 设置尺寸 JLabel() 设置标签 JMenu() 创建菜单 JMenuItem 构造菜单项 3.类Snake
(1)成员变量见表4
表4 主要成员变量 成员变量描述 变量类型 名称 是否运动 boolean isRun 蛇体 ArrayListNode Body 食物 Node Food 方向 int Derection 分数 int Score 状态 int Status 速度 int Speed 慢 public static final int SLOW
您可能关注的文档
- 6000Nm3每h焦化厂焦炉煤气脱硫工段设计.doc
- 600MW冲动式低压缸设计方案汽轮机课程设计说明方案.doc
- 600MW火电厂初步设计机务部分局部设计.doc
- 600PSI浮动球球阀设计开题答辩.ppt
- 60大寿生日寿辰宴会活动策划资料.ppt
- 60生日寿宴策划资料.ppt
- 6S推行资料介绍.doc
- 6气态污染物控制设备设计2.ppt
- 6浓差电池原电池的设计电池电动势的应用.pptx
- 6电子课程设计数字钟.doc
- 山西省百校联考2023-2024学年高二下学期7月期末考试英语试卷(不含音频,答案不全) - 原卷.pdf
- 甘肃省天水市张家川县2023-2024学年高二下学期6月联考历史试卷(含答案).pdf
- 成都市石室成飞中学2024-2025学年下期五月月考高2023级地理试卷.pdf
- 部编人教版八年级语文下册期末复习古诗 文言文理解性默写合集练习(含答案).pdf
- 上海市浦东新区浦东北2024-2025学年七年级下学期期末考试英语试卷(含答案,无听力原文及音频).pdf
- 西安市长安区第一中学2024-2025学年高一下学期第一次教学质量检测英语试卷(含答案,无听力原文及音频).pdf
- 哈尔滨市第九中学校2024-2025学年高一下学期6月考试英语试卷(含答案,无听力原文及音频).pdf
- 重庆市育才中学2025届高三全真模拟考试政治试卷.pdf
- 江西省南昌市第二十八中学教育集团2024-2025学年七年级下学期期中生物试题 (含答案).pdf
- 辽宁省朝阳市多校2024-2025学年高一下学期6月联合考试政治试卷(含答案).pdf
最近下载
- 浙江省杭州市八县区2023-2024学年八年级下学期期末考试道德与法治试卷(含答案).pdf VIP
- 串联盘式励磁磁力制热系统及其制热方法.pdf VIP
- 西安交通大学23春“法学”《科技法学》平时作业试题库附答案.docx VIP
- 2025最新消毒技能竞赛个人竞赛试题(+答案).docx VIP
- 2025年班组长综合管理技能竞赛理论考试题库500题(含答案).doc VIP
- 《高性能纳米保温材料》课件.ppt VIP
- 学龄前儿童感觉处理测量量表的汉化及信度与效度研究.PDF VIP
- 跨学科项目式学习背景下,人工智能在小学科学教育中的应用教学研究课题报告.docx
- 霍兰德职业兴趣测试量表及答案对照表.docx VIP
- 浙江省消防技术规范难点问题操作技术指南-2025修订稿(定稿).pdf VIP
文档评论(0)