龟兔赛跑课程设计(10信计2班陈杰20100406228)

上传人:笛音 文档编号:16380187 上传时间:2017-09-05 格式:PDF 页数:23 大小:793.17KB
返回 下载 相关 举报
龟兔赛跑课程设计(10信计2班陈杰20100406228)_第1页
第1页 / 共23页
龟兔赛跑课程设计(10信计2班陈杰20100406228)_第2页
第2页 / 共23页
龟兔赛跑课程设计(10信计2班陈杰20100406228)_第3页
第3页 / 共23页
龟兔赛跑课程设计(10信计2班陈杰20100406228)_第4页
第4页 / 共23页
龟兔赛跑课程设计(10信计2班陈杰20100406228)_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《龟兔赛跑课程设计(10信计2班陈杰20100406228)》由会员分享,可在线阅读,更多相关《龟兔赛跑课程设计(10信计2班陈杰20100406228)(23页珍藏版)》请在金锄头文库上搜索。

1、10信计 2011-2012(二) Java程序设计课程设计设计题目 龟兔赛跑设计时间 2012.6.18 至 2012.6.24 学生姓名 陈杰学生学号 20100406228 所在班级 10 信计 2 指导教师 刘 风 华徐 州工程学院数学与物理科学学院成 绩徐州工程学院课程设计报告摘要本次课设我选择的是龟兔赛跑游戏的制作。这个游戏实际上主要是对我们 JAVA 学习中的线程部分的考察, 尤其是多线程的定义、 运行, Java 小程序的编写, 图形界面的实现,Java 小程序中背景音乐的插入等。 同时还要保证游戏有一个真实的操作界面和人性化操作设计,所以我在设计过程中重点强调了对线程部分内容

2、的复习和实践。在设计龟兔赛跑这个游戏中我们也遇到了技术上的一些困难,但通过查资料、阅读大量的文献最终问题得以解决。正如龟兔赛跑这个故事一样,虽然我在技术上不是很优秀,但我有像乌龟一样坚持不懈的精神,最终胜利到达终点。关键字 Java 小程序;多线程;图形界面;画图;背景音乐徐州工程学院课程设计报告目 录1 需求分析 1 1.1 图形用户界面 1 1.2 动态画面 1 1.3 图片切换 1 1.4 字符切换 1 1.5 背景音乐设置 1 1.6 比赛场地的设置 1 2 设计方法及设计方案 2 2.1 设计良好游戏界面 2 2.2 线程类的设计 23 系统设计 4 4 系统的开发和运行环境及安装配

3、置说明 7 4.1 在 DOS命令行界面中编译运行 7 4.2 在 Textpad 界面中编译运行 7 4.3 文件打包存放 7 5 系统实现 8 5.1 登陆界面 8 5.2 赛跑界面 8 6 总结与心得体会 11 参考文献 12 附录 13 徐州工程学院课程设计报告1 需求分析1.1 图形用户界面在兔子乌龟比赛之前,显示界面如右图:通过在 Java Application 或者 Applet 中添加标签、按钮、面板等组件来显示本软件基本信息, 以及操作命令 (进入游戏、 退出游戏) 。1.2 动态画面创建多线程,至少是一只兔子和一只乌龟的线程,兔子可能睡觉也可能不睡觉,乌龟不睡觉,兔子睡觉

4、的时间、兔子的速度、乌龟的速度、随机,但总体总体速度比乌龟快。1.3 片切换当兔子睡觉或先到终点或乌龟先到终点的时候切换画面。1.4 符切换适时切换图片下面的字幕。1.5 景音乐设置插入符合主题的背景音乐。1.6 赛场地的设置画出圆角矩形比赛场地、 直线跑道、 终点线, 通过使用 java 中、 drawLine 、 drawImage、drawString 、 drawRoundRect 等命令来实现图形用户界面,同时通过设置布局,背景,字体等来丰富界面,最大程度的模拟龟兔赛跑的场地。徐州工程学院课程设计报告2 设计方法及设计方案2.1 设计良好游戏界面功能:实现基本的开始、退出游戏功能、选

5、择游戏模式等基本步骤:在实现过程中会遇到的问题及解决方案:1背景面板上加载图片时需要重写 paint 方法2布局根据需要设置( BorderLayout 或 FlowLayout FowLayout )3添加背景面板监听重置各面板位置才能实现窗口放大时的相对位置不变2.2 线程类的设计功能:实现乌龟,兔子的多线程运行具体步骤:button 胜利信息的呈现兔子标签选择按钮提示模式信息呈现用于选择不同的比赛模式开始按钮退出按钮添 加ItemSelect label panelRRTT extends Applet 添 加乌龟标签徐州工程学院课程设计报告第二步会遇到的问题及解决方案:1.建立兔子线程

6、, 继承接口 Runnable并正确的实现 run()方法。 同时要特别注意兔子在比赛中还要模拟睡觉的动作。2.建立乌龟线程,继承接口 Runnable并实现其 run()方法,要与兔子多线程运行;3.为了实现可选择多只龟兔进行赛跑,要实现多个兔子,乌龟线程,并能并发运行。4.游戏中提供了模式选择的功能,通过建立 ItemSelect类来建立不同的游戏模式。class RRTT 类(是主类, 继承JApplet 主要用于 初始界 面的显示, 调用线程类对象)Frame 类的子类 frame RabbitThread 线程Applet 的子类 RRTT TortoiseThread线程Canva

