java实现蜘蛛纸牌与实现.docx

上传人:b****7 文档编号:10134376 上传时间:2023-02-08 格式:DOCX 页数:75 大小:370.67KB
下载 相关 举报
java实现蜘蛛纸牌与实现.docx_第1页
第1页 / 共75页
java实现蜘蛛纸牌与实现.docx_第2页
第2页 / 共75页
java实现蜘蛛纸牌与实现.docx_第3页
第3页 / 共75页
java实现蜘蛛纸牌与实现.docx_第4页
第4页 / 共75页
java实现蜘蛛纸牌与实现.docx_第5页
第5页 / 共75页
点击查看更多>>
下载资源
资源描述

java实现蜘蛛纸牌与实现.docx

《java实现蜘蛛纸牌与实现.docx》由会员分享,可在线阅读,更多相关《java实现蜘蛛纸牌与实现.docx(75页珍藏版)》请在冰豆网上搜索。

java实现蜘蛛纸牌与实现.docx

java实现蜘蛛纸牌与实现

Java实现蜘蛛纸牌

摘要

蜘蛛纸牌的每一代的window的系统都有,同时也时一款很受用户喜欢的休闲类游戏,很多人都喜欢玩蜘蛛纸牌。

本人做的蜘蛛纸牌游戏开发理念是基于window7操作系统中的蜘蛛纸牌游戏。

利用java语言实现蜘蛛纸牌游戏的主要功能:

纸牌的移动,放置,回收,重发。

利用javax.swing包的类实现纸牌游戏的用户界面,通为各个菜单组件添加监视器来实现鼠标单击事件所触发的接口方法,使得用户可以单击菜单项来实现具体的功能。

通过这次游戏程序的设计,让我对Java有了更深的了解和练习,这对于我以后找到工作打下了的坚实的基础。

关键字:

java语言;游戏的背景;功能实现

 

JavaSpiderSolitaire

Abstract

SystemofSpiderSolitaireeachgenerationofbothwindow,butalsoaverypopularwhenuserslikeleisuregame,alotofpeopleliketoplayspidersolitaire.IdoSpiderSolitairegamedevelopmentconceptisthewindow7operatingsystemofSpiderSolitairegamebasedon.

ToachievethemainfunctionofSpiderSolitairegameusingjavalanguage:

Solitairemobile,placement,recovery,repeat.Thecardgameuserinterfaceusingthejavax.swingpackageclass,interfacemethodforeachmenucomponentstoaddmonitortoachievethemouseclickeventtriggered,sothattheusercanclickonamenuitemtoachievespecificfunctions.Throughthedesignofthegameprogram,letmehaveadeeperunderstandingandPracticeonJava,thisrightafterIfindworktolayasolidfoundation.

Keywords:

Javalanguage;gamebackground;functionrealizati

 

1绪论

1.1游戏开发的背景知识

蜘蛛纸牌时一款很受大家喜欢的休闲类游戏,随着科学技术的不断发展的蜘蛛纸牌的的功能也越来越强大,界面变的越来越美观,玩蜘蛛纸牌的人也很多。

蜘蛛纸牌在window2000的时候就已经存在于系统中,一直是大家在休闲的最佳游戏。

通过这次蜘蛛纸牌游戏的设计,实现蜘蛛纸牌的主要功能,不论是对游戏的了解,还是对自己设计程序的能力都是很好的提高。

游戏的目标是以最少的移动次数将牌面中的十叠牌以及待发的五组,共计八副牌整理移除。

当所有牌被移除整理到界面的左下方,游戏获胜。

1.2需要做的准备工作

需要做的工作有学习掌握开发程序的方法,安装所需的编程的平台eclipse,了解开发工具,进行进程分析,根据得需求规格说明书设计具体的程序流程图,编写程序,修改程序,运行程序,系统调试程序、测试程序,发布程序。

2开发工具介绍

2.1java语言概述

java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE,JavaME,JavaSE)的总称。

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。

Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

