《扫雷与纸牌游戏.docx》由会员分享,可在线阅读,更多相关《扫雷与纸牌游戏.docx(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、扫雷用户使用说明本程序为Swing实现的扫雷游戏程序。在java环境下,运行run.bat启动程序。游戏分为三个难度等级,分别有12、24、36颗雷。单击鼠标左键为踩雷。单击鼠标左键在标记,疑问,空白三种状态中循环。同时单击鼠标左右键为踩单击点在内的周围九格内所有没有标记为已标记的所有格子。同时程序从你单击第一次时开始计时,到胜利或引爆地雷终结。胜利后。单击三个难度选择按钮内的一个重起游戏。单击Game菜单Exit菜单项或程序对话框上的关闭按钮退出游戏。 扫雷需求规格说明书1引言11.1编写目的11.2项目背景21.3定义21.4参考资料22任务概述22.1目标22.2运行环境22.3条件与限
2、制23数据描述33.1静态数据33.2动态数据33.3数据库介绍33.4数据词典33.5数据采集34功能需求34.1功能划分34.2功能描述35性能需求35.1数据精确度35.2时间特性35.3适应性36运行需求36.1用户界面36.2硬件接口36.3软件接口36.4故障处理37其它需求31引言1.1编写目的随着现在生活节奏的加快,人们在工作之余需要一个轻松娱乐的放松环境。因此我们小组编写此软件的目的,一方面作为初学者来了解Android的开发,另一方面开发此软件使用户能在娱乐休闲的同时拓展思维能力。同时进一步拓展研究,做到将扫雷层次升级,能够在多人连机的情况下,一起分工来进行对战 。如 一方
3、放雷, 另一方排雷。 1.2项目背景项目的任务提出者: 开发者: 用户:试用于所有人群1.3定义Android手机操作系统:Android一词的本义指“机器人”,是Google开发的基于Linux平台的开源手机操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iphone等其他手机更强调搜索功能,界面更强大,可以说是一种融入Web应用的单一平台。其最震撼人心之处在于Android手机系统的开放性和服
4、务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更强大的自由度,突破了iphone等只能添加为数不多的固定软件的枷锁;同时与WindowsMobile、Symbian等厂商不同,android操作系统免费向开发人员提供,可节省三成成本。Android目前的开发者数量相对较少,不过,Android应用开发是基于java的,底层是linux的,世界上拥有众多的java开发人员,而linux也有广泛的基础,应该会吸引到越来越多的开发者。1.4参考资料软件工程导论 2任务概述2.1目标扫雷游戏是一款基于Android平台的游戏。此游戏的目的在于给用户提供一个放松娱乐的
5、环境。2.2运行环境操作系统:Microsoft Windows 7支持环境:Android手机操作系统数 据 库:SQLite2.3条件与限制Java比C语言写的程序执行起来慢很多。执行慢的原因主要是在主机操作系统上加了虚拟机层,比本地编译玛慢。Java现有的安全模型并不完善,有些开发人员能生成嵌入Web的Java小程序,即不友好的小程序。这种程序可能给Web用户带来麻烦。3功能需求3.1功能划分生成数字模块点击区域模块放置地雷模块图标模块计时模块3.2功能描述 游戏开始,计时开始,玩家点击扫雷区域,若没有踩到地雷,则该区域显示数字,显示笑脸图标。若踩到地雷,游戏结束,显示哭脸图标,计时结束
6、。4性能需求4.1时间特性一般操作的响应时间应在0.5秒内4.2适应性适用于Android操作系统的各版本的手机。5运行需求5.1用户界面采用对话框方式,多功能窗口运行。5.2硬件接口支持各种Android系列的手机。5.3软件接口运行Windows 7及更高版本并装有Java虚拟机的操作系统。5.4故障处理正常使用时不应出错,当遇到错误时弹出对话框并将错误报告发送至Android手机支持中心。 6其它需求地图里地雷的数量不宜过多或过少。游戏应该流畅。纸牌用户使用说明1. 游戏目标构建四叠纸牌,每套一叠,按升序排列(从 A 到 K)。 2. 玩法A每个目标牌叠必须从 A 开始。如果没有,则必须
7、在列之间移动纸牌,直到翻开一个为止。但是,不能在列之间随机移动纸牌。必须按降序(从 K 到 A)构建列。因此,您可以在 J 上而不能在 3 上放 10。B作为一种附加花样,列中的牌色还必须黑红相间。C不限制您仅移动一张牌。还可以在列之间移动按顺序排列的一“串”牌。只需单击牌串中最下面的纸牌,即可将它们全部拖到另一列。D如果无法移动,则需要单击左上角的牌叠来拖动更多纸牌。如果牌叠翻完,则可以单击玩牌区上牌叠的轮廓重新洗牌。E过通拖动或双击某张牌可以将其移动到目标牌叠。1. 玩牌区Windows 纸牌只用一副牌玩,共 52 张。游戏开始时使用 28 张牌排成七列。第一列一张牌,第二列两张牌,依此类
8、推。每列的顶牌正面朝上,其余的牌正面朝下。右上角是四个“目标牌叠”。这是构建所需的牌叠以赢取胜利的位置。1. 计分在标准计分下,将纸牌从牌叠移动到某列可以得 5 分,每向目标牌叠添加一张牌可以得 10 分。如果游戏超过 30 秒,则还会根据完成游戏所需的时间收到奖分。奖分公式是:700,000 除以游戏总秒数。因此,标准计分下可能得到的最高分为 24,113!(若要更改计分系统,请单击“游戏”菜单,然后单击“选项”。)纸牌:规则和基本要求游戏目标构建四叠纸牌,每套一叠,按升序排列(从 A 到 K)。玩牌区Windows 纸牌只用一副牌玩,共 52 张。游戏开始时使用 28 张牌排成七列。第一列
9、一张牌,第二列两张牌,依此类推。每列的顶牌正面朝上,其余的牌正面朝下。右上角是四个“目标牌叠”。这是构建所需的牌叠以赢取胜利的位置。玩法每个目标牌叠必须从 A 开始。如果没有,则必须在列之间移动纸牌,直到翻开一个为止。但是,不能在列之间随机移动纸牌。必须按降序(从 K 到 A)构建列。因此,您可以在 J 上而不能在 3 上放 10。作为一种附加花样,列中的牌色还必须黑红相间。不限制您仅移动一张牌。还可以在列之间移动按顺序排列的一“串”牌。只需单击牌串中最下面的纸牌,即可将它们全部拖到另一列。如果无法移动,则需要单击左上角的牌叠来拖动更多纸牌。如果牌叠翻完,则可以单击玩牌区上牌叠的轮廓重新洗牌。
10、通过拖动或双击某张牌可以将其移动到目标牌叠。计分在标准计分下,将纸牌从牌叠移动到某列可以得 5 分,每向目标牌叠添加一张牌可以得 10 分。如果游戏超过 30 秒,则还会根据完成游戏所需的时间收到奖分。奖分公式是:700000 除以游戏总秒数。因此,标准计分下可能得到的最高分为 24,113!(若要更改计分系统,请单击“游戏”菜单,然后单击“选项”。)提示与技巧查看提示。如果遇到困难,可以按 H 让 Windows 显示下一步应该移动的牌。对于新手而言,这也是学习该游戏的一个好方法。使一连串牌整齐。牌串是您在列中创建的可见牌叠。如果可能,请不要让在其他牌前面的任何一串牌变得太长。使某个串特别长
11、会使得难以进行其他移动。翻开所有牌。列中正面朝下的牌越多,越容易先翻开这些牌。这会增加您玩牌的机会。纸牌:规则和基本要求游戏目标构建四叠纸牌,每套一叠,按升序排列(从 A 到 K)。玩牌区Windows 纸牌只用一副牌玩,共 52 张。游戏开始时使用 28 张牌排成七列。第一列一张牌,第二列两张牌,依此类推。每列的顶牌正面朝上,其余的牌正面朝下。右上角是四个“目标牌叠”。这是构建所需的牌叠以赢取胜利的位置。玩法每个目标牌叠必须从 A 开始。如果没有,则必须在列之间移动纸牌,直到翻开一个为止。但是,不能在列之间随机移动纸牌。必须按降序(从 K 到 A)构建列。因此,您可以在 J 上而不能在 3
12、上放 10。作为一种附加花样,列中的牌色还必须黑红相间。不限制您仅移动一张牌。还可以在列之间移动按顺序排列的一“串”牌。只需单击牌串中最下面的纸牌,即可将它们全部拖到另一列。如果无法移动,则需要单击左上角的牌叠来拖动更多纸牌。如果牌叠翻完,则可以单击玩牌区上牌叠的轮廓重新洗牌。通过拖动或双击某张牌可以将其移动到目标牌叠。计分在标准计分下,将纸牌从牌叠移动到某列可以得 5 分,每向目标牌叠添加一张牌可以得 10 分。如果游戏超过 30 秒,则还会根据完成游戏所需的时间收到奖分。奖分公式是:700000 除以游戏总秒数。因此,标准计分下可能得到的最高分为 24,113!(若要更改计分系统,请单击“
13、游戏”菜单,然后单击“选项”。)提示与技巧查看提示。如果遇到困难,可以按 H 让 Windows 显示下一步应该移动的牌。对于新手而言,这也是学习该游戏的一个好方法。使一连串牌整齐。牌串是您在列中创建的可见牌叠。如果可能,请不要让在其他牌前面的任何一串牌变得太长。使某个串特别长会使得难以进行其他移动。翻开所有牌。列中正面朝下的牌越多,越容易先翻开这些牌。这会增加您玩牌的机会。纸牌需求规格说明书1引言11.1编写目的11.2项目背景21.3参考资料22任务概述22.1待开发软件的一般描述22.2 待开发软件的功能22.3 用户特征32.4运行环境32.5条件与限制43功能需求43.1功能划分43
14、.2功能描述44外部接口需求54.1用户界面54.2硬件接口64.3软件接口64.4故障处理65性能需求65.1数据精确度65.2时间特性65.3适应性66软件属性需求67其它需求88数据描述88.1静态数据88.2动态数据88.3数据库介绍88.4数据词典88.5数据采集101引言1.1编写目的本需求规格文档的目的是说明网络棋牌游戏平台最终需要满足的条件和限制,为进一步设计和实现提供依据。本文档将用户的需求用文字的形式固定下来,是与用户沟通的成果,也是用户验收项目时的参考。本文档将供开发组团队成员查阅和使用,其中包括系统设计人员、编程人员、测试人员。1.2项目背景目前网络棋牌游戏在休闲游戏市
15、场上有着很大份额,给用户提供一个放松娱乐,相互交流学习的平台,也是目前大多数网民娱乐的主要方式。网络棋牌游戏是真正适合各种年龄群的用户使用的具有寓教于乐意义的游戏。在当今如此盛行网络游戏的时代,教育网游的诞生不能不说是一个绝好的切入点。因此网络棋牌游戏就更适合于教育网游。与一般传统的角色扮演类游戏相比,网络棋牌游戏的开发更适合于如今网游的发展趋势,从另一方面更可以使如今的用户远离一些血腥暴力游戏所带来的危害。益智休闲类游戏不仅满足用户对游戏的需要,也是一种促进智力发展的手段。1.3参考资料 1 网络棋牌游戏平台-项目开发计划书2任务概述2.1待开发软件的一般描述网络棋牌游戏平台是一款基于Jav
16、a的游戏平台。此平台的目的在于给用户提供一个放松娱乐,相互交流学习的平台。2.2 待开发软件的功能本系统包括以下几个模块:服务器用户管理模块:服务器用户管理模块包含了用户权限管理及对用户账号的删除;服务器商城管理模块:服务器商城管理模块对整个游戏商城进行控制,包括修改物品信息、增加物品、删除物品、统计销售情况;服务器控制模块:服务器控制模块的主要功能包括内容清除、内容获取、服务器开启/关闭;客户端游戏控制模块:客户端游戏控制模块的主要功能包括用户登录、游戏选择、连接服务器、游戏创建、加入游戏、退出游戏;客户端用户聊天模块:客户端用户聊天模块是整个客户端聊天系统的核心,其主要功能是发送及接收信息
17、;客户端用户信息模块:客户端用户信息模块主要用于查询用户账户资料及状态,包括游戏状态、基本信息及好友管理;客户端游戏商城模块:客户端游戏商城模块提供充值、游戏物品的出售及个人物品管理。2.3 用户特征本网络棋牌游戏平台适合于任何年龄段的网民玩家,不受教育水平,工作经验及技术专长的影响,2.4运行环境本网络棋牌游戏平台适合运行的条件:1.系统需求: Windows XP及更高版本2.硬件需求: Pentium4 2.4G及以上 256M内存及以上 1G可用磁盘及以上2.5条件与限制由于Java语言本身的限制,该系统采用TCP/IP协议,程序运行速度比其他语言的程序略低。3功能需求3.1功能划分本
18、系统包括以下几个模块:1服务器用户管理模块2服务器商城管理3服务器控制模块4客户端游戏控制模块5客户端用户聊天模块6客户端用户信息模块7客户端游戏商城模块3.2功能描述模块功能介绍:服务器端:1用户管理模块用户权限管理删除用户2商城管理修改物品信息增加物品删除物品查询物品销售情况3服务器控制模块内容清除内容获取服务器关闭客户端:4游戏控制模块用户登录游戏选择 服务器连接 游戏创建 游戏加入 游戏退出5用户聊天模块 用户消息系统消息6用户信息模块用户状态用户基本信息用户好友管理7游戏商城模块充值接口购买个人物品信息4外部接口需求4.1用户界面采用对话框方式,多功能窗口运行。4.2硬件接口支持各种
19、x86系列的PC机。4.3软件接口运行Windows XP及更高版本并装有Java虚拟机的操作系统。4.4故障处理正常使用时不应出错,对于用户的输入错误应给出适当的改正提示。若运行时遇到不可恢复的系统错误,必须保证数据库完好无损。 5性能需求5.1数据精确度查询时应保证查全率,所有在相应域中包含查询关键字的记录都应能查到,同时保证查准率。5.2时间特性一般操作的响应时间应在0.5秒内5.3适应性满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运行要求。6软件属性需求6.1可靠性本系统的最终用户涉及面广,因此,整体系统运行要求稳定,有很强的防错、抗错能力,保证数据报送工作正常进行。
20、可靠性指标:在连续运行情况下,系统可靠性99.9999%。提供应用服务器集群技术和组件技术支持高可靠性和伸缩性。6.2可维护性系统从设计上尽量考虑使得大多数统计系统的建设都能使用本软件搭建而成,量少做二次开发或者不做二次开发,直接通过系统配置搭建系统,从功能上具有通用性,易修改和扩展。软件开发使用组件技术,保证了可维护性高。系统具有开放性,是指统计、分析内容的可修改、可扩展性。例如,经过一定的授权,系统管理人员即可根据将来统计制度变动的需要对统计指标进行增、删等修改,无需经过软件开发技术人员。6.3兼容性系统应支持多种操作系统、数据库系统和、WEB服务器系统。采用JAVA、JNDI技术来保证较
21、好的可移植性和可扩展性。6.4可用性本系统采用C/S模式,同时,系统采取容错技术,具备数据恢复功能,能够保证用户随时随地操作系统。6.5可移植性本系统采用Java编写,能够实现跨平台操作。6.6可测试性软件系统具有良好的可测试性,能够在短时间的情况下顺利完成所有测试项目。具体测试项目如下:代码检查:程序开发人员除了调试外,还应进行重点检查程序代码语法错误。单元测试:对组成系统的每个组件进行数据结构测试和功能性测试,重点是组件的功能和程序逻辑。集成测试:将组件组装成子系统后,应再次对组装后的子系统进行功能性测试,重点是组件与组件之间的接口测试。系统测试:经过测试后的各子系统组装成系统后,还应组织
22、对整个系统进行全面的测试,包括功能、性能以及接口测试。性能测试:测试系统的操作相应速度以及资源占用效率。压力测试:测试系统的可靠性和伸缩性,以验证系统能承受多大的负载。6.7易用性系统应操作简单、易学易用,丰富的联机帮助,人性化的操作界面,界面布局合理,节省操作时间。7其它需求保密性和私密性需求:网络传递数据经过加密。需要保证数据在采集、传输和处理过程中不被偷窥、窃取、篡改。8数据描述8.1静态数据静态数据:包括系统登录密码,各数据库所在位置,系统分析原始数据8.2动态数据动态数据:包括各数据库内各项显示数据,用户登录信息,系统时间8.3数据库介绍用户数据库:玩家个人信息,好友信息,所有游戏的
23、分数信息8.4数据词典(1)数据流词条描述:1.数据流名:登录信息来源:用户的输入去向:系统内部检验部分组成:用户名,密码,验证码流通量:每次登录输入一次2.数据流名:登录结果来源:系统去向:用户组成:返回信息流通量:每次登录返回一次3.数据流名:输入修改信息来源:用户去向:系统判断部分组成:根据各数据库内容而不同流通量:依用户输入而定4.数据流名:反馈信息来源:系统判断部分去向:用户组成:系统经判断后发回的字符数据流通量: 依系统当前信息而定5.数据流名:识别信息来源:系统内部检验部分去向:系统判断部分组成:系统各数据库的标识信息流通量:用户每次输入流通一次6.数据流名:处理信息来源:系统判
24、断部分去向:各数据库处理部分组成:读取/修改标识,读取/修改的变量名称流通量:用户每次输入流通一次7.数据流名:读取修改来源:系统判断部分去向:系统各数据库组成:读取/修改标识,读取/修改内容流通量: 用户每次输入流通一次(2)数据文件词条描述:1.数据文件名:用户数据简述:存储用户信息数据文件组成:用户的各项信息(以String类型为主)2.数据文件名:好友数据简述:存储好友信息数据文件组成:好友的各项信息(以String类型为主)(3)使用逻辑词条描述:1.使用名:查看简要描述:判断用户的许可性输入数据流:登录信息输出数据流:登录结果使用逻辑:判断是否与系统内部用户信息相符合2.使用名:好
25、友信息管理简要描述:对用户数据库进行相应要求的操作,并与判断部分交互输入数据流:处理信息,读取修改输出数据流: 读取修改, 处理信息使用逻辑:判断用户要读取/修改的内容-反馈用户所需信息8.5数据采集 是确保数据快速、正确地输入系统,本系统选用键盘输入,鼠标输入。 比较首先,纸牌判定成败的时间就要短于扫雷,一开局,一看7张明面上的牌能拆兑开的太少,马上f2,新开一局,不费那个事情,而扫雷不一样,你无法在开局时就立刻判断出你在这新的一局当中的地位有利还是不利,非得失败了才只得放弃前面的努力,特别是前面都扫除了98颗雷,最后要做出二选一的时候点错了,结果只能含恨打开又一局。第三,扫雷需要选择的次数太多,看得到的偶然性太大,特别是在你连续蒙对了好多处之后,很有可能折在又一个选择之下。写到这里我似乎理清了一点思路,之所以没能更接受扫雷,很大程度上是因为我觉得纵使是熟手(当然是纯业余的爱好者),也无法真正去驾驭它的规律,不得不接受被游戏玩的现实。比较而言,纸牌就要厚道得多,即便不去主动总结规律,规律也会逐渐在脑海中成形。其实,扫雷是要你坚持,而纸牌,玩到后来,我发现更多时候是放弃,当形势不妙的时候,比如调单张,我会毫不犹豫地重开一局,因为那样成功的机率太低了,而且我也的确碰到过一张牌都搬不动的局,那种情况也属于低概率事件。