- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
毕业设计(论文)-基于Java的坦克大战软件程序设计精选
华中科技大学文华学院
基于Java的坦克大战游戏软件程序设计
题目: 基于Java的坦克大战游戏的设计与实现
学 生 姓 名: 学号:
学 部 (系):_信息科学与技术学部_
专 业 年 级: _11级电子信息工程_
指 导 教 师: 职称或学位:_硕士_
2015年5月2日
摘 要
随着网络时代的到来,游戏产业出现了前所未有的繁荣。“贪吃蛇”、“俄罗斯方块”这些简单的游戏曾为一代游戏玩家所熟悉。随着网络通信技术的迅发展,更加有趣、更为生动的游戏层出不穷。本论文主要介绍了游戏的设计思路和实现过程。对背景的所有物体进行绘图关键字 - I -
Abstract - I -
第一章 程序结构、思想和相关技术 - 3 -
1.1 本程序需解决的有关技术问题 - 3 -
1.2 程序流程 - 4 -
1.3 绘图与事件监听以及线程技术和IO流编程 - 6 -
1.3.1 Graphics类 - 6 -
1.3.2 KeyListener监听机制 - 6 -
1.3.3 runnable实现线程 - 7 -
1.3.4 io流编程实现菜单功能 - 7 -
第二章 游戏的设计思路 - 8 -
2.1 画出坦克 - 8 -
2.2 坦克的控制和敌方的智能运行 - 8 -
2.3 子弹的运行和控制 - 9 -
2.4玩家成绩的记录 - 10 -
2.5游戏面板与菜单的设计 - 11 -
第三章 程序分析和实现过程 - 12 -
3.1 游戏进入前的面板设计分析 - 12 -
3.2 游戏逻辑函数及其涉及到的若干类 - 13 -
3.3 坦克的共同行为 - 15 -
3.4 玩家坦克的功能属性 - 16 -
3.5 敌人坦克的功能属性 - 16 -
3.6 子弹击中坦克的爆炸 - 18 -
3.7 记分系统 - 19 -
3.8 本章小结: - 21 -
第四章 总 结 - 21 -
4.1 本程序的总结和展望 - 21 -
4.2 经验和感想 - 22 -
参考文献 - 23 -
第一章 程序结构、思想和相关技术
1.1 本程序需解决的有关技术问题
1. 坦克大战是一个可大可小的游戏,想法灵活可以编写出很多功能,所以需要对程序的要求量应该是巨大的,但是其代码利用率很高,因此实际编写时也不需要太多的绞尽脑汁,可以利用各模块程序的相近性灵活运用。一个实时运行的最终作品,每秒都会运行成千上万行程序,绘图事件、键盘事件都会以极高的频率在后台等待响应,若有丝毫的差别都将很容易导致程序在运行不久后可能出现严重错误,甚至死循环。因此,其逻辑设计应当相当严谨,需将所有可能发生的事件及意外情况考虑在设计中。
2. 游戏中为了美观,适用性强以及操作的简便性,我们主要利用draw函数画出矩形,圆及线构成一辆Tank,同时画出子弹,敌方坦克可以直接引用之前画出的坦克,这样画图的问题就基本解决了。
3. 己方坦克的运行可以通过键盘响应事件控制,但敌方则因为是自动运行,就需要有一定其一定的智能性;同时,出现在屏幕上的敌方可能会有较多的数量,这需要为每个敌方开辟一个线程以便能让其独立运行。Java的多线程能力为实现这样的游戏提供了可能。敌人坦克的运行算法也需要进行适当的设置,以免游戏过于简单,单调。
4. 对于双方坦克发出的子弹的控制也需要对其跟踪控制,子弹也需要处在独立的线程中。敌方子弹仅需要扫描用户坦克,而用户坦克需要在每一步扫描所有的敌方坦克。这需要对所有的对象有较好的控制。另外,子弹在运行过程中也需要实时扫描是否碰撞到了相关障碍物或屏幕边界。同时为了游戏的公平性,己方坦克发出的子弹数量必须控制,不能一下发出太多颗。
5. 对于敌我双方的坦克在运动的过程中也需要考虑会不会发生碰撞也就是重叠状况体,也要考虑坦克碰到边缘时不能继续前进,以免跑出有效范围,每前进一步都需要将所有的周围环境进行严格的控制。
6. 游戏的结束、开始、动态画面等信息是构成一个完美程序必不可少的环节。良好的用户界面更是吸引用户的硬实力,为此必须要加入坦克爆炸的效果图以及游戏进行时的音效。
7. 用户运行游戏时需要有分数记录的可能。如何采用合理的记分标准,需要进行适当的设计。记录分数的存储方式也需要有较好的解决方案,可以利用IO流编程来实现将数据存入电脑硬盘中的某个文件中。
1.2 程序流程
本程序采用面向对象的设计模式,对游戏中的所有物体赋予对象的概念和属性。运行程序后允许用户选择执行选项菜单,在开始游戏后将先对背景的所有物体进行绘图。在主程序运行的线程中,画面刷新将以一定的频率采用双缓冲技术对屏幕重绘,实时反映整个游戏的进行状态。用户控制的坦克运行在主线程中,敌方坦克将在游戏开始时逐渐新增线程,每增加一个敌方坦克对象就新
您可能关注的文档
- 毕业设计(论文)-基于AT89C51单片机的防盗报警器的设计精选.doc
- 毕业设计(论文)-基于AT89C52单片机的自动浇花系统精选.doc
- 毕业设计(论文)-基于AT89S51单片机的交通灯设计精选.doc
- 毕业设计(论文)-基于AT89S51单片机的多功能病床呼叫系统精选.doc
- 毕业设计(论文)-基于AT89C52的数字温度计设计精选.doc
- 毕业设计(论文)-基于AT89C52模糊算法温控计精选.doc
- 毕业设计(论文)-基于AT89C51单片机的温度智能控制系统设计精选.doc
- 毕业设计(论文)-基于AT89S52单片机的毫欧表电路设计精选.doc
- 毕业设计(论文)-基于AT89S52单片机的智能晾衣架系统设计精选.doc
- 毕业设计(论文)-基于AT89S52单片机的数字温度计设计与仿真精选.doc
- 毕业设计(论文)-基于Java的仿QQ聊天系统精选.doc
- 毕业设计(论文)-基于Java的办公自动化系统精选.doc
- 毕业设计(论文)-基于Java的牙科门诊管理系统的设计与实现精选.doc
- 毕业设计(论文)-基于Java的飞机大战游戏开发精选.doc
- 毕业设计(论文)-基于JAVA语言的网络聊天系统开发与实现精选.doc
- 毕业设计(论文)-基于java的聊天系统的设计与实现精选.doc
- 毕业设计(论文)-基于JAVA的餐饮管理系统精选.doc
- 毕业设计(论文)-基于JSP(java)人事管理系统的设计和开发精选.doc
- 毕业设计(论文)-基于jsp(java)在线考试系统的设计和实现精选.doc
- 毕业设计(论文)-基于Java_Swing_和MySQL的企业进销存管理系统精选.doc
最近下载
- 高斯小学奥数含答案二年级(下)第06讲-扫雷游戏.pdf VIP
- 《景区运营与管理实务》课件——旅游景区管理要素.pptx VIP
- GB50171-2012 电气装置安装工程 盘、柜及二次回路接线施工及验收规范.pdf VIP
- 《工程制图》教学教案(1-10次课,合计50次课).doc VIP
- 统编版道德与法治九年级上册第三单元《文明与家园》作业设计.docx
- 高斯小学奥数含答案二年级(下)第06讲扫雷游戏.pdf VIP
- 旅游景区运营管理手册(制度)[257页].doc VIP
- 中南大学ORcad实验报告(程嘉洲版实验2到实验7)完美步骤,完美报告!.doc
- 部编版九年级道德与法治第四单元《文明与家园》作业设计.docx
- 《工程制图》教学教案(11-20次课,合计50次课).doc VIP
文档评论(0)