现在常用的浏览器比如说360浏览器,IE浏览器中均配备有javaapplet。

Java不同于一般的编译执行计算机语言和解释执行计算机语言。

它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。

从而实现了“一次编译、到处执行”的跨平台特性。

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了Java程序的性能。

2.2java语言的特点

java语言是一种简单的、面向对象的、分布式的、健壮的、安全的、与平台无关的、多线程、高性能的、动态程序设计语言。

1.java语言简单易学的:

java语言的语法与C语言和C++语言很接近,使得多数程序员很容易学习和使用java。

另一方面,java丢弃了C++中很少使用的,很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。

特别地。

java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

2.平台无关性:

平台无关性是指Java能运行于不同的平台。

Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。

使用Java编写的程序能在世界范围内共享。

Java的数据类型与机器无关,Java虚拟机(JavaVirtualMachine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。

  

3.安全性:

Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。

除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类classloader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。

 4.面向对象:

Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制。

Java语言全面

支持动态绑定,而C++语言只对虚函数使用动态绑定。

总之,Java语言是一个纯的面向对象程序设计语言。

  

5.分布式:

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口,它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。

Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

6.健壮性:

Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。

对指针的丢弃是Java的明智选择。

Java的安全检查机制使得Java更具健壮性。

 7.解释型:

Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。

在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

 8.动态:

java程序的基本组成单元就是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行时动态装载的,这就使得Java可以在分部环境中动态的维护程序及分类,而不像C++那样,没档期类库升级以后,如果想让程序具有新类库提供的功能,就需要修改程序,重新编译。

9.多线程:

在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子类来创建。

通常有两种方法来创建线程:

其一,使用型构为Thread的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。

值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。

线程的活动由一组方法来控制。

Java语言支持多个线程的同时执行,并提供多线程之间的同步机制。

10.可以移植的:

这种可移植性来源于体系结构中立性,另外,java还严格规定了各个基本数据类型的长度。

java系统本身也具有很强的可移植性,java编译器是用java实现的,java运行环境是用ANSIC实现的。

11.Java语言是体系结构中立的:

Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。

这种途径适合于异构的网络环境和软件的分发。

2.3Eclipse简介

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。

  虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。

Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。

由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

这种平等和一致性并不仅限于Java开发工具。

尽管Eclipse是使

用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++和COBOL等编程语言的插件已经可用,或预计将会推出。

Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。

基于Eclipse的应用程序的一个突出例子是IBM®Rational®SoftwareArchitect,它构成了IBMJava开发工具系列的基础。

EclipseIDEforJavaEEDevelopers。

3可行性分析

可行性分析是通过对项目的主要内容和配套条件,如市场需求、资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及社会环境影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为项目决策提供依据的一种综合性的系统分析方法。

可行性分析应具有预见性、公正性、可靠性、科学性的特点。

3.1概述

可行性研究主要内容是要求以全面、系统的分析为主要方法,经济效益为核心,围绕影响项目的各种因素,运用大量的数据资料论证拟建项目是否可行。

对整个可行性研究提出综合分析评价,指出优缺点和建议。

为了结论的需要,往往还需要加上一些附件,如试验数据、论证材料、计算图表、附图等,以增强可行性报告的说服力。

化工项目可行性研究软件(RSGL-KX2.0),以化工行业《可行性研究报告》、《立项申请书》规范为基础,通过文本、数据灵活调用,生成符合国家规定的《可行性研究报告》、《项目立项申请书》的格式。

本软件的意义在于提高化工应用课题立项及项目生产转化时的可行性研究的准确预测,旨在克服化工科技人员在技术指标、生产销售、环境评价、成本核算、利润分配、风险评估等方面的知识欠缺,降低化工项目的投资风险。

该软件的内容翔实,使用简便,只需要输入基础技术数据和基础经济数据就可得到规范的完整《可行性研究报告》和《项目立项申请书》文档。

我国可行性研究存在的主要问题,一是工程技术方案的研究论证深度不够。

按照国外的通常做法,可行性研究阶段的研究深度应能达到定方案的程度,因此要求在工程技术方案论证,应达到BasicDesign或ConceptDesign的程度,基本相当于我国的初步设计应达到的水平,应提出明确的设备清单;二是财务评价就项目论项目,这与国外利用企业理财的理论和方法进行资本预算管理,对投资项目进行投资决策和融资决策的通行做法存在重大差异,并且在经济评价方面不恰当地使用了"国民经济评价"的概念,由此引起一系列的认识误区;三是在市场分析、组织机构分析等方面与国外差别较大,研究深度严重不足;四是不重视多方案的比选及项目风险分析,或者分析的内容、深度严重不足,缺乏项目周期各阶段风险管理的统一筹划及策略论证。

可行性研究的依据:

一个拟建项目的可行性研究,必须在国家有关的规划、政策、法规的指导下完成,同时,还必须要有相应的各种技术资料。

进行可行性研究工作的主要依据主要包括:

①国家经济和社会发展的长期规划,部门与地区规划,经济建设的指导方针、任务、产业政策、投资政策和技术经济政策以及国家和地方法规等;

②经过批准的项目建议书和在项目建议书批准后签订的意向性协议等;

③由国家批准的资源报告,国土开发整治规划、区域规划和工业基地规划。

对于交通运输项目建设要有有关的江河流域规划与路网规划等;

④国家进出口贸易政策和关税政策;

⑤当地的拟建厂址的自然、经济、社会等基础资料;

⑥有关国家、地区和行业的工程技术、经济方面的法令、法规、标准定额资料等;

⑦由国家颁布的建设项目可行性研究及经济评价的有关规定;

⑧包含各种市场信息的市场调研报告。

可行性研究的一般要求:

可行性研究工作对于整个项目建设过程乃至整个国民经济都有非常重要的意义,为了保证可行性研究工作的科学性、客观性和公正性,有效地防止错误和遗漏,在可行性研究中,

(1)首先必须站在客观公正的立场进行调查研究,做好基础资料的收集工作。

对于收集的基础资料,要按照客观实际情况进行论证评价,如实地反映客观经济规律,从客观数据出发,通过科学分析,得出项目是否可行的结论。

(2)可行性研究报告的内容深度必须达到国家规定的标准,基本内容要完整,应尽可能多地占有数据资料,避免粗制滥造,搞形式主义。

(3)为保证可行性研究的工作质量,应保证咨询设计单位足够的工作周期,防止因各种原因的不负责任草率行事。

具体工作周期由委托单位与咨询设计单位在签订合同时协商确定。

3.2本系统的可行性分析

(1).投资必要性

主要根据市场调查及预测的结果,以及有关的产业政策等因素,论证项目投资建设的必要性;

(2).技术的可行性

主要从事项目实施的技术角度,合理设计技术方案,并进行比选和评价;

(3).财务的可行性

主要从项目及投资者的角度,设计合理财务方案,从企业理财的角度进行资本预算,评价项目的财务盈利能力,进行投资决策,并从融资主体(企业)的角度评价股东投资收益、现金流量计划及债务清偿能力;

(4).组织的可行性

制定合理的项目实施进度计划、设计合理组织机构、选择经验丰富的管理人员、建立良好的协作关系、制定合适的培训计划等,保证项目顺利执行;

(5).经济的可行性

从资源配置的角度衡量项目的价值,评价项目在实现区域经济发展目标、有效配置经济资源、增加供应、创造就业、改善环境、提高人民生活等方面的效益。

(6).社会可行性

分析项目对社会的影响,包括政治体制、方针政策、经济结构、法律道德、宗教民族、妇女儿童及社会稳定性等;

(7).风险因素控制的可行性

对项目的市场风险、技术风险、财务风险、组织风险、法律风险、经济及社会风险等因素进行评价,制定规避风险的对策,为项目全过程的风险管理提供依据。

3.3系统分析

3.3.1限定问题

所谓问题,是现实情况与计划目标或理想状态之间的差距。

系统分析的核心内容有两个:

其一是进行“诊断”,即找出问题及其原因;其二是“开处方”,即提出解决问题的最可行方案。

所谓限定问题,就是要明确问题的本质或特性、问题存在范围和影响程度、问题产生的时间和环境、问题的症状和原因等。

限定问题是系统分析中关键的一步,因为如果“诊断”出错,以后开的“处方”就不可能对症下药。

在限定问题时,要注意区别症状和问题,探讨问题原因不能先入为主,同时要判别哪些是局部问题,哪些是整体问题,问题的最后确定应该在调查研究之后。

通过亲身体验总结各银行ATM提款机界面流程,得到本系统开发的主要流程界面(主要功能取款、转账、查询、修改密码等)。

3.3.2确定目标

系统分析目标应该根据客户的要求和对需要解决问题的理解加以确定,如有可能应尽量通过指标表示,以便进行定量分析。

对不能定量描述的目标也应该尽量用文字说明清楚,以便进行定性分析和评价系统分析的成效。

3.3.3调查研究,收集数据

调查研究和收集数据应该围绕问题起因进行,一方面要验证有限定问题阶段形成的假设,另一方面要探讨产生问题的根本原因,为下一步提出解决问题的备选方案做准备。

调查研究常用的有四种方式,即阅读文件资料、访谈、观察和调查。

收集的数据和信息包括事实(facts)、见解(opinions)和态度(attitudes)。

要对数据和信息去伪存真,交叉核实,保证真实性和准确性。

3.3.4提出方案和评价标准

通过深入调查研究,使真正有待解决的问题得以最终确定,使产生问题的主要原因得到明确,在此基础上就可以有针对性地提出解决问题的备选方案。

备选方案是解决问题和达到咨询目标可供选择的建议或设计,应提出两种以上的备选方案,以便提供进一步评估和筛选。

为了对备选方案进行评估,要根据问题的性质和客户具备的条件。

提出约束条件或评价标准,供下一步应用。

3.3.5方案评估

根据上述约束条件或评价标准,对解决问题备选方案进行评估,评估应该是综合性的,不仅要考虑技术因素,也要考虑社会经济等因素,评估小组应该有一定代表性,除咨询项目组成员外,也要吸收客户组织的代表参加。

根据评估结果确定最可行方案。

3.3.6提交可行方案

最可行方案并不一定是最佳方案,它是在约束条件之内,根据评价标准筛选出的最现实可行的方案。

如果客户满意,则系统分析达到目标。

如果客户不满意,则要与客户协商调整约束条件或评价标准,甚至重新限定的问题,开始新一轮系统分析,直到客户满意为止。

 

 

4总体设计

4.1系统设计

即对有关系统全局问题的设计,也就是设计系统总的处理方案,又称系统概要设计。

它包括:

计算机配置设计、系统模块结构设计、数据库和文件设计、代码设计以及系统可靠性与内部控制设计等内容。

软件功能分解属于下列软件开发中的总体设计阶段。

概要设计解决软件系统的模块划分和模块的层次机构以及数据库设计;详细设计解决每个模块的控制流程,内部算法和数据结构的设计。

这个阶段结束,要交付概要设计说明书和设计说明,也可以合并在一起,称为设计说明书。

系统设计通常应用两种方法:

一种是归纳法,另一种是演绎法。

应用归纳法进行系统设计的程序是:

首先尽可能地收集现有的和过去的同类系统的系统设计资料;在对这些系统的设计、制造和运行状况进行分析研究的基础上,根据所设计的系统的功能要求进行多次选择,然后对少数几个同类系统作出相应修正,最后得出一个理想的系统。

演绎法是一种公理化方法,即先从普遍的规则和原理出发,根据设计人员的知识和经验,从具有一定功能的元素集合中选择能符合系统功能要求的多种元素,然后将这些元素按照一定形式进行组合(见系统结构),从而创造出具有所需功能的新系统。

在系统设计的实践中,这两种方法往往是并用的。

系统设计原则:

(1)阶段开发原则

系统框架和数据结构全面设计,具体功能实现分阶段进行。

网站的建设过程可以采取以下三期:

第一期工程搭建网站的基本构架,实现电子商务网的大部分功能,初步实现网上交易;第二期工程实现网上竞价系统的全部功能;第三期工程实现网站在线的BtoB交易。

(2)易用性原则

方便上网客户浏览和操作,最大限度地减轻后台管理人员的负担,做到部分业务的自动化处理。

(3)业务完整性原则

对于业务进行中的特殊情况能够做出及时、正确的响应,保证业务数据的完整性。

(4)业务规范化原则

在系统设计的同时,也为将来的业务流程制定了较为完善的规范,具有较强的实际操作性。

(5)可扩展性原则

系统设计要考虑到业务未来发展的需要,要尽可能设计得简明,各个功能模块间的耦合度小,便于系统的扩展。

如果存在旧有的数据库系统,则需要充分考虑兼容性。

本系统参照windows游戏蜘蛛纸牌,自己编写设计实现其功能,它具有如下一些功能:

设计一个游戏界面,包括玩牌区、发牌区和回收区。

(1)纸牌以及其背景的设定。

(2)移动纸牌。

使用鼠标将较小的纸牌拖放到较大的纸牌下方,可以拖动一组纸牌,当要求这组纸牌是同一个花色,并且这一组纸牌从上到下是从大到小排列的,且不间断。

(3)回收纸牌。

当某列出现同一花色,从上到下依次是从K到A的不间组合时,这组纸牌将被回收到回收区中。

(4)发牌。

用鼠标单击发牌区,若发牌区还有剩余的纸牌,则将发出一叠纸牌共10张,依次添加到玩牌区的10列纸牌最下方,但要求这10列纸牌没有空白列。

.若玩家不了解游戏规则可以点击帮助获得游戏方法。

(5)级别设定。

点击“游戏”菜单中选取游戏难以级别,有3种级别,分别对应初级、中级、高级。

(6)退出游戏。

4.2主要模型

该游戏的开发及相关功能的实现需要在Eclipse下建立javaproject,同时

编写Spider.java、PKCard.java、SpiderMenu..java、AboutDialog.class,另外将纸牌的图片文件保存在images文件夹中。

该游戏可分为以下各项功能:

(1)Spider.java用于实现纸牌初始化、设置游戏等级以及异常处理。

(2)PKCard.java用于定义纸牌的显示的各种属性以及鼠标事件的相应属性。

(3)SpiderMenu..java用于添加游戏下拉菜单的各个选项,包含图形用户界面的构建,组件监听的实现,以及显示可执行操作的线程。

(4)SpiderMenu.class生成Spider.class,AboutDialog.class和PKCard.class。

4.3系统功能结构图

所谓功能结构图就是将系统的功能进行分解,按功能从属关系表示的图表。

管理信息系统的各子系统可以看作是系统目标下层的功能,对其中每项功能还可以继续分解为第三层、第四层……甚至更多的功能。

功能结构图就是按照功能的从属关系画成的图表,图中的每一个框都称为一个功能模块。

功能模块可以根据具体情况分的大一点或小一点,分解得最小功能模块可以是一个程序中的每个处理过程,而较大的功能模块则可能是完成某一个任务的一组程序。

功能结构图是对硬件、软件、解决方案等进行解剖,详细描述功能列表的结构,构成,剖面的从大到小,从粗到细,从上到下等而描绘或画出来的结构图。

从概念上讲,上层功能包括(或控制)下层功能,愈上层功能愈笼统,愈下层功能愈具体。

功能分解的过程就是一个由抽象到具体、由复杂到简单的过程。

图中每一个框称为一个功能模块。

功能模块可以根据具体情况分得大一点或小一点。

分解得最小的功能模块可以是一个程序中的每个处理过程,而较大的功能模块则可能是完成某一任务的一组程序。

系统设计是新系统的物理设计阶段。

根据系统分析阶段所确定的新系统

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1