ImageVerifierCode 换一换
格式:DOC , 页数:33 ,大小:734.50KB ,
资源ID:8819908      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8819908.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(JAVA拼图论文.doc)为本站上传会员【s4****5z】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

JAVA拼图论文.doc

1、 2012 届 本 科 毕 业 设 计(论 文) 基于JAVA的手机游戏开发 Based on JAVA mobile phone game development 学 院: 工学院 专 业: 计算机科学与技术0801 姓 名: 刘洋 学 号: 080102060004 指导教师: 高文玲 完成时间: 2012年4月18日 二 〇 一 二 年 四 月

2、 基于JAVA的手机游戏开发 摘 要 本拼图游戏前期是基于J2SE平台开发的,是一个Application,它的实现过程是将一张大图切割成N张小图,然后在其中任意挑出N-1张小图,使它们随机出现在N个位置。通过鼠标或键盘的方向键移动已经切割的N-1张小图,让其复原成原来的顺序,玩家就胜利,游戏就结束了。在游戏结束之后,会自动将游戏得分及时间计算出来。让有些玩家可以查看自己的成绩。游戏可以设置多个等级,所拼的图片也可以进行选择,让游戏玩家可以根据自己的喜好进行选择。 关 键 词:JAVA语言;应用程序;游戏 Based on JAVA mobile phone game

3、 development Abstract This puzzle is based on the J2SE platform, it is one the Application of the rules of the game and jigsaw puzzle Noah. This game will cut to a picture N Zhang diagram, then any single out N-1 Zhang diagram, so that they appear randomly in the N position. By mouse or keyboard

4、 direction keys to move the N-1 has been cut Zhang diagram, allowed to recover to their original order, the players on the victory, the game ended. After the end of the game, the game score calculated. The game can set up multiple levels, you can play complex, you can play simple, and so on Keywo

5、rds: Java language ;application;game 前 言 随着计算机技术的不断发展,网络技术的普及范围也越来越广,网络能够提供的服务多样、便捷,已经成为人们生产生活中不可缺少的重要组成部分。特别是当今手机用户队伍的不断壮大,人们在使用手机进行交流的同时,也对手机的娱乐功能有了要求。智能机的出现,使得人们可以从网上下载各种游戏,在空闲的时间进行娱乐。人们对手机游戏种类、画面的流畅,丰富的颜色也有了一定的要求。手机游戏发展迅速,它凭借健康、方便、互动性强、益智等诸多优点,已经成为大部分现代人休闲娱乐的首选。 该课题所设计实现

6、的拼图游戏是使用Java语言开发的一款游戏。这款游戏是一个小巧、益智的游戏。无论是服务器还是客户端的实现都相对容易。通过对该游戏软件的编写,还可以巩固学生对以上各种知识的掌握和理解。 目 录 第一章 概述 1 1.1项目开发的背景 1 1.2项目开发的目的 1 1.3 开发环境介绍 1 1.3.1. java语言 2 1.3.2 myeclipse介绍 2 第二章 可行性分析及总体设计原则 4 2.1可行性分析 4 2.1.1技术可行性 4 2.1.2 经济可行性 4 2.1.3社会可行性 4 2.2 总体设计原则 4 第三章 系统分析 6 业务流程分析 6

7、 第四章 系统设计 7 模块流程图 7 第五章 系统演示 8 5.1程序主界面 8 5.2 等级设置 12 5.3图片选择 19 5.4 拼图画面 20 5.5 显示原图 21 5.6拼图成功 22 5.7打破拼图记录界面 23 5.8拼图成功后排名情况 24 结 论 25 致 谢 26 参考文献 27 西安外事学院工学院毕业论文 第一章 概述 1.1项目开发的背景 随着科技的发展,现在手机的功能越来越多,越来越强大,手机游戏开发行业也应运而生。手机游戏画面也日趋细腻、流畅,规则复杂,具有很强的娱乐性和交互性。加之手机携带方便,人们可

