java课程设计贪吃蛇游戏设计asd

上传人:第*** 文档编号:56209082 上传时间:2018-10-10 格式:PDF 页数:13 大小:256.08KB
返回 下载 相关 举报
java课程设计贪吃蛇游戏设计asd_第1页
第1页 / 共13页
java课程设计贪吃蛇游戏设计asd_第2页
第2页 / 共13页
java课程设计贪吃蛇游戏设计asd_第3页
第3页 / 共13页
java课程设计贪吃蛇游戏设计asd_第4页
第4页 / 共13页
java课程设计贪吃蛇游戏设计asd_第5页
第5页 / 共13页
点击查看更多>>
资源描述

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

1、1前言前言Java 最初被命名为 Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun 放弃了该项计划。就在 Oak 几近失败之时,随着互联网的发展,Sun 看到了 Oak 在计算机网络上的广阔应用前景。于是改造了 Oak,以“Java”的名称正式发布。Java 编程语言的风格十分接近 C、C+语言。Java 是一个纯的面向对象的程序设计语言,它继承了 C+ 语言面向对象技术的核心。Java 舍弃了 C +语言中容易引起错误的指针(以引用取代)、运算符重载(operator overl

2、oading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效

3、率。但在J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。2正文正文1.1 课程设计目的课程设计目的JAVA 程序设计是计

4、算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。 本课程的程序设计专题实际是计算机相关专业学生学习完JAVA 程序设计课程后,进行的一次全面的综合训练,JAVA 程序设计的设计目的是加深对理论教学内容的理解和掌握, 使学生较系统地掌握程序设计及其在网络开发中的广泛应用, 基本方法及技巧, 为学生综合运用所学知识, 利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。2.1 工程概况工程概况2.1.1 案例提出及工程用时案例提出及工程用时经过两天在图书馆以及网络上查阅的资料,然后提出这次课程设计的目标贪吃蛇游戏的设计。然后接下来就是查阅更多的

5、资料,制定接下来的详细计划,最终计划用两周的时间完成此次课程设计提出的案例。2.1.2 开发环境开发环境硬件环境:硬件环境:CPU:Intel Pentium(R)4主频:2.40GHz内存:256MB软件环境:软件环境:操作系统:Windows XP编程环境: JDK 1.6开发工具:Eclipse jdk33.1 设计方案论证设计方案论证3.1.1 设计思路设计思路贪吃蛇游戏设计与实现,主要分为以下二个模块:游戏主界面模块和游戏控制模块。在此只实现游戏的游戏主界面模块、游戏控制模块。并且只是实现移动速度、暂停、重新开始等功能。游戏主界面模块:游戏的主界面是进入游戏后, 能够给玩家第一感官的

6、部分, 主要包括游戏图形区域界面、游戏的速度选择更新界面、新生方块的预览、暂停游戏按钮、重新开始游戏按钮。从很大程度上决定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观,爽心悦目。游戏控制模块:这个模块是游戏的中心环节,主要完成控制游戏的开始、暂停、重新开始等功能。为了能够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作。本设计所开发的是基于 Java 的一个贪吃蛇游戏软件,主要实现游戏的速度控制、游戏的暂停、游戏的退出等功能,分为: 游戏主界面模块、游戏控制模块以二个模块。3.1.2 程序概述程序概述本程序是一个利用 Java 应用软件制作的贪食蛇小游戏。在游戏过程中,用户通过点

7、击小键盘区的方向键来控制蛇的运行方向;游戏运行过程中,如果想暂停,只需要按 F3 键即可。重新开始游戏的按键为 F2。当蛇没有吃到食物且碰到墙壁或自己的身体时游戏结束。本程序的另一个功能是在程序运行窗口的左上角显示,用户在游戏过程中的移动和长度。3.1.3 程序流程图程序流程图本次游戏设计的处理流程如图 1 所示。4单击“F2”按钮, 游戏开始,蛇开始随机。键盘操作:向上左移右移向下没有吃到食 物且蛇碰到 边界单击“确定” 游戏结束游戏中途欲中 断,稍后继续 游戏单击“F3 暂停游 戏”进入游戏画面再次单击开始 F3 按钮, 游戏恢 复图图 1.1.程序流程图程序流程图3.1.4 总设计模块的

8、划分总设计模块的划分根据游戏需求中游戏所要实现的功能,整个游戏分为二个模块进行具体的设计,如图 2所示。5贪吃蛇游戏游戏主界面模块游戏控制模块图图 2.2.设计总模块设计总模块游戏控制模块的主要框架如图 3 所示。游戏控制模块游戏的暂停功能游戏的重新开始游戏的退出图图 3.3.控制模块框架控制模块框架游戏暂停控制:点击“F3”按钮,游戏暂停;再单击,游戏继续。游戏重新开始控制:点击“F2”键后,点击确定,即游戏重新开始。游戏退出控制:点击“F4”键好,点击确定,退出游戏界面。63.1.5 类、方法、属性说明类、方法、属性说明(1)成员变量表表 1 1 主要成员变量(属性)主要成员变量(属性)成

9、员变量描述成员变量描述变量类型变量类型名称名称文件菜单中子菜单 “新建”JMenuItemmFile_New编辑菜单中子菜单 “撤消”JMenuItemmEdit_Undo格式菜单中子菜单 “颜色”JMenuformatMenu_Color帮助菜单中子菜单 “帮助主题”MenuItemmHelp_HelpTopics(2)方法表表 2 2 主要方法主要方法方法名方法名功能功能备注备注Notepad4()描述记事本无Text.setBackground(Color.black)设置编辑区默认背景色无Text.setForeground(Color.black)设置编辑区默认前景色无4.1 设计结

10、果与分析设计结果与分析本程序在运行后,能够正常的相应按键事件。由于程序的主要部分已经集成为一个对象 SnakeModel,所以利用键盘就可以实现操作。蛇前行的过程中,可以任意向其左或右方向改变方向。点击 F3 键后游戏就暂停了。点击 F2 键游戏重新开始。点击 F4 游戏退出。运行结果如下图 4 所示:7图图 4 4 程序运行图程序运行图当蛇没有吃到食物且碰到边界或碰撞到自己的身体时, 游戏结束。 如果想重新开始即点击“确定”后按 F2 键,运行结果如下图 5 所示:图图 5 重新开始图重新开始图84.1.1 程序异常处理程序异常处理在蛇的运行线程过程中, 当蛇撞到墙或自己的身体时, 将抛出一

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

12、好地升华,理论与实际得到一次很好的结合,为我今后参加工作打下了坚实的基础,使我受益匪浅。参考文献参考文献1赵文靖编著.Java 程序设计基础与上机指导.北京:清华大学出版社,20062赵毅主编.跨平台程序设计语言Java.西安:西安电子科技大学出版社,3王路群.Java 高级程序设计.北京:中国水利水电出版社,20064雍俊海编著.Java 程序设计习题集.北京:清华大学出版社,20065朱福喜编著.Java 语言习题与解析.北京:清华大学出版社,20066吴其庆编著.Java 程序设计实例教程.北京:冶金工业出版社,20069程序代码:程序代码:importimport java.awt.*

13、; importimport javax.swing.*; importimport java.util.*; importimport java.awt.event.*;publicpublic classclass She extendsextends JFrame implementsimplements ActionListener, WindowListener JLabel bt1; JLabel bt2; MyPaint mp; JMenuItem kaishi; JMenuItem zanting; JMenuItem tuichu;JRadioButton chu; JRad

14、ioButton zhong; JRadioButton gao; JRadioButton chao;JMenuItem guanyu; Font f; publicpublic She() f = newnew Font(“宋体“, Font.PLAIN, 12); mp = newnew MyPaint(); mp.setShe(thisthis);JMenuBar caidan = newnew JMenuBar(); JMenu shezhi = newnew JMenu(“设置“); shezhi.setFont(f); JMenu nandu = newnew JMenu(“难度

15、“); nandu.setFont(f); JMenu bangzhu = newnew JMenu(“帮助“); bangzhu.setFont(f); caidan.add(shezhi); caidan.add(nandu); caidan.add(bangzhu);kaishi = newnew JMenuItem(“开始游戏 F2“); kaishi.setFont(f); kaishi.addActionListener(thisthis);zanting = newnew JMenuItem(“暂停/继续 F3“); zanting.setFont(f); zanting.add

16、ActionListener(thisthis); tuichu = newnew JMenuItem(“退出 F4“); tuichu.setFont(f); tuichu.addActionListener(thisthis);chu = newnew JRadioButton(“初级,最快速 度195“, truetrue); chu.setFont(f); chu.addActionListener(thisthis); zhong = newnew JRadioButton(“中级,最快 速度225“); zhong.setFont(f); zhong.addActionListener(thisthis); gao = newnew JRadioButton(“高级,最快速 度255“); gao.setFont(f); gao.addActionListener(thisthis); chao = newnew JRadioButton(“超级,最快 速度275“); chao.setFont(f); chao

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

最新文档


当前位置:首页 > 办公文档 > 活动策划

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