java课程设计贪吃蛇小程序附代码

上传人:第*** 文档编号:62119935 上传时间:2018-12-17 格式:PDF 页数:17 大小:248.56KB
返回 下载 相关 举报
java课程设计贪吃蛇小程序附代码_第1页
第1页 / 共17页
java课程设计贪吃蛇小程序附代码_第2页
第2页 / 共17页
java课程设计贪吃蛇小程序附代码_第3页
第3页 / 共17页
java课程设计贪吃蛇小程序附代码_第4页
第4页 / 共17页
java课程设计贪吃蛇小程序附代码_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《java课程设计贪吃蛇小程序附代码》由会员分享,可在线阅读,更多相关《java课程设计贪吃蛇小程序附代码(17页珍藏版)》请在金锄头文库上搜索。

1、枣枣 庄庄 学学 院院 信息科学与工程学院信息科学与工程学院 课程设计任务书课程设计任务书 题目:贪吃蛇小程序的设计与开发 学号: 姓名: 专业:计算机科学与技术 课程:java 程序设计 指导教师:刘职称:讲师 完成时间: 2012 年5 月-2012 年6 月 枣庄学院信息科学与工程学院制 1 课程设计任务书及成绩评定课程设计任务书及成绩评定 课程设计的任务和具体要求课程设计的任务和具体要求 1、课程设计的任务:利用所学知识开发一个 java 贪吃蛇小游戏; 2、课程设计的具体要求: (1)界面美观大方,操作简单便捷,按键布局美观。 (2)实现贪吃蛇游戏的左右拐弯,增长等基本游戏功能。 (

2、3)程序能正确运行,操作无错误。 (4)要求所撰写的课程设计任务书的内容和格式符合要求。 指导教师签字:日期: 指导教师评语指导教师评语 成绩:指导教师签字:日期: 2 课程设计所需软件、硬件等课程设计所需软件、硬件等 硬件CPU:Intel T2080D-0内存:2G硬盘空间:320G 软件操作系统:Windows XP开发软件:jdkeclips 课程设计进度计划课程设计进度计划 起至日期起至日期工作内容工作内容备注备注 2012.5.15.15 2012.6.16.10 2012.6.116.15 2012.6.166.20 确定课题并收集资料 整体规划并进行初步定位 编写程序代码并进行

3、试验 撰写课程设计任务书 参考文献、资料索引参考文献、资料索引 序号文献、资料名称编著者出版单位 1Java 语言程序设计 (第二版)李尊朝,苏军中国铁道出版社 2java 大学基础教程 (第六版)刘晓莉电子工业出版社 3Java 编程思想 (第四版)埃史尔(美) ,译者:陈昊鹏 机械工业出 版社 目录 第 1 章 引言1 1 1.1 研究的背景1 1.2 研究目的和意义1 第 2 章 设计方案论证2 2 2.1 设计思路2 2.2 概要设计2 2.3 详细设计3 第 3 章 设计结果与分析7 7 第 4 章 心得体会9 9 附录 试验代码1010 1 第第 1 1 章章 引言引言 1.1 研

4、究的背景 JAVA 程序设计是计算机相关专业的必修专业基础课程,其实践性、应 用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题 实际是计算机相关专业学生学习完JAVA 程序设计课程后,进行的一次全面 的综合训练,JAVA 程序设计的设计目的是加深对理论教学内容的理解和掌握, 使学生较系统地掌握程序设计及其在网络开发中的广泛应用, 基本方法及技巧, 为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用 方面打下一定基础。 1.2 研究目的和意义 这次课程设计是通过 JAVA 编程来实现计算器的功能。以前,人们用来计算 的工具不管从方便的角度还是速度的角度来看都