8、以随时随地可以沉浸在自己喜欢的游戏中,成为人们消遣时间的首选。庞大的用户群使得手机游戏的发展具有潜在的前景。 由于大多数的手机都内置了Java的运行环境,加上Java语言自身的跨平台特性,Java成为了编写手机游戏时最常使用的语言之一。 拼图游戏很多人都玩过,它的游戏规则是将图片进行分割,然后将顺序打乱,要求游戏玩家从左至右的顺序进行移动分割好的图片,把打乱顺序的小图片拼成一个完整的图。前提要求是,每次只可以移动一个小图。这个程序实现了拼图游戏中的基本功能。首先你可以载入自己喜欢的图片,然后进行难易程度的选择,在打乱顺序的图片右侧有排列正确的原图,可以对比进行排列。在你点击开始的时候,同

9、时开始计时,如果你成功地拼好,此时时间停止,同时给出成功提示信息,要求输入游戏玩家的姓名,并按照时间的长短进行比较、排名,每个等级只保留用时最少的游戏玩家的资料。如果发现自己完成不了,可以放弃当前正在进行的游戏,重新开始新游戏。 1.2项目开发的目的 1) 实现程序GUI图形界面; 2) 实现游戏开始、重来、退出功能; 3) 设计实现游戏主要算法; 4) 实现鼠标或键盘事件响应模块; 5) 实现用户可选难度等级功能; 6) 实现输赢自动判别功能。 7) 查看原图功能 8) 图片选择功能 9) 关于游戏 1.3 开发环境介绍 由于手机游戏开发普遍采用java语言

10、该游戏采用的开发环境为:JDK1.6,Myeclipse集成开发环境。下面简要介绍一下开发语言及开发工具。 23 西安外事学院工学院毕业论文 1.3.1. java语言 (1) 简单性 Java与C++语言非常相近,但Java比C++简单,它抛弃了C++中的一些不是绝对必要的功能,如头文件、预处理文件、指针、结构、运算符重载、多重继承以及自动强迫同型。 Java实现了自动的垃圾收集,简化了内存管理的工作。 (2) 面向对象 Java吸收了C++面向对象的概念,将数据封装于类中,实现了程序的简洁性和便于维护性,使程序代码可以只需一次编译就可反复利用。 (3) 多线程

11、 多线程使应用程序可以同时进行不同的操作,处理不同的事件。在多线程机制中,不同的线程处理不同的任务,他们之间互不干涉,不会由于一处等待影响其他部分,这样容易实现网络上的实时交互操作。 (4) 分布性 Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便的访问其他对象。 (5) 体系结构中立 Java是一种网络语言,为使Java程序能在网络的任何地方运行,Java解释器生成与体系结构无关的字节码结构的文件格式。为了使Java的应用程序能不依赖于具体的系统,Java语言环境还提供了用于访问底层操作系统功能的类组成的包,当程序使用这些包

