logo资料库

java论文.doc

第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
资料共26页,剩余部分请下载后查看
1 引 言
1.1开发背景
1.2开发目的和意义
1.2.1开发目的
1.2.2开发意义
2.需求分析
2.1功能需求
2.2界面需求
2.3技术上的可行性分析
3.总体设计
3.1设计思想与基本内容
3.2总体设计技术介绍
3.2.1 JAVA的图形界面
3.2.2 Swing概述
3.2.3 Swing基本组件
3.3系统功能描述
3.4各功能模块描述
3.5主要模块流程图
4 核心代码的实现
4.1定义雷的类核心代码实现
4.2 图形界面的设计核心代码实现
5 程序运行与测试
5.1程序调试
5.2程序运行
6 总 结
参考文献
目 录 1 引 言 ................................................................................................................ 1 1.1 开发背景...............................................................................................1 1.2 开发目的和意义...................................................................................2 1.2.1 开发目的 ...................................................................................2 1.2.2 开发意义 ...................................................................................2 2.需求分析 .......................................................................................................... 4 2.1 功能需求...............................................................................................4 2.2 界面需求...............................................................................................4 2.3 技术上的可行性分析...........................................................................5 3.总体设计 .......................................................................................................... 5 3.1 设计思想与基本内容...........................................................................6 3.2 总体设计技术介绍...............................................................................8 3.2.1 JAVA 的图形界面.....................................................................8 3.2.2 Swing 概述...............................................................................8 3.2.3 Swing 基本组件.......................................................................9 3.3 系统功能描述.....................................................................................11 3.4 各功能模块描述.................................................................................12 3.5 主要模块流程图.................................................................................13 4 核心代码的实现 ............................................................................................15 4.1 定义雷的类核心代码实现.................................................................15 4.2 图形界面的设计核心代码实现........................................................17 5 程序运行与测试 ............................................................................................20 5.1 程序调试.............................................................................................20 5.2 程序运行.............................................................................................20 6 总 结 .............................................................................................................. 23 参考文献 ............................................................................................................ 25
1 引 言 1.1 开发背景 当前随着计算机的深入普及,越来越多的人有了个人电脑, 人们运用计算机完成许多重要的工作,计算机在人们的日常生活 中扮演着越来越重要的角色。随着计算机的广泛应用和深入发展, 当前的计算机应用早已不单局限于工作,计算机的娱乐性越来越 得到人们的关注,近年来游戏产业规模飞速成长。权威市场调研 机构国际数据集团(DFC Intelligence)日前发表报告显示,在 2012 年全球游戏市场的产值达到了 600.4 亿美元,并预测 2013 年将达 到 649 亿美元,更会在 2015 年突破 700 亿美元大关。这远远超越 好莱坞电影产业以及音乐等娱乐事业,而成为目前娱乐事业的最 大主流。 目前整个游戏产业的运作模式已经跟好莱坞电影产业的运 作模式非常相近,电影产业有制片、发行、宣传等明细分工,游 戏产业亦同,由专业的游戏研发小组负责研发游戏,也有如微软、 Steam 这类国际级经销商负责游戏发行,甚至连“游戏制作人” 也被培养成明星一样成为一种招牌,如任天堂有王牌制作人宫本 茂、SEGA 有铃木裕、KONAMI 有小岛秀夫、CAPCOM 有三上 真司,明确的游戏产业分工的确有助于游戏产业的规模发展与进 化,但也无形中让游戏开发成本大增。为了降低游戏开发成本, 开发娱乐性强成本低的游戏就成为当前的主要课题,在这种趋势 下各种小型的低成本的游戏软件应运而生。在这其中,系统自带 的小游戏也占据了相当重要的地位,与那些网络游戏和 3D 游戏 1
相比,它有编写简单、容易上手等特点,可以满足人们在完成日常 工作之余适当娱乐的需求。这些小游戏大都是以益智和娱乐为目 的,不仅给紧张工作的人们以放松,还可以让人们的大脑得到开 发。微软公司的 Windows 系列操作系统中内置了很多非常经典的 小游戏,包括扫雷,弹球,纸牌等等。 1.2 开发目的和意义 1.2.1 开发目的 我课程设计选这个题目原因是我一直比较喜欢这个游戏,对 这款游戏的操作以及玩法度比较了解,所以做起来比较容易点, 同时我也想玩玩自己亲手做出这个小游戏,所以选了这个题目, 扫雷游戏是一款智力游戏,这款游戏将一定的地雷分布在小格子 里,最终胜利是玩家将所有的地雷都找出。Java 是我们这个学期 新学的语言,通过这个课程设计,我对以前学的知识有了更深一 步的了解,这次设计的时间有限,所以我做了一个自己比较喜欢 的小游戏,刚开始做时,虽然知道主要思想但把它要表示出来真 的很不容易,通过查资料,请教同学,上网,知道了知识可能是 自己一个人要花很长时间知道的,经过这段时间的努力,终于做 出了这款游戏,虽然还有很多不足,但做出来后还是很开心的, 测试这个游戏的功能时,感觉很不错,通过这个课程设计我对以 前 java 有了一个更深一步的认识。所以这次的设计相对来说还是 很成功的。 1.2.2 开发意义 (1)培养综合运用所学知识独立完成课题的能力。 2
(2)更深入地理解和掌握该课程中的有关基本概念,程序设 计思想和方法。 (3)提高对工作认真负责、一丝不苟,对同学团结友爱,协 作攻关的基本素质。 (4)培养勇于探索、严谨推理、实事求是、有错必改,用实 践来检验理论,全方位考虑问题等科学技术人员应具有的素质。 (5)培养从资料文献、科学实验中获得知识的能力,提高从 别人经验中找到解决问题的新途径的悟性,初步培养工程意识和 创新能力。 (6)对掌握知识的深度、运用理论去处理问题的能力、实验 能力、课程设计能力、书面及口头表达能力进行考核。 3
2.需求分析 2.1 功能需求 (1) 编写目的 这是一个基于 java 语言的一个智力小游戏,开发这个游戏主 要是为了让操作人员在业余时间里能轻松方便的玩这游戏,并能 锻炼自己的思维能力。 (3)适用群体 因为这是一个小的智力游戏而且是附带在 Windows 操作系统 下的一个游戏,所以它适合所有人员,就算是小孩也能玩这游戏, 不仅没有害处,而且对他的大脑也有很好的帮助。如果对电脑的 操作不熟练的话,可以通过学玩这个游戏来帮助初学者掌握电脑 的基本操作。 2.2 界面需求 界面是一个窗口,有菜单栏,标题栏。菜单栏里有游戏和帮 助两个菜单。在游戏菜单里能够设置游戏的开局,设置游戏的级 别,分为初中高三个游戏级别;能够记录玩家的最高得分;如果 程序员有经历还可以为游戏添加声音,在猜到雷后给一个残酷的 声音,在猜中雷后给以一个清脆的笑声,但这不是程序的重点。 还能显示雷的个数,另外用一个电子钟用来计算玩家所花费的时 间,而且能够在玩家打开其它窗口后停止计时,当程序处于当前 4
活动窗口时有接着先前玩的时间继续计时。在开局时应该有一个 快捷图标,可以不通过菜单栏直接开局。 2.3 技术上的可行性分析 可行性研究的目的是用最小的代价在尽可能短的时间内确定 问题是否能够解决。也就是说可行性研究的目的不是解决问题, 而是确定问题是否值得去解决,可行性分析研究的是在当前的具 体条件下,是否具备必要的资源和其它条件。本课题中,从经济 可行性、技术可行性方面进行研究。 (1)经济可行性:当前游戏市场,各种类型的游戏软件层出 不穷。由于游戏的开发成本巨大,游戏的开发往往具有一定的风 险性,但是一些小游戏的开发具有成本小,编写简单的优势,所 以这些小游戏在游戏开发中也占有一席之地。 在这类小游戏中包括益智类游戏,它以画面精美、游戏方法 简单等特点得到大家的认可,成为人们在工作之余不可或缺的好 伙伴。我的研究课题是扫雷游戏,这款小游戏具有投入成本小, 开发风险性小等特点。从经济可行性角度考虑是可行的。 (2)技术可行性:这款游戏使用 JAVA 语言进行编写, JAVA 是一种高效的编程语言,可以快速开发出用户需求的产品。 其.NET Framework 平台为开发者提供了庞大的类库,开发人员只 需要通过相应的接口调用需求的方法就可以实现应用程序的快速 开发。 3.总体设计 5
3.1 设计思想与基本内容 扫雷是一款相当经典的小游戏,下面是我们的扫雷程序思想。 我们可以把整个雷区看成一个二维数组.首先我们在雷 区上随机地放上雷,这可以用 random 类来实现。当没有雷的地 方被点击后就会显示一个数字表示它周围有几个雷,要实现这个 功能,,如雷区 a[i][j]: a[1][1] a[1][2] a[1][3] a[1][4] a[1][5] a[1][6] a[1][7] a[1][8] a[2][1] a[2][2] a[2][3] a[2][4] a[2][5] a[2][6] a[2][7] a[2][8] a[3][1] a[3][2] a[3][3] a[3][4] a[3][5] a[3][6] a[3][7] a[3][8] a[4][1] a[4][2] a[4][3] a[4][4] a[4][5] a[4][6] a[4][7] a[4][8] a[5][1] a[5][2] a[5][3] a[5][4] a[5][5] a[5][6] a[5][7] a[5][8] 我们可以发现 a[i][j]周围存在着如下关系: a[i-1][j-1] a[i-1][j] a[i-1][j+1] a[i][j-1] a[i][j] a[i][j+1] 6
a[i+1][j-1] a[i+1][j] a[i+1][j+1] 于是 ,可以从 a[i][j]的左上角顺时针开始检测。当然,如果 超出边界,要用约束条件再加以判断! 扫雷程序还会自动展开已确定没有雷的雷区。如果 a[3][4]周 围雷数为 1,a[2][3]已被标示为地雷,那么 a[2][4],a[2][5],a[3][3], a[3][5],a[4][3],a[4][4],a[4][5]将被展开,一直波及到不可确定的 雷区。这也是实现的关键!我们可以把数组的元素设定为一个类对 象(类中定义:第几号方块,周围雷数,是否为雷,是否被点击,探雷标 记,是否点击右键),它们所属的类设定这样的一个事件:在被展开 时,检查周围的雷数是否与周围标示出来的雷数相等,如果相等 则展开周围未标示的雷区。这样新的雷区展开又触发这个事件, 就这样递归下去,一直蔓延到不可展开的雷区。 扫雷游戏的目标是尽快找到雷区中的所有地雷,而不许踩到 地雷。如果挖开的是地雷,您将输掉游戏。 玩者进入游戏后,开始游戏,目的是为了找出所有隐藏的小 方格后一定数目地雷,进行标记,把所有地雷找出并用时最少的 胜利者进出扫雷英雄榜。单击游戏菜单可以选择<初级>,<高级>, <中级>和<扫雷英雄榜>。扫雷的各个级别是根据游戏的总格子数 和地雷总数来区别的,初级的总格子数最少,地雷数也最少,高 级的总格子数和地雷数最多。扫雷英雄榜中记录着各个级别的第 一名玩家,而且玩家可以刷新纪录。游戏上方可以显示这盘中还 有多少颗地雷,还可以显示在这盘游戏中游戏进行了多长时间。 选择级别后游戏去会出现相应的扫雷区域,这是玩家用鼠标 7
分享到:
收藏