基于Java面向对象程序设计课程报告.docx
《基于Java面向对象程序设计课程报告.docx》由会员分享,可在线阅读,更多相关《基于Java面向对象程序设计课程报告.docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于Java面向对象程序设计课程报告 基于Java语言的简易坦克大战游戏设计课程报告 摘要:本课程设计使用Java语言开发了一个简单坦克大战小游戏,主要采用面向对象程序设计思想来完成程序的需求分析,概念及逻辑设计,系统的详细实现等过程。游戏主要实现了游戏场景的构造,坦克及子弹类的初始化,敌我坦克对战,游戏存盘及读档等功能。 关键词:Java;面向对象;敌我坦克对战; 引言 坦克大战是一个经典的单机对战游戏,其在青少年中非常流行,目前游戏开发商对其不断改进,已从简单的单机手游扩充为大型的网络对战游戏,但其基于面向对象程序设计思想仍未变。本设计是为检验面向对象程序设计课程的知识运用而进行的实践,其
2、主要目的是采用面向对象的思想,独立完成程序的各个过程,并在实践中应用学到的关于Java类与对象,接口,包,异常处理,多线程,事件处理及各类流的处理等知识。 1系统分析 1.1系统可行性分析 在技术上,本系统的坦克大战是基于Java语言设计,并在Eclipse软件上具体实现的。Java语言是一种跨平台,适合于分布式计算环境的面向对象编程语言,具有简洁,安全,面向对象,动态,体系结构中立,可移植,高性能,多线程,解释执行,分布式等特性。Java现在主要用在WEB开发,手机游戏及一些平台游戏的开发,因为其具有良好的跨平台性,在各类电子产品上应用非常广泛。 本系统使用Swing,GUI,Socket,
3、面向对象设计等技术实现,这些技术已非常成熟,广泛应用于各类程序开发,故现在使用这些技术是可行的。 在实用性上,坦克大战为一款经典射击游戏,其前身为1985年日本游戏公司在任天堂FC(FamilyComputer)平台上开发的红白单机游戏,游戏以坦克战斗及保卫基地为主题,凭借流畅的游戏体验,不错的游戏视觉效果风靡全世界。直到今天,仍有游戏商家以其为模型开发出3D网络对战版坦克大战,可见其具有广大的市场效益。本系统运用Java跨平台编程语言,在PC上重新实现这一经 典游戏,探究其设计思路与实现方法,并且设计了关卡模式,新增了游戏存盘,读档功能,使游戏玩法更加丰富。因此,本系统具有一定的实用性。 1
4、.2系统需求分析 凭着由于系统为简易的单机对战射击游戏故游戏必须具有以下功能: 1)有图形游戏界面,使用户看得到游戏给出的反馈。 2)有人机交互功能,用户可以操作指定的游戏元素。 3)坦克可以上下左右四个方向任意行走,且不可超出游戏设定边界。 4)敌方坦克必须明显区别于我方坦克,且可以随机移动,随机打出炮弹。 5)我方坦克可在控制下四个方向任意移动,且可按不同速率发射炮弹。 6)敌方坦克之间不能重叠,我方坦克与敌方坦克也不能重叠。 7)炮弹与坦克的碰撞检测,且炮弹超出边界的检测。 8)加入声音,图片等资源,使游戏具有良好体验性。 9)菜单栏选项,可以选择新游戏,退出游戏,存档游戏,读取游戏,并
5、可以查看帮助信息。 2系统概要设计 2.1 系统结构设计 坦克大战游戏主要实现玩家参加游戏的整个过程,用户打开游戏,将出现游戏初始界面,用户可点击菜单栏选择游戏模式和帮助文档。若玩家选择游戏菜单,将出现四个选项:新游戏(N)、退出游戏(E)、存盘退出(C)和继续游戏(S),选择新游戏则玩家开始游戏,选择存盘退出将保存游戏记录并退出,选择继续游戏则读取保存记录玩家继续上次游戏。帮助菜单将帮助玩家了解游戏的相关操作。整个游戏流程如图1所示: 图1 系统流程图 2.2 TankAction类的设计 TankAction类是整个系统的核心部分,承担整个系统的所有可实现功能的调度工作,它的设计决定着游戏
6、的好坏。TankAction类的设计流程如图2所示: 图2 TankAction类设计流程图 TankAction类是主类,通过调用其他类中封装的方法使系统运行起来,下面是TankAction类与其它类的关系。如图3所示: 图3 TankAction类与其它类关联图 2.3 Tank类的设计 由面向对象设计思想知,Tank类为系统主要对象。在Tank类中封装了一些成员变量,包括坦克相对于游戏界面左上角的横坐标(x)、纵坐标(y),坦克正面所对于方向(fangxiang),坦克颜色(color),坦克速度(sudu)和坦克生命值(shengming)等;Tank类中没有main函数,其中只封装了
7、一些变量属性和静态方法,如getcolor()、getsudu()、setFangxiang(int fangxiang)等等,其中getcolor()和getFangxiang()用于调用drawTank类中画出的不同颜色不同方向的坦克,还有其它方法的作用这里不再一一列举。 其中敌我双方坦克类为继承Tank类的子类,DiTank(敌方坦克)类不但继承了Tank类的基本变量和方法,得以实现不同方向的黄色坦克,还拥有自己的变量和成员方法,如向量Vector dzd和dtkxl(Vector dxl)方法。设计代码如下: 我方坦克类(MyTank)继承Tank类后,拥有自己的一些成员方法。如发射子
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Java 面向 对象 程序设计 课程 报告
限制150内