12、时,可以确保它能运行在各种支持Java的平台上。 (6) 安全性 用于网络、分布环境下的Java必须要防止病毒的入侵,Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。 1.3.2 myeclipse介绍 MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。 MyEclipse企业级工作平台(MyEclipse Enterprise Workbench

13、简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript ,Spring ,Hibernate。 在结构上,MyEclipse的特征可以被分为7类:   1. J2EE模型   2. WEB开发工具   3. EJB开发工具   4. 应用程序服务器的连接器   5. J2EE项目部署服务   6. 数据库服务   7. MyEclip

14、se整合帮助 对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。 Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集。 简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。 MyEclipse是Eclipse的插件,也

15、是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。 西安外事学院工学院毕业论文 第二章 可行性分析及总体设计原则 2.1可行性分析 为避免开发失误,保证新系统的成功开发和运行,从技术、经济和社会三方面对本系统的可行性进行了分析和研究。 2.1.1技术可行性 本系统的开发基于Swing技术的拼图游戏开发。Swing可以轻松开发功能丰富

16、的应用程序。现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,利用现有技术条件可以达到该系统的功能目标。本人在学校期间已经掌握Java设计思想和代码编写。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发的。 因此,java拼图游戏具有技术可行性。 2.1.2 经济可行性 具有信息化的处理设施,并且拥有支持本系统的应用平台。因此无需再投入资金购买其他设施。系统的开发基于本人对程序开发的实践学习而来,无需资金投入,并且软件开发过程投入的成本不高,因此开发经费完全可以接受。 游戏开发成功后可以提供娱乐、休闲等。 因此,java拼图游戏开发也具有经济可

17、行性。 2.1.3社会可行性 本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究。 (1)法律因素 系统的软件设计是在独立的环境下完成的,无可供抄袭的软件产品。 (2)用户使用可行性 本系统对用户的要求,除了需要具备在Microsoft Windows平台上使用个人电脑的知识外,并不需要特别的技术能力。在投入使用前,无需对操作系统的人员进行培训。这样既减少投入成本又简化了操作环节。 因此,java拼图游戏也具有社会可行性。 2.2 总体设计原则 本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则。其主要设计原则有: 简单

18、性:在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个系统来说是非常重要的。 针对性:本系统设计是针对java拼图游戏的需求定向开发设计,所以具有专业突出和很强的针对性。 实用性:要求本系统能够满足java拼图游戏的需要,因此具有良好的实用性。 一致性:页面整体设计风格以及命名规则的一致性:整体框架和用图用色风格及变量、类名和其他元素的命名规则保持一致。 功能一致性:完成同样的功能应该尽量使用同样的元素。 元素风格一致性:界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的。 变量命名规则的一致性:变量应该用统一的规则进行命名,做到任意变量均能从上下文推断

19、其义。 先进性:本系统采用Myeclipse做为开发工具,使用swing技术开发,软件具有良好的兼容性和系统稳定性。因此本设计具有良好的先进性 。 西安外事学院工学院毕业论文 第三章 系统分析 业务流程分析 在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态。 业务流程分析可以帮助开发者了解该业务处理过程,发现和处理系统调查工作中的错误和疏漏。 java拼图游戏的具体的业务流程

20、图,流程如图3.1所示。 图3-1 程序启动后,玩家进行难度的选择,再进行图片选择。 然后就可以点击开始游戏,游戏中移动分割后的小块,使其成为一幅完整的图片。拼图成功后会显示玩家的用时和步骤数,同时还会要求玩家输入姓名并查看排名。 第四章 系统设计 模块流程图 图4-1 主程序运行后,进行难度选择,难度分为高级、中级、初级三种等级,等级越高,图片被分割的块数越多,拼接的难度也越大。然后再进行图片的选择,本游戏中已经预先载入了三张图片可供玩家选择。最后点击开始游戏。 西安外事学院工学院毕业论文 第五章 系统演示 5

21、1程序主界面 运行程序得到如下主界面,界面中有游戏操作菜单栏和操作提示。 菜单栏中有三个选项:开始,设置,关于。 主界面上还有操作提示,有助于我们快速了解该游戏的如何使用。 图5-1 主要代码: import java.awt.image.BufferedImage; import javax.swing.JButton; import javax.swing.ImageIcon; import javax.swing.JOptionPane; import javax.swing.JRadioButtonMenuItem; public class M

22、ainPinTu extends CardFrame { private boolean start; private int fWidth = this.getWidth(); private int fHeight = this.getHeight(); private GameOver gOver; private boolean index = true; public MainPinTu() { start = false; ImageIcon icon = new ImageIcon("icon/ico.png"); this.s

23、etSize(200 + fWidth, 200 + fHeight); this.setIconImage(icon.getImage()); this.setVisible(true); } private void startGame() { if (start) return; start = true; updateMenuBegin(); } public void endGame() { updateMenuBegin(); initMenuBackground(); start = fals

24、e; JOptionPane.showMessageDialog(null, "时间:" + gOver.getTime() + "s\n" + "步骤:" + gOver.getStep() ); Grades g = new Grades(this); g.set((int)gOver.getTime(), gOver.getStep()); } protected void FrameLostFocus() { if (start && index) { nextCard(); if (gOver !=

25、null) gOver.pause(); index = false; } } protected void FrameGetFocus() { nextCard(); if (gOver != null) gOver.pause(); index = true; } public void menuNewClick() { Split sp = Split.get(); BufferedImage [][] image; if (!sp.set(getFilename()) || (image = sp.div

26、id(getType())) == null) { JOptionPane.showMessageDialog(null, "文件 "+getFilename()+" 不存在!\n请选择~"); return; } startGame(); this.setSize(fWidth, fHeight); this.setVisible(true); int len = Split.level[getType()]; int row = image.length; int cal = image[0].length; g

27、Over = new GameOver(this); JButton [][] button = new JButton[row][cal]; Matrix matrix = new Matrix(button, panel[0], len, gOver); matrix.init(image); this.setSize(cal * len + fWidth, row * len + fHeight); this.setVisible(true); } public void menuGradesClick() { Grades g =

28、 new Grades(this); g.show(); } public void menuShowClick() { new ShowImage(getFilename()); } public void menuExitClick() { System.exit(0); } public void menuHelpClick() { String help0 = "移动小图片,使其成为原始图像。\n\n"; String help1 = "触摸周围的空白块小图片,使其走向空白块移动。"; JOptionP

29、ane.showMessageDialog(null, help0 + help1); } public void menuAboutClick() { String version = "名称: java拼图游戏 \n"; String author = "作者: 文之秀创意工作室\n"; String email = "E-mail: 295199087@"; JOptionPane.showMessageDialog(null, version + author + email); } public static void main(S

30、tring [] argv) { MainPinTu app = new MainPinTu(); app.setSize(400, 300); } } 5.2 等级设置 在设置菜单中有等级选择项,等级分为Hard,Normal,Easy。难度不同,对图片所分割的块数就不同,等级越高,分块数越多,拼图的难度也就相应的增加。 图5-2 代码如下: import java.io.File; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

31、import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JRadioButtonMenuItem; import javax.swing.ButtonGroup; import javax.swing.KeyStroke; public abstract class MenuFrame extends JFrame { public final static int

32、heightTitle = 30; public final static int widthTitle = 6; public final static int heightMenu = 27; private JMenu [] m = { new JMenu("开始(B)"), new JMenu("设置(O)"), new JMenu("关于(A)") }; private JMenu [] mm = { new JMenu("等级(L)"), new JMenu("图片(B)") }; private boolean upd

33、ate; private int type; private String filename; protected ButtonGroup bgrp = new ButtonGroup(); protected ButtonGroup fgrp = new ButtonGroup(); public MenuFrame() { super("Java拼图游戏"); addMenu(); this.setResizable(false); this.setDefaultCloseOperation(EXIT_ON_CLOSE);

34、this.setSize(widthTitle, heightTitle+heightMenu); this.setLocation( this.getToolkit().getScreenSize().width/3 - this.getWidth()/3, this.getToolkit().getScreenSize().height/3 - this.getHeight()/3 ); } private void addMenu() { JMenuBar mBar = new JMenuBar(); this.setJMenuBa

35、r(mBar); mBar.add(m[0]); mBar.add(m[1]); mBar.add(m[2]); m[0].setMnemonic('B'); m[1].setMnemonic('O'); m[2].setMnemonic('A'); initMenuBegin(); initMenuOption(); initMenuAbout(); update = false; } public abstract void menuNewClick(); public abstract void me

36、nuGradesClick(); public abstract void menuShowClick(); public abstract void menuExitClick(); private void menuLevelClick(String nm) { type = 3; if (nm.equals("Hard")) type = 0; else if (nm.equals("Normal")) type = 1; else if (nm.equals("Easy")) type = 2; } pri

37、vate void menuBackgroundClick(String nm) { filename = nm; } public abstract void menuHelpClick(); public abstract void menuAboutClick(); public int getType() { return type; } public String getFilename() { return filename; } private void initMenuBegin() { J

38、MenuItem [] mI = { new JMenuItem("新建(N)"), new JMenuItem("等级(G)"), new JMenuItem("退出(E)") }; mI[0].setMnemonic('N'); mI[1].setMnemonic('G'); mI[2].setMnemonic('E'); mI[0].setAccelerator(KeyStroke.getKeyStroke("ctrl N")); mI[2].setAccelerator(KeyStroke.getKeyStroke("

39、ctrl W")); mI[0].addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { menuNewClick(); } } ); mI[1].addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { menuGradesClick();

40、 } } ); mI[2].addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { menuExitClick(); } } ); m[0].add(mI[0]); m[0].add(mI[1]); m[0].add(mI[2]); m[0].insertSeparator(2); } private void initMenuOption() {

41、 mm[0].setMnemonic('L'); mm[1].setMnemonic('B'); m[1].add(mm[0]); m[1].add(mm[1]); initMenuLevel(); initMenuBackground(); } private void initMenuLevel() { JRadioButtonMenuItem [] mi = { new JRadioButtonMenuItem("Hard"), new JRadioButtonMenuItem("Normal"),

42、 new JRadioButtonMenuItem("Easy") }; for (int i = 0; i < 3; i++) { mi[i].addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JRadioButtonMenuItem mi = (JRadioButtonMenuItem)e.getSource(); menuLevelClick(mi.getText());

43、 } } ); bgrp.add(mi[i]); mm[0].add(mi[i]); } mi[1].setSelected(true); menuLevelClick(mi[1].getText()); } public void initMenuBackground() { mm[1].removeAll(); File bkg = new File(Arg.path); if (!bkg.exists()) return; File [] list = bkg.listFiles

44、); JRadioButtonMenuItem mi; int j = 0; for (int i = 0; i < list.length; i++) { if (!list[i].isFile() || list[i].isHidden()) continue; mi = new JRadioButtonMenuItem(list[i].getName()); mi.addActionListener(new ActionListener() { public void actionPerformed(Act

45、ionEvent e) { JRadioButtonMenuItem mi = (JRadioButtonMenuItem)e.getSource(); menuBackgroundClick(mi.getText()); } } ); fgrp.add(mi); mm[1].add(mi); mi.setSelected(j == 0); if (j == 0) menuBackgroundClick(mi.getText()); j++; } } pri

