基于java坦克大战课程设计.doc

上传人:h**** 文档编号:130990 上传时间:2018-07-09 格式:DOC 页数:113 大小:575KB
下载 相关 举报
基于java坦克大战课程设计.doc_第1页
第1页 / 共113页
基于java坦克大战课程设计.doc_第2页
第2页 / 共113页
基于java坦克大战课程设计.doc_第3页
第3页 / 共113页
基于java坦克大战课程设计.doc_第4页
第4页 / 共113页
基于java坦克大战课程设计.doc_第5页
第5页 / 共113页
点击查看更多>>
资源描述

1、 摘 要 面向对象方法是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,它吸取了结构化程序设计的精华,以更接近人们通常思维的方式来处理问题,是一种全新的软件开发技术。 作为一种新的的编程语言, Java 很大程度推广了面向对象的思想。随着计算机技术的发展, Java 的强大展现出它不可替代的作用。 Java 的功能不仅体现在它网络方面的应用,对于应用程序设计、游戏设计等 Java 都能满足需求。 本文针对 Java 的具体应用,设计了一个小游戏。根据游戏的规则,用户将可以和计算机进 行简单对战。程序实现了友好的用户交互界面,让用户能很好地对游戏进行操作。 关键字 : JAVA

2、 GUI 游戏 ABSTRACT The Object-Oriented Method is a method which apllies the Object-Oriented Design to the process of the software exploiture and directs the ploy of development. It extracts the prime of the Structured Design for Computer Programmers, deals matters with a folksy fashion, which is consi

3、dered to be a grand new software-develop technique. As a new programming language, Java spread the Object-Oriented Design in a certain degree. With the development of the technique of computer, the insurmountable function of JAVA is exhibited for its mightiness. Not only applies in network, JAVA als

4、o can fulfill the requirement of the Application-Design and Game-Design. In this paper, to use the idiographic application of JAVA , I design a game called . Following the regular of the game, user can play a simple revalry with computer. This programme actualizes a folksy GUI mode, which will make

5、user master game easily. Keywords: JAVA GUI Game 目 录 一、 背景与意义 . 错误 !未定义书签。 二 、坦克大战小游戏应用程序 . 错误 !未定义书签。 三、 坦克大战小游戏系统的设计 . 5 3.1 系统需求分析 . 8 3.2 系统开发及运行环境 . 12 3.3 系统主要功能要求 . 15 3.4 坦克大战系统总体结构 . 错误 !未定义书签。 3.5 系统数据流图 . 错误 !未定义书签。 四、 设计原理及方案 . 错误 !未定义书签。 五、 系统具体实现 . 15 六 、 详细设计过程与算法实现 . 错误 !未定义书签。 七、程序运

6、行结果截图 . 15 八、 总结 . 15 九、 参考文献 . 21 1 一、 背景与意义 1 背景 游戏是全球最大的娱乐经济项目之一,已经被命名为“第九艺术”。而由“游戏”派生出来的职业,除了软件开发外,游戏包装宣传推广、攻略指导、网络游戏管理员和职业游戏玩家 等,已成为了一系列专门的岗位。面对游戏产业如此巨大的市场空间,国内各大城市纷纷加大了这方面的人才培养,中国的游戏人才培训已随着游戏行业的总体发展开始逐步迈入了正轨。 虽然说中国的游戏行业开始逐步的迈入了正轨,但是现今,游戏人才出现严重的瓶颈时期,高校的扩招、金融危机的侵袭直接影响着我们最关心的就业问题,但是另一方面游戏人才的缺乏又直接

7、制约着行业的发展,这就更加严格了对社会培训机构的稳定性和正规性的要求。在我国,游戏人才培养体系还未健全,部分开设了相关专业的高校,游由于理论和实践的脱离无法完全满足网游公司对 人才的需求。 所以,就中国目前的市场分析来看,加强游戏产业必须在多渠道人才培养体系上加快突破,尽快建立起多渠道人才培养体系,来满足社会对游戏人才的需求。 坦克大战( Battle City)是 1985 年日本南梦宫 Namco 游戏公司在任天堂 FC( FamilyComputer)平台上,推出的一款多方位平面射击游戏。游戏以坦克战斗及保卫基地为主题。大部分 80后的青年人曾经都玩过这款 FC 平台上的经典游戏, FC