5、不及现代计算器,计算器的发 明是人类进步的有力证明。 电子技术的不断发展使得计算器的功能不断的完善。 人们通过使用计算器来提高自己的工作效率,计算器是高科技的产物,是以往 任何时代都无法比拟的。在二十一世纪的今天,计算器依然是人们重要的计算 工具,所以,对计算器的研究的课程设计具有重大意义。 本次课程设计题目主要应用到JAVA面向对象程序设计语言中Swing组件和 GUI(图形用户界面)当中的一些知识,当然也用到 JAVA 中大部分基础知识,如 JAVA 的基本控制结构、数组、输入与输出等等 。 2 第第 2 2 章章 设计方案论证设计方案论证 2.1 设计思路 贪吃蛇游戏设计与实现,主要分为

6、以下二个模块:游戏主界面模块和游戏 控制模块。在此只实现游戏的游戏主界面模块、游戏控制模块。并且只是实现 移动速度、暂停、重新开始等功能。 游戏主界面模块: 游戏的主界面是进入游戏后,能够给玩家第一感官的部分,主要包括游戏 图形区域界面、游戏的速度选择更新界面、新生方块的预览、游戏速度控制按 钮、暂停游戏按钮、重新开始游戏按钮以及游戏排行榜按钮。从很大程度上决 定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观,爽心悦目。 游戏控制模块: 这个模块是游戏的中心环节,主要完成控制游戏的速度、暂停、重新开始 等功能。为了能够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作。 本设计所开发

7、的是基于 Java 的一个贪吃蛇游戏软件, 主要实现游戏的速度 控制、游戏的暂停、游戏的退出等功能,分为: 游戏主界面模块、游戏控制模 块以二个模块。 性能: 本软件在设计方面本着方便、实用及娱乐性高的宗旨,在对界面进行设计 的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。 2.2 概要设计 自定义类说明 类名:Exception 作用:用来处理当蛇撞到墙或自己的身体时程序的运行 继承的父类:GreedSnake 类 3 实现的接口:没有 2.3 详细设计 2.3.1 程序流程图 本次游戏设计的处理流程如图 2-1 所示。 单击“Enter、S 或 R”按 钮, 键盘操作

8、: 向上 左移 右移 向下 没 有 吃 到 食 物 且 蛇 碰到边界 单击“确定” 游戏结束 游戏中途欲 中断,稍后 继续游戏 单击“Space 或 P 暂停游戏” 进入游戏画面 再次单击开始 Enter、S 或 R 按钮,游戏恢 图 2-1 游戏处理流程 4 2.3.2 程序概述 本程序是一个利用 Java 应用软件制作的贪食蛇小游戏。 在游戏过程中,用户通过点击小键盘区的方向键来控制蛇的运行方向;通 过 Pageup 和 pagedown 键来控制蛇的移动速度,每单击一次,蛇的移动速度改 变一次,改变频率为 0.75。游戏运行过程中,如果想暂停,只需要按 Space 或 P 键即可。重新开

9、始游戏的按键为 Enter、S 或 R。当蛇没有吃到食物且碰到墙 壁或自己的身体时游戏结束。 本程序的另一个功能是在程序运行窗口的左上角显示,用户在游戏过程中 所得的分数,不过缺点是无法保存分数。 2.3.3 总设计模块的划分 根据游戏需求中游戏所要实现的功能,整个游戏分为二个模块进行具体的 设计,如图 2-2 所示。 贪吃蛇游戏 游戏主界面模块 游戏控制模块 图 2-2 游戏总设计模块 5 游戏控制模块的主要框架如图 2-3 所示。 游戏控制模块 游戏的移动速度功能 游戏的暂停功能 游戏的重新开始 图 2-3 游戏控制模块框架 游戏移动速度功能控制:点击“PageUp, PageDown”按

10、钮,蛇的移动速度就会 改变,每点击一次,速度的改变频率为 0.75。 游戏暂停控制:点击“Space 或 P 暂停游戏”按钮,游戏暂停;再单击,游戏 继续。 游戏重新开始控制:点击“Enter、S 或 R”键后,系统图重新载入,即游戏重 新开始。 2.3.4 类、方法、属性说明 1成员变量 表表 1 1 主要成员变量(属性)主要成员变量(属性) 成员变量描述成员变量描述变量类型变量类型名称名称 文件菜单中子菜 单“新建” JMenuItemmFile_New 编辑菜单中子菜 单“撤消” JMenuItemmEdit_Undo 格式菜单中子菜 单“颜色” JMenuformatMenu_Colo