46、vate void initMenuAbout() { JMenuItem [] mI = { new JMenuItem("帮助(H)"), new JMenuItem("关于(A)") }; mI[0].setMnemonic('H'); mI[1].setMnemonic('A'); mI[0].setAccelerator(KeyStroke.getKeyStroke("F1")); mI[0].addActionListener(new ActionListener() { public void

47、actionPerformed(ActionEvent e) { menuHelpClick(); } } ); mI[1].addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { menuAboutClick(); } } ); m[2].add(mI[0]); m[2].add(mI[1]); } public void update

48、MenuBegin() { update = !update; if (!update) { m[0].remove(2); return; } JMenuItem mi = new JMenuItem("显示原图(S)"); mi.setMnemonic('S'); mi.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { menuShowClick(); }

49、 } ); m[0].insert(mi, 2); } } 5.3图片选择 在工具栏中的设置菜单中有如下两项:可以对游戏难易程度选择的等级设置菜单以及可以选择不同图片的菜单。如下界面是对图片进行选择,该游戏中预先载入了三张图片可供选择。 图5-3 5.4 拼图画面 这个是等级为初级的拼图画面,把一张图片分割成了9块,其中右下角一块为空的,可以移动空方格周围的任意一块到空方格处,每次只能移动相邻的一块,直到拼出整张图片。 图5-4 5.5 显示原图 在拼图过程中,如果想查看原图,可在工具菜单开始选项中找到原图显示。有原图可帮助玩家更好、更快的完成拼图。 图5-5 5.6拼图成功 这是拼图成功后的显示界面,会显示玩家在本局中拼图成功后所用的时间以及所用的步骤数。让玩家清楚的了解自己的在游戏中的详细情况。 图5-6 5.7打破拼图记录界面 如果你打破了记录,点击上图的确定按钮后会显示如下界面,让玩家输入自己的姓名。玩家可在菜单开始选项中的等级排名查看记录。如果没有打破记录就没有此界面。 图5-7 5.8拼图成功后排名情况 这

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服