ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:451.31KB ,
资源ID:5247397      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5247397.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(龟兔赛跑游戏设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

龟兔赛跑游戏设计.docx

1、龟兔赛跑游戏设计*实践教学* 兰州理工大学计算机与通信学院2014年春季学期 工程开发综合训练 课程设计说明书题 目: 龟兔赛跑游戏设计与实现 专业班级: 计算机科学与技术11级4班 * * * * 学 号: * * * 成 绩: 摘 要本次课设我的题目是龟兔赛跑游戏设计与实现。而这个游戏本身实际上主要是对我们JAVA学习中的线程部分的运用,尤其是多线程的定义、运行,Java小程序的编写,图形界面的实现,Java小程序中图片的插入等。同时还要保证此游戏有一个较真实的操作界面和人性化操作设计,所以我在设计过程中重点强调了对线程部分内容的复习和实践。 在设计龟兔赛跑这个游戏中我也遇到了许多的困难,

2、但通过查资料、阅读大量的文献、向老师请教以至于最终问题得以解决。正如龟兔赛跑这个故事一样,虽然我在技术上不是很优秀,但是我不会就此放弃,我会继续努力的学习知识来完善自身的技术。 关键词:Java小程序;多线程;图形界面;画图;背景音乐1.问题描述对于龟兔赛跑系统来说,开发的总体任务是实现游戏的可操作性、美观性、及时性。 开发过程遵循软件工程规范,可采用结构化或面向对象分析设计方法。最主要是对学生多线程编程、游戏方案设计、游戏背景及动漫制作等能力进行培养锻炼和对所学的知识进行加深理解,同时还要求保证游戏有比较一个真实的操作界面和人性化操作设计。另外,通过该题目的设计过程,可以初步应用软件系统的开

3、发原理和开发方法,全面培养软件开发过程中的分析、设计、编码、测试及文档规范书写的能力,加深所学的知识,得到软件工程的训练,提高解决实际问题的能力。2.系统设计本系统采用多线程机制来完成,主要有界面模块,乌龟模块和兔子模块1.功能:实现基本的开始、退出游戏功能、选择游戏模式等基本运行步骤:登陆界面在其上添加比赛结束 胜利者 龟兔比赛模块一开始图2-1在实现过程中会遇到的问题及解决方案:1背景面板上加载图片时需要重写paint方法2布局根据需要设置(BorderLayout或FlowLayout FowLayout)3添加背景面板监听重置各面板位置才能实现窗口放大时的相对位置不变2各模块.功能:实

4、现乌龟,兔子的多线程运行具体的步骤:图2-2第二步会遇到的问题及解决方案:1.建立兔子线程,继承接口Thread并正确的实现move()方法。2.建立乌龟线程,继承接口Thread并实现其move()方法,要与兔子多线程运行;3.为了实现可选择多只龟兔进行赛跑,要实现多个兔子,乌龟线程,并能并发运行。4.游戏中提供了模式选择的功能,通过建立ItemSelect类来建立不同的游戏模式。5.游戏中提供了每个模式重新开始的功能,实现模块重新开始move()方法。3.系统实现龟兔赛跑程序主要由以下几个模块构成:模块一:初始图形界面模块private Button quit = new Button(退

5、出); private Button stop = new Button(暂停); private Button restart1 = new Button(重新开始1); private Button restart2 = new Button(重新开始2); private Button model1_start = new Button(模式1开始); private Button model2_start = new Button(模式2开始);JLabel l=new JLabel();该模块主要是用来提供进入该程序游戏的初始图形用户界面,显示该程序的基本信息,提示用户进行操作。模块

6、二:兔子线程模块private double xdir = 10; private boolean running = false; private SevenPointTwo spt = null; protected double x, y;private int flag1=0;Image tu = Toolkit.getDefaultToolkit().getImage(srctu.png); public Tu(SevenPointTwo _spt, double _x, double _y) spt = _spt; x = _x; y = _y;确定兔子的随机速度,并时刻的显示兔子

7、的位置。并不只是一只兔子,而是所有的兔子。模块三:乌龟线程模块private double xdir = 5; private boolean running = false;private SevenPointTwo spt = null; protected double x, y;public int flag1=0;Image gui = Toolkit.getDefaultToolkit().getImage(srcgui.png); public Gui(SevenPointTwo _spt, double _x, double _y) spt = _spt; x = _x; y

8、= _y; 确定乌龟的随机速度,并时刻的显示兔乌龟的位置。并不只是一只乌龟,而是所有的乌龟。模块四:画布界面的设置与布局private static final long serialVersionUID = 1L; private Button quit = new Button(退出); private Button stop = new Button(暂停); private Button restart1 = new Button(重新开始1); private Button restart2 = new Button(重新开始2); private Button model1_sta

9、rt = new Button(模式1开始); private Button model2_start = new Button(模式2开始);JLabel l=new JLabel(); private Tu tuzi; private Tu1 tuzi1; private Gui wugui; private Gui1 wugui1; Image tu = Toolkit.getDefaultToolkit().getImage(srctu.png); Image gui = Toolkit.getDefaultToolkit().getImage(srcgui.png); public

10、SevenPointTwo() super(龟兔赛跑); setLayout(new FlowLayout(); super.setBackground(Color.GRAY); int tx = 950; int ty = 200; tuzi = new Tu(this, tx, ty); tuzi1=new Tu1(this,tx,ty+70); wugui = new Gui(this, tx, ty+140); wugui1 = new Gui1(this,tx,ty+210); add(model1_start); model1_start.addActionListener(thi

11、s); add(restart1); restart1.addActionListener(this); add(model2_start); model2_start.addActionListener(this); add(restart2); restart2.addActionListener(this); add(stop); stop.addActionListener(this); add(quit); quit.addActionListener(this); validate(); setSize(1000, 600); setVisible(true); addWindow

12、Listener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); );此模块是显示初进时的登陆界面,显示总共的比赛选手,和比赛的模式、暂停、结束。4.系统测试对代码进行编译,按动界面上的按钮,观察乌龟和兔子的动作。确保程序的正确性和可行性。并多次编译观察结果是否为随机。4.1初始界面登陆图4-14.2模块一运行图4-24.3模块一结束、显示胜利者图4-34.4模块二运行图4-44.5模块二结束、显示胜利者图4-54.6暂停图4-64.7退出图4-7按动退出按钮时,程序关闭运行,界面消失。5