8、 平台上的坦克大战只能两个人协同作战。本系统运用 Java 这个跨平台的编程语言,在 PC上重新实现这一款 经典游戏,探究曾经这一款经典游戏的大概设计与实现,并且加入坦克八个方向的行走,多人的局域网对战模式,使游戏的玩法更丰富。 2 课程设计内容 坦克大战游戏是一种动作电子游戏的名称。坦克大战游戏是一种动作电子游 戏的名称。玩家操作一辆己方坦克,消灭屏幕中不断出现敌方坦克。己方坦克有 血量限制,被敌方坦克的炮弹击中会减少血量,当血量为 0 时,任务失败。 ( 1)基本的游戏操作 用户可以通过键盘来操作自己的坦克,尽量不让敌方坦克的炮弹击中自己 ( 2)计分,记时功能 用户在游戏的过程中,系统将

9、记录游戏的成绩 2 二、坦克大 战小游戏应用程序 2.1 坦克大战小游戏应用程序概述 此程序设计是一个小游戏(坦克大战)的实现,主要运用了用户图形界面, 程序接口和基本函数绘制来实现,事件监听(包括鼠标事件,键盘事件,响应时 间)也是这个程序的特色。总之,本游戏在用户界面的可操作性、游戏的美观度、 计分计时存储结果方便都基本完善,有一定的可玩性。 2.1.1 坦克大战小游戏系统任务及目的 此小程序是为群众闲暇消遣之用,玩家在进入游戏后按游戏规则击毁敌 方坦克获得相应的分数,进入下一关,直到全部过关。 2.2 主要特色系统介绍 玩家在使用此程序时更加能体验到乐趣。当玩家死亡以后,可以原地复活是

10、本游戏的特色,可以激发玩家的游戏兴趣。 2.3 小结 虽然游戏在功能和界面上不能算的上很棒,但是麻雀虽小,五脏俱全,游戏 具备了坦克大战这个经典游戏锁应该具有的基本雏形。通过这一章,我们对这个 游戏应该有了比较宏观的了解,我们将在这一基础上探究游戏更完美的改变。三 坦克大战 小 游戏系统的设计 这一章是坦克大战游戏系统的设计,从系统需求分析开始,介绍开发环境和用到的开发工具,系统主要的功能设计,系统的数据流程图。 3.1 系统需求分析 坦克大战的设计目标为: ( 1)实现坦克大战游戏功能,用键盘控制坦克( 2)实现游戏难度和游戏模型的选择,通过本关后可以选择进入下一关。 ( 3)加强游戏可玩性

11、。 3.2 系统开发及运行环境 硬件平台: CPU: INTEL-I5。 内存: 1024MB 以上。 软件平台: 操作系统: Windows XP。 数据库: TXT 文档。 3 开发工具包: JDK Version1.6.2。 最佳分辨率: 800 X 600 3.3 系统主要功能要求 本系统为了实现游戏坦克大战。主要实现如下功能: 系统界面美观大方舒适 ; 实现游戏一些基础信息的保存和读取 ; 画面流畅,具有可玩性 没有较大的游戏 BUG; 显示游戏者的游戏时间和积分 ; 系统最大限度地实现了易维护性和易操作性; 系统运行稳定、安全可靠; 玩家死亡以后如不想从新开始可以继续游戏。 3.4