7、s类的子类 Imagecanvas,设置画布ItemSelect类徐州工程学院课程设计报告3 系统设计龟兔赛跑程序主要由以下几个模块构成:模块一:初始图形界面模块public class RRTT extends Applet implements ActionListener Graphics g; Panel panel; Label label1,label2,label3; Button button1,button2; RabTor1 rabTor1; public void init()/Applet 中的初始化函数有类中构造函数的作用 ! 最先调用 ! panel=new Pan

8、el(); panel.setLayout(new FlowLayout(); label1=new Label( 欢迎使用该软件 ,1.0 版本,不足之处,请多多指教! ); label2=new Label(* 东瑞制作 * 程序员 * 陈杰 *); label3=new Label(); button1=new Button( 进入游戏 ); button2=new Button( 退出游戏 ); button1.addActionListener(this); button2.addActionListener(this); setLayout(new BorderLayout();

9、panel.add(button1); panel.add(label3); panel.add(button2); add(label1,BorderLayout.NORTH); add(label2,BorderLayout.SOUTH); add(panel,BorderLayout.CENTER); public void actionPerformed(ActionEvent e) if(e.getSource()=button1) rabTor1=new RabTor1(); /dispose(); else if(e.getSource()=button2) 徐州工程学院课程设计

10、报告 System.exit(0); 该模块主要是用来提供进入该程序游戏的初始图形用户界面,显示该程序的基本信息,提示用户进行操作。模块二:兔子线程模块该模块主要是实现兔子运行线程, 类 RabbitThread 继承了接口 Runnable 并实现其方法 run() ,主要有两个功能的实现:1. 来为兔子定义随机速度x1=x1+(int)(Math.random()*30); 2. 兔子动的实现方法if(threadName.equals(rabbit)&x1140&x2255&x2480&x1 ( 3)在 DOS命令行执行:C:1000appletviewer Boy.html 4.2 在

11、 Textpad 界面中编译运行该程序在 Textpad 中编译运行比较方便,步骤如下:找到文件“单击右键”“单击 Textpad ”打开工具“编译”正确无误后单击工具中的“运行( Applet ) ”4.3 文件打包存放由于该程序中需要导入一些图片、音频文件,故在编译运行该程序时要将所需文件放在同一文件夹下,以便程序能够找到。徐州工程学院课程设计报告5 系统实现5.1 登陆界面图所示登陆图形用户界面5.2 赛跑界面(兔子在睡觉,乌龟跑到了前面)徐州工程学院课程设计报告(兔子到了终点嘲笑乌龟跑得慢)(乌龟先到了终点,兔子在埋怨呢)徐州工程学院课程设计报告(最后冲刺,兔子赢了,乌龟挺到了最后,坚

12、持就是胜利)(兔子和乌龟走的步数)徐州工程学院课程设计报告6 总结与心得体会本系统是一个基于多线程模式的龟兔赛跑小游戏,系统的规模很有限,功能实现也相对简单,但作为一个完整的系统,在整个过程中我还是学到了不少的知识,也对 java 语言有了较深的体会。通过本次课设试验在试验过程中,我不断的尝试,不断的修改错误,遇到问题,查找资料,解决问题,终于明白了程序员生活中天堂与地狱的感觉是什么了。虽然这个过程很苦,但我对 java 的熟练程度得到了很大的提升,对包括多线程在内的 java 语言高级技术掌握的也更加熟练了,更对面向对象的分析思想,面向对象的设计方法有了直观的体会。同时,在游戏的制作过程中要

13、用到很多课本上并未介绍到的知识,如当我遇到如何在一个Japplet 类中创建另外一个 Applet 类的对象并运行线程的问题时, 我纠结了很久没能找到解决办法,最终通过上网问百度,不断尝试,不断错,在不断改,终于解决了。通过网络学习使得自己对该部分的知识有了更广泛更深刻的体会。本次系统的功能相对还比较单一,由于时间原因选择模式、以及游戏最后结束时的提示界面没来得及实现、游戏相对单调,缺乏趣味性,离一个真正的游戏软件还相差很远,以后如有时间,可以考虑去做一个真正的游戏软件,来锻炼自己,相信我会做得更好!徐州工程学院课程设计报告参考文献1 耿祥义 .Java 2 实用教程 . 北京:清华大学, 2

14、006-8 2 陈轶 . 姚晓昆编著 .Java 程序设计实验指导 . 北京:清华大学出版社, 2006 3 赵毅主编 . 跨平台程序设计语言 Java. 西安:西安电子科技大学出版社, 2006 4 美 Rogers Cadenhead. Java 编程入门经典 . 梅兴文译 . 第 4 版 . 北京:人民邮电出版社, 2007 徐州工程学院课程设计报告附录源代码:import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import javax.swing.JApplet; import java.awt.*; import java.awt.e

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

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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