13、.总结我所做的一个基于多线程模式的龟兔赛跑小游戏,系统的规模大小很有限,实现的功能也很简单,但还算是一个完整的系统,在整个课程设计过程中我还是学到了不少的知识,也对以前所学的知识有了更多的了解,并且对java语言有了较深的体会。通过本次课设试验在试验过程中,虽然刚开始什么都不会,但是我不断的尝试,不断的修改错误,遇到问题,查找资料,请教老师,并解决问题,终于明白了每个功能模块的作用。虽然这个过程很苦,但我对java的熟练程度得到了很大的提升,对包括多线程在内的java语言高级技术掌握的也更加熟练了,更对面向对象的分析思想,面向对象的设计方法有了直观的体会。同时,在游戏的制作过程中要用到很多课本

14、上并未介绍到的知识,如当我遇到如何在一个Japplet类中创建另外一个Applet类的对象并运行线程的问题时,我纠结了很久没能找到解决办法,最终通过上网问XX,不断尝试,不断错,在不断改,终于解决了。通过网络学习使得自己对该部分的知识有了更广泛更深刻的体会。 由于知识有限,本次的游戏制作有些简单,还有时间的原因以至于兔子领先的时候睡觉的程序并没有设计完,所以显得游戏相对单调,离一个真正的游戏软件还相差很远,以后如有时间和精力,可以考虑去做一个真正的游戏软件,来锻炼自己,相信我会做得更好!参考文献1. 张海藩.软件工程导论(第四、五版)M.北京:清华大学出版社, 2008.2. Cay S an

15、d Gary C. Java2 核心技术 (卷 1: 基础知识)M. 机械工业出版社, 2003. 3.邓光伟, 李阿午, 朱志. Java 2 核心技术 (卷 2: 高级特性)M. 机械工业出版社, 2000.4. Liberty J. Programming C#: Building. Net applications with C#M. OReilly Media, 2009.5.耿祥义.Java 2 实用教程.北京:清华大学,2006-86.陈轶.姚晓昆编著.Java程序设计实验指导.北京:清华大学出版社,20067.赵毅主编.跨平台程序设计语言Java.西安:西安电子科技大学出版社,20068.美Rogers Cadenhead. Java编程入门经典.梅兴文译.第4版.北京:人民邮电出版社,2007

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1