11、r 帮助菜单中子菜 单“帮助主题” MenuItemmHelp_HelpTopics 6 2方法 表表 2 2 主要方法主要方法 方法名方法名功能功能备注备注 Notepad4()描述记事本无 Text.setBackground(Color.white)设置编辑区默 认背景色 无 Text.setForeground(Color.black)设置编辑区默 认前景色 无 7 第 3 章 设计结果与分析 本程序在运行后,能够正常的相应按键事件。由于程序的主要部分已经集 成为一个对象 SnakeModel,所以利用键盘就可以实现操作。蛇前行的过程中, 可以任意向其左或右方向改变方向,但按其前进方向

12、和前进的反方向都没有反 应。点击 PageUp, PageDown 键后,蛇的移动速度会根据点击的次数而改变。每 点击一次,速度的改变频率为 0.75。点击 Space 或 P 键后游戏就暂停了。点击 Enter 或 R 或 S 键后系统则重新载入,即游戏重新开始。运行结果如图 3-1 所 示: 图 3-1 程序运行图 8 当蛇没有吃到食物且碰到边界或碰撞到自己的身体时,游戏结束,此时得 分为 0。如果想重新开始即按 ENTER 或 S 键,运行结果如图 3-2 所示: 图 3-2 程序结束图 程序异常处理 在蛇的运行线程过程中,当蛇撞到墙或自己的身体时,将抛出一个 Exception 类的异

13、常对象,然后使用 try-catch 去捕捉这个异常, 异常的处理如下: try Thread.sleep(timeInterval); catch(Exception e) break; 9 第 4 章 心得体会 通过这次课程设计,我对这学期所学的 JAVA 语言程序设计有一个更 深刻的了解,将所学的知识应用于实践,由于所学知识有限,为了使游戏 能够实现自己预先的构想,我通过上网和去图书馆找程序,比较好的流程 图及功能模块,不断阅读修改代码使程序达到预期所要实现的目标,完成 课程设计后,可以感觉到自己对 Java 程序的又有了新的认识。 在做 Java 设计之前也有做过其他的课程设计,大多规

14、模很小。在数据库、 各种应用软件和游戏中,我仍觉得对游戏的设计有极大的热情。因为其各个模 块间的联系十分紧密,代码重复执行率高,当经过无数次的调试、修改后,能 最终看到成品,有无比自豪的心情。大学期间做过图书馆管理程序等简单的数 据库管理系统的课程设计,思想大致相似,变化范围有限,没有太多自己可发 挥的余地。综合运用以前所学习的知识,设计一个 JAVA 手机游戏,并能实现以 下的功能:游戏暂停、游戏重新开始、游戏的结束。总之,通过本次的课程设 计,使我平时学到的理论知识得到了很好地升华,理论与实际得到一次很好的 结合,为我今后参加工作打下了坚实的基础,使我受益匪浅。 10 附录 试验代码 im

15、port java.awt.*; import javax.swing.*; import java.awt.event.*; import java.util.*; public class SnakeGame extends JFrame implements KeyListener private int stat=1,direction=0,bodylen=6,headx=7,heady=8, tailx=1,taily=8,tail,foodx,foody,food;/初始化定义变量 public final int EAST=1,WEST=2,SOUTH=3,NORTH=4;/方向

16、常量 int fillblock=new int 2020;/定义蛇身所占位置 public SnakeGame() /构造函数 super(“贪吃蛇“); setSize(510,510); setVisible(true);/设定窗口属性 addKeyListener(this);/添加监听 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); for(int i=1;i19|headx19|tailx19|taily19|heady0|headx0|tailx0|taily0|fillblockheadxhe ady!=0) stat=0; break; /判断游戏是否结束 try Thread.sleep(150); catch(InterruptedException e)/延迟 fillblockheadxheady=direction; if(headx=foodx food=2;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号