12、 坦克大战系统总体结构 坦克大战游戏是基于基本的软件和普通硬件基础上的传统优秀游戏,一个游 戏应该包括以下几大功能,如图: 图( 1) 总体结构 游戏开始 4 3.5 系统数据流图 游戏信息的流向,即系统数据流图如图 2.3 所示 图( 2) 系统数据流图 四、设计原理及方案 本系统的坦克大战是基于 Java 语言设计开发的,具有高超的人工智能,精美的图形处理,支持单机运行和网络对战的坦克射击游戏。比之前网络上实现的游戏更加方便,快捷,智能。游戏基本玩法较简单,游戏可一人电脑作战,每次电脑方有坦克 10 辆,游戏以消灭全部敌方坦克过关为目的。在这过程中,坦克有机会得到血块来添加生命值,从而变得

13、更加强大,也能利 用各种有利地形来阻击敌人。游戏设置了墙面,电脑方坦克不能穿越墙面射击玩家坦克,而玩家坦克可随意穿越墙面打击电脑方坦克,这一游戏特权。还有给玩家坦克设置超级炮弹,当电脑方坦克数量过多时,玩家坦克可以发射超级炮弹打击敌方。 主要新增的功能简单罗列如下: 4.1 屏幕左上方显示游戏状态,当玩家方坦克数全为零时则游戏结束; 4.2 一般坦克只可在空地中或草丛中行走,不可通过墙面等障碍物; 4.3 游戏中打坏敌方坦克后,可能会在随机位置随机出现血块奖励,坦克经过该5 位置可获得相应加生命值奖励; 4.4 玩家坦克的游戏资格和 电脑坦克不同。 4.5 工作流程图: 图( 3 ) 工 作

14、流 程 图程序开始 连接服务器 连接成功 ? Y N 新线程 刷屏 (间接调用 paint) 延迟25ms 初始化游戏元素 根据游戏元素的属性 ,对其经行操作和绘出其图形 Paint 方法 战斗结束 ? Y 键盘监听器 判断按下的是那个键 改变相应游戏元素的属性 6 五、系统具体实现 界面是系统和玩家之间最直接的交互界面 ,界面的友好性体现了程序设计的质量 ,界面是否便捷易懂也是程序所基本的要求。 5.1 界面设计 5.1.1 用户登录界面图 图( 4) 用户登录界面图 7 5.1.2 游戏主界面 图( 5) 进入游戏后的界面 5.2 程序设计及调试运行 编写 12 个 CLASS 文件,装入

15、一个包中,各个模块的程序代码都完成后,进行编译连接运行,经过反复调试,找出错误和不足,以达到游戏所需的基本功能和基本界面。这个过程比较繁琐,我们参考网络上现有的资源,并加以改进,对各个模块仔细分析备注并进行调试,做到程序简洁易懂,可读性好。尽量避免因代码不完善而导致的游戏运行中可能出现的错 误。 5.2.1 自动计血量 游戏的自动计血量功能是非常有必要的,可以让玩家很直观地看到自己所玩的剩余血量。下面是自动计血量功能的部分关键代码 : private class BloodBar 8 public void draw(Graphics g) Color c = g.getColor(); g.

16、setColor(Color.RED); g.drawRect(x, y-10, WIDTH, 10); int w = WIDTH * life/100; g.fillRect(x, y-10, w, 10); g.setColor(c); 5.2.2 对坦克方向的控制 通过上下左右四个键,可以控制坦克向八个方向灵活的移动 void localDirection() if(bL else if(bL else if(bL else if(!bL else if(!bL else if(!bL else if(!bL else if(!bL else dir = Direction.STOP; 六、详细设计过程与算法实现 6.1 游戏主窗口 游戏主窗口是人机交互的窗口,对玩家而言,他们只和游戏主窗口打交道,并不关心游戏内部是如何实现的,所以游戏主窗口部分最重要的便是游戏数据的输入、输出。 在程序中须创建一 个类 TankClient,继承自 Frame 来创建一个窗口。 6.2 游戏数据的输入 游戏中坦克需要能往上、下、左、右四个方向运动,故须设立 4 个按键,使其能作坦克,另须设一个键控制坦克开火。为方便操作,本游戏设置 WSAD 分别

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。