(强烈推荐)JAVA毕业论文连连看游戏的开发
连连看毕业论文
手机游戏(Mobile Game或Wireless Game),是指消费者利用随身携带并具有无线网络联机功能的智能移动终端设备,能随时随地来进行的游戏。手机游戏最大的特点是其随时随地进行游戏的便利性。这些年来,手机游戏市场有了很大的发展,手机游戏已成为使用率最高的手机娱乐应用,占到各种手机娱乐应用比例的78.4%。在日本,手机游戏市场经历多年的稳定增长,市场规模已经超过了850亿日元。在美国,手机游戏作为美国手机用户最喜欢的移动应用之一,在iPhone和Android等智能终端推出后发展迅速。而在中国,根据易观智库产业数据库最新发布的《2010年第4季度中国手机游戏市场季度监测》数据显示,我国2010年手机游戏市场规模已达到32.9亿元,继续保持了较快的发展。通过图1-1,我们能看出近些年来我国手机游戏市场的发展。
2.1.1Android基本知识………………………………….…………………..…………..….6
2.1.2Android系统特点……………………………………………………..…………..…..8
2.1.3Android手机平台优势………………………………….………………………..…..8
2.1.4Android手机游戏的市场价值………………………...……..…………........9
本文通过对Android系统架构和应用开发进行初步研究,设计一款连连看小游戏。在对系统进行详细需求分析的基础上,确定了系统的功能和性能要求,对游戏的菜单界面、屏幕绘制、时间控制、布局算法、连通算法、关卡设置、音效和动画进行了设计,并最终实现了一个界面友好、高效稳定和富有娱乐性的手机连连看益智小游戏。让人们在紧张的工作之余能够方便地放松心情。
游戏产业作为现代电脑电子技术的产物,正在以其独特的魅力在全世界的娱乐领域占据主流位置,我们在承认广大娱乐网民在选择空间狭小的同时,也必须明确的一点就是游戏本身所具有的强大的吸引力。它在让玩家打发时间的同时,可以让人实现在显示生活中不能实现的理想,得到在现实中不能得到的东西。而且游戏产业促动高科技技术不断升级,作为经济增长的一大支撑点,已经成为经济腾飞的“第四产业”。
用java实现的连连看小游戏(绝对能运行(真的))
else{ k=1; } //K=1说明通过了第一次验证
}
if (k==1) { //当通过第一次验证时
linePassOne();
}
}
if (y<j){
//如果第二个按钮的Y坐标小于空按钮的Y坐标说明第一按钮在第二//按钮右边
for (i=y+1;i<=j ;i++ ){
thisContainer.add(centerPanel,"Center"); //向窗体中添加三个Panel
thisContainer.add(southPanel,"South");
thisContainer.add(northPanel,"North");
centerPanel.setLayout(new GridLayout(6,5));
init();
for(int i = 0;i < 6;i++){
for(int j = 0;j < 5;j++ ){
if(grid[i+1][j+1]==0) //当grid数组中某一项内容为0时
diamondsButton[i][j].setVisible(false);
}
newlyButton.addActionListener(this);
southPanel.add(exitButton);
//在southPanel中添加exitButton按钮
southPanel.add(newlyButton);
//在southPanel中添加exitButton按钮
基于Flex和Java的网页小游戏连连看的开发
平顶山学院本科毕业设计基于Flex和Java的网页小游戏连连看的开发摘要游戏在现今社会里正成为人们释放压力、放松自己最行之有效的娱乐方式之一。
随着网络技术的快速发展,Flex网页小游戏以其界面美观、操作简单、无需安装、对硬件要求低等优点备受广大玩家的青睐。
因此,设计一款符合大众风格的网页小游戏具有重要意义。
在分析Flex游戏的基础上,首先通过游戏策划和需求分析确定游戏规则、界面布局和游戏所需实现的功能;然后用Flash Builder 4.6处理各种界面元素,完成游戏界面的制作;最后采用ActionScript3.0语言编程实现游戏选关、游戏开始、时间显示、得分显示、关卡显示、路径判断、图片消除、图片重置,以及重新开始和下一关等功能。
为了体现游戏的竞技性,增加趣味性,特设计Mysql数据库以保存玩家的得分及排名信息,用Java实现对数据库的直接操作,通过BlazeDs 插件连接Flex前端页面和后台Java代码,实现提交分数和查看排行榜的功能。
同时为了提高游戏性能,对路径判断算法进行了优化。
本文论述了网页游戏连连看的开发背景、意义,介绍了系统开发所使用的环境、工具以及开发语言,并对相关的开发技术进行了阐述。
重点论述了游戏策划、需求分析、详细设计、路径判断算法设计、代码实现和游戏测试的过程。
关键词:连连看,Flex,ActionScript3.0,B/S平顶山学院本科毕业设计Linkgame Development Based on Flex and JavaAbstractGame in today's society is becoming people to release pressure, relax the most effective way of a kind of entertainment. Along with the rapid development of network technology, the Flex web games, with its beautiful interface, easy operation, no installation is required, the advantages of low hardware requirements of the majority of players. Therefore, design a popular style of web games is of great significance.On the basis of analyzing the Flex game, first of all, through planning and demand analysis to determine the rules of the game, game interface layout and functionality needed for game; Then use Flash Builder 4.6 processing all kinds of interface elements, complete the game interface; Game selection is realized by using actionscript 3 language programming, game start, time display, scoring display, barriers, reset path elimination judgment, pictures, images, and start again the next level, and other functions. In order to reflect the athletics of the game, add interest, design the Mysql database to hold the player's score and ranking information, Use Java to realize the direct manipulation of the database, through the BlazeDs plugin connects Flex front-end and back-end Java code, submit scores and view the list of functions. At the same time to improve game performance, the path judgment algorithm is optimized.This paper discusses the web linkgame development background, significance, introduced the system development environment, tools, used by as well as the development language, and the development of related technology are expounded. Detailed discusses the planning, requirements analysis, detailed design, game path judgment algorithm design, code realization and game testing process.Keywords: linkgame, Flex, ActionScript3.0, B/S平顶山学院本科毕业设计目录1 绪论 (1)1.1 研究背景 (1)1.2 研究意义 (1)1.3 研究内容 (2)1.4 论文主要工作和结构安排 (2)1.5 本章小结 (2)2 相关技术及工具介绍 (3)2.1 Flex技术 (3)2.1.1 Flex介绍 (3)2.1.2 Flex的应用前景 (3)2.2 ActionScript语言 (4)2.2.1 ActionScript介绍 (4)2.2.2 ActionScript的优点 (5)2.3 Java语言 (5)2.4 BlazeDS技术 (6)2.5 开发工具 (6)2.5.1 Tomcat服务器 (6)2.5.2 Flash Builder (7)2.5.3 MyEclipse (7)2.5.4 MySQL (8)2.6 本章小结 (8)3 策划与需求分析 (9)3.1 游戏策划 (9)3.2 需求分析 (10)3.2.1 界面需求 (10)3.2.2 功能需求 (10)3.3 数据库需求 (17)3.4 本章小结 (17)4 设计与实现 (18)基于Flex和Java的网页小游戏连连看的开发4.1 总体设计 (18)4.2 详细设计和实现 (21)4.2.1 游戏界面 (21)4.2.2 级别选择 (22)4.2.3 游戏说明 (22)4.2.4 开始游戏 (23)4.2.5 图片区的显示 (24)4.2.6 关卡计时器 (24)4.2.7 得分记录 (24)4.2.8 关卡记录 (24)4.2.9 消除图片 (25)4.2.10 重置图片 (25)4.2.11 查看排行榜 (25)4.2.12 后台数据操作 (26)4.3 本章小结 (27)5 路径判断算法 (28)5.1 算法构思 (28)5.1.1 简化地图路径 (28)5.1.2 数组判断 (28)5.2 算法实现 (30)5.3 本章小结 (31)6 测试 (32)6.1 测试步骤 (32)6.1.1 界面测试 (32)6.1.2 功能测试 (32)6.2 测试结果 (34)6.3 测试分析 (34)6.4 本章小结 (34)7 结束语 (35)附录 (36)参考文献 (43)致谢 (44)平顶山学院本科毕业设计1 绪论连连看小游戏的开发是为了满足玩家休闲的需要。
基于Flex和Java的网页小游戏连连看的开发
基于Flex和Java的网页小游戏连连看的开发PINGDINGSHAN UNIVERSITY 毕业论文(设计)题目: 基于Flex和Java的网页小游戏连连看的开发院(系): 软件学院专业年级: 软件工程2009级毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日指导教师评阅书评阅教师评阅书教研室(或答辩小组)及教学系意见原创性声明本人郑重声明:本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。
JAVA课程设计连连看游戏的开发
JAVA课程设计连连看游戏的开发湖南涉外经济学院课程设计报告课程名称:程序设计实训报告题目:连连看游戏的开发学生姓名:所在学院:专业班级:学生学号:指导教师:2013年6月20日课程设计任务书报告题目连连看游戏的开发完成时间2013-6学生姓名专业班级职称讲师总体设计要求和技术要点设计一个连连看游戏程序,游戏程序的功能需求如下:游戏区是一个包含了多种不同花色游戏牌的二维棋盘,棋盘的行数和列数可以自行定义。
每一种花色的游戏牌的数量都是偶数。
两张花色相同的游戏牌的之间的路径如果满足以下条件,这两张游戏牌即可消去:路径连线由不多于3条的水平和垂直的线段构成,任何一条线段都不能穿越其他的游戏牌,但可以不在棋盘中,路径两端的游戏牌必须具有相同的花色。
游戏只要用鼠标即可进行操作。
最初棋盘里布满了游戏牌,游戏开始时进行计时。
第一次使用鼠标点击棋盘中的游戏牌,该游戏牌此时为“被选中”,以特殊方式显示;再次以鼠标点击其他游戏牌,若该游戏牌与被选中的游戏牌两者花色相同,且把第一张游戏牌到第二张游戏牌连起来,中间的线段不超过3条,则消掉这一对游戏牌,否则第一张游戏牌恢复成未被选中状态,而第二张游戏牌变成被选中状态。
每消去一对游戏牌,应检查棋盘内是否至少还存在一对能消去的游戏牌,如果不存在,则在原有位置对游戏牌进行重排,直到至少存在一对能够消去的游戏牌。
如果在指定的时间内消去了所有的游戏牌,游戏胜利;如果时间耗尽还未能消除全部的游戏牌,游戏失败。
要求每人独立完成,使用主流开发工具,尽可能采用面向对象方法,在设计判断两张相同花色游戏牌能否消去的算法时,尽可能使用状态空间搜索算法(如回溯法、分支限界法等),要求代码的具有一定的可读性、可维护性和可扩充性。
可以参考教师给定的程序或者其他程序,但程序和报告严禁全盘抄袭。
工作内容及时间进度安排第11周~第12周:对需要开发的软件进行需求分析和软件设计第13周:论证方案设计第14周~第16周:程序设计第17周:测试、修改程序,撰写报告第18周:验收答辩课程设计成果1.与设计内容对应的软件程序2.课程设计总结报告摘要近年来,Java作为一种新的编程语言,以其可移植性和平台无关性等优点,得到了广泛地应用,特别是Java与万维网的完美结合,使其成为网络编程和嵌入式编程领域的首选编程语言。
基于Java的连连看游戏设计研究
1、游戏平衡性:为了保持游戏 的公平性和挑战性,需要合理设 置不同难度等级的关卡
2、图片识别算法:连连看游戏 需要识别相同的图片并进行连接
实际应用
本游戏的Java实现可以广泛应用于各种平台,如PC、移动设备和嵌入式设备。 此外,该游戏的设计思路和算法也可以应用于其他类型的连连看游戏,如文字连 连看、图形连连看等。因此,本研究的实际应用前景广阔。
谢谢观看
总结
本次演示对基于Java的图片连连看游戏设计进行了深入研究,分析了玩家需 求和开发者需求,阐述了具体的游戏设计方法,探讨了可能遇到的难点和挑战, 并展示了实际应用效果。本研究的成果不仅为其他连连看游戏开发者提供了有价 值的参考,也有助于推动Java游戏开发领域的发展。
在未来的研究中,可以进一步拓展连连看游戏的玩法和内容,提升游戏的趣 味性和挑战性,同时不断优化算法和程序性能,为玩家带来更好的游戏体验。
3、计时器
为了控制游戏的进行,我们需要创建一个计时器。我们可以使用Java Timer 类来创建一个定时器,每隔一段时间就更新游戏状态。
四、测试与优化
完成游戏的基本设计与实现后,我们需要进行一系列测试和优化工作。首先, 我们需要测试游戏的稳定性和正确性,确保所有的图案都可以正确地生成和显示。 其次,我们需要测试游戏的性能,确保在各种不同配置的计算机上都可以流畅地 运行游戏。最后,我们还需要对游戏的界面进行优化,以提供更好的用户体验。
参考内容
一、引言
在当今的计算机时代,越来越多的计算机用户开始应用程序和游戏的开发。 其中,连连看游戏是一种广受欢迎的休闲游戏,它主要考验玩家的观察力和反应 速度。Java作为一种流行的编程语言,被广泛应用于各种应用程序和游戏的开发。 本次演示将详细介绍如何使用Java设计和实现一个简单的连连看游戏。
【精品完整版】毕业设计(论文)报告连连看游戏的设计与实现
毕业设计(论文)报告系别计算机科学技术专业计算机应用班级姓名学号设计(论文)题目连连看游戏的设计与实现指导教师起迄日期连连看游戏的设计与实现摘要本文用VisualC++来设计与实现简单的连连看游戏的基本功能,玩家可以在游戏区域中通过键盘控制来选取相同的两个物件,采用特定的消除规则对它们进行消除的操作,当游戏区域中的所有方块对都被消除后玩家即可胜利。
本次课程设计对该游戏的算法以及游戏图案的绘制进行详细的介绍。
运用连线相消的方法完成了连连看游戏。
关键词:VisualC++6.0;连连看;游戏;3D绘图1 引言1.1连连看游戏介绍游戏“连连看”顾名思义就是找出相关联的东西,它来源于街机游戏《四川麻将》和《中国龙》,是给一堆图案中的相同图案进行配对的简单游戏,在2003年,一个叫做朱俊的网友将这种形式搬到了PC上,立刻成为办公一族的新宠,并迅速传遍了世界各地。
饱受工作压力的人们没有太多的时间进行复杂的游戏,而对于这种动动鼠标就能过关的游戏情有独钟。
之后村子的连连看风靡版,阿达的连连看奥运版,连连看反恐版,还有敏敏连连看,水晶连连看等遍地开花,造就了一个连连看的新世界。
连连看游戏有多种地图样式和道具系统、大大加强了游戏的可玩性,是一款老少皆宜的休闲佳品。
1.2课程设计的目的网络小游戏制作的目的是满足了人们休闲的需要,在紧张工作之余休闲类的小游戏能够给人带来最大程度的放松,也可以增进人们之间的交流,沟通,通过游戏还可以认识更多的朋友,也可以到达跨省、跨市,甚至跨国间人们互相娱乐的目的。
另外也想通过本次课程设计将三年来所学的专业知识和其他方面的知识融入到实际应用中。
1.3主要问题开始制作游戏时,主要要解决的问题有以下几个方面:如何设置整个游戏的界面;如何控制连连看游戏中随机图片的生成且每种图片必须为偶数个;游戏开始后,判断鼠标两次点击的图片能否消去,即图片是否相同且图片之间路径的判断。
1.4课题实现技术的简要说明Visual C++是一个功能强大的可视化软件开发工具,Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。
基于java的连连看游戏的设计与实现毕业论文
本科毕业设计(论文)题目:基于java的连连看游戏的设计与实现专题题目:学院:软件学院专业:软件工程班级:软件冶金学号:学生:指导教师:职称:指导教师:职称:时间:年月日江西理工大学本科毕业设计(论文)任务书软件学院软件工程题目:基于java的连连看游戏的设计与实现专题题目(若无专题则不填):原始依据(包括设计(论文)的工作基础、研究条件、应用环境、工作目的等):●工作基础已经熟练的掌握java的各种基本技能,能够完成一款简单的基于java的连连看游戏的设计与实现。
●研究条件MyEclipse或者Eclipse和jdk 7的环境下编写整体的代码,用photoshop为游戏提供大量精致的图片素材。
●应用环境java当今最流行的语言,完全能够实现连连看游戏,硬件要求也不高,所以可行性是没有问题。
●工作目的连连看这款游戏的最基本架构,是如何实现消除相同的图片,并且如何有效的最短的消除路径。
主要内容和要求:(包括设计(研究)内容、主要指标与技术参数,并根据课题性质对学生提出具体要求):●研究内容1.用户登录注册系统(选做)2.游戏的基本逻辑实现(必做)3.游戏排行榜系统(必做)4.游戏的有难度梯度效果(必做)5.游戏的界面设计(必做)●主要技术指标与技术参数能够完整的完成游戏的体验成为可以娱乐的游戏。
具体要求独立完成本项目系统研制过程,系统能够顺利运行,并独立完成论文报告。
日程安排:1、1、毕业设计开题2016年3月30日前完成2、第一、二周需求分析3、第三、四周概要设计4、第五、六周详细设计5、第七、八、九周系统开发6、第十周系统测试7、第十一、十二周毕业设计论文整理8、提交毕业论文2016年5月8日前完成主要参考文献和书目:[1]Cay S. Horstmann, Gary Cornell .Java核心技术[M].北京:机械工业出版社,2014.[2]Bruce·编程思想(第4版)[M].北京:机械工业出版社,2007.[3]孙涌.现代软件工程[M].北京:北京希望电子出版社,2003.[4]赵满来.可视化Java GUI程序设计[M].北京:清华大学出版社,2010.[5]David Wallace 游戏高级编程[M].北京:清华大学出版社,2005.[6]王鹏.JavaSwing图形界面开发与案例详解[M].北京:清华大学出版社,2008.指导教师签字:年月日教研室主任签字:年月日江西理工大学本科毕业设计(论文)开题报告软件学院软件工程专业软题目:基于java的连连看游戏的设计与实现专题题目(若无专题则不填):本课题来源及研究现状:●课题来源:小游戏制作的目的是满足人们休闲的需要,在紧张工作之余休闲类的游戏可以给人带来最大程度的放松,也可以增进人们之间的交流。
Android连连看毕业论文
摘要现今社会,由于人们生活压力较大,出现了各种缓解压力的方法,其中手机游戏是最为普遍的一种。
手机游戏的制作的目的就是满足人们休闲的需要。
在紧的工作之余,休闲类的小游戏能够给人很大程度的放松。
“连连看”是一款非常流行的休闲类游戏,由于它规则简单、画面精美、操作方便,赢得了很多玩家的喜爱。
本次毕业设计的目的就是在Android平台上实现简单的游戏开发,了解和掌握Android 操作系统。
Android平台基于java语言,在eclipse上的实现和测试。
本文通过在Android平台上小游戏——“连连看”的开发实现了一般“连连看”游戏的基本功能,还附加提示、重新排列、重玩游戏、背景音乐的开关、音效的开关、关卡的选择等功能。
关键词:游戏;Android;java;eclipse;连连看ABSTRACTIn modern society, due to the pressure of people's lives, a variety of relaxation techniques have rapidly emerged, in which the mobile game is the most common. The original purpose of the mobile phone game is to meet the needs of the people to relax .In a tight spare time, casual games can give a large degree of laxation .Lianliankan is a very popular casual game, and won a lot of players' love because of its simple rules, beautiful screen and easy operation.The purpose of this graduation project is a simple game on the Android platform development to understand and master the Android operating system .The Android platform is based on the java language, implementing and testing in eclipse.In this paper, a small game --Lianliankan development on the Android platform implements the basic functions of the general Lianliankan game. This game is also attached to the function of tips, rearrangement, replay, background music switch, audio switch and level selection.Key words:Game; Android; java; eclipse; Lianliankan目录绪论 (1)1 开发概述 (1)1.1 Android背景 (1)1.2 课题来源 (2)1.3 主要工作 (3)2 Android开发环境 (3)2.1 Android开发环境 (3)2.2 Android开发环境搭建 (3)2.2.1 JDK的配置 (3)2.2.2 安装Eclipse (4)2.2.3 安装Eclipse插件(ADT) (4)2.2.4 安装SDK (5)2.2.5 Android开发环境配置最终步骤 (5)3 Android项目的目录结构 (5)3.1 Resource目录及其下文件详解 (5)3.1.1【res/drawable】 (6)3.1.2【res/values】 (6)3.1.3【res/layout】 (6)3.2 gen/目录下的R.java文件详解 (6)3.3 AndroidManifest.xml介绍 (7)3.4 其他文件、文件夹功能 (7)4 连连看游戏程序设计过程 (7)4.1 需求分析 (8)4.2 游戏设计 (8)4.2.1 游戏功能架构 (8)4.2.2 类结构设计 (10)4.3 详细设计 (11)4.3.1 欢迎界面设计 (11)4.3.2 游戏设置界面设计 (11)4.3.3 游戏运行时界面设计 (11)4.3.4 布局算法 (12)4.3.5 连接算法 (13)4.3.6 移动算法 (18)5 游戏效果 (22)6 结论 (30)致 (31)参考文献 (32)基于安卓系统的连连看游戏的设计与实现绪论现今社会已步入信息社会,信息社会离不开通讯,而手机则是人们必不可少的通讯工具。
连连看小游戏论文
课程设计报告题目连连看游戏项目开发院系计算机与信息技术学院专业计算机科学与技术时间2010年9月1日至9月20日指导教师王江目录(1)课程设计任务书(2)项目需求分析(3)连连看游戏的总体设计(模块图)(4)连连看游戏的详细设计(5)项目中所涉及的各个类的UML图(6)测试报告(7)课程设计总结(8)参考文献(9)评分表一、课程设计任务书课题名称:《连连看游戏项目开发》我们小组在小学期选择了《连连看游戏项目开发》这个课题,以进一步巩固有关MFC 的使用的相关知识,提高项目开发的能力,增加项目实际开发的经验,培养项目开发的兴趣,为学好以后的课程打下基础。
二、项目需求分析1 连连看游戏概述不管在哪个小游戏网站,连连看游戏总是排在受玩家欢迎排名的前几位。
因为它是不分男女老少,适合大众的集体闲、趣味、益智和娱乐于一体的经典小游戏。
2 连连看的操作方法第一次使用鼠标单击棋盘中的棋子,该棋子此时为被选中状态,以特殊方式显示;再次单击其它棋子,若该棋子与被选中的棋子图案相同,且把第一个棋子到第二个棋子连起来,中间的直线不超过三根,则消掉这一对棋子,否则第一颗棋子恢复成未被选中状态,而第二颗棋子变成被选中状态。
3 连连看游戏的基本规则每消去一对棋子,游戏限制时间会自动增加。
当时间全部消耗完时,游戏以失败结束。
在有限时间内,消除全部的动物棋子,自动升级,并重新开始新等级的游戏。
每升一个等级,游戏的时间消耗就变得更快。
游戏中还可以利用快捷键来进行变化棋盘(3次机会)和提示功能。
变盘即对于未消除棋子重新排列;提示即对可以消除的方块进行提示。
4 英雄榜的显示及更新当有玩家的当前等级超过记录文件中的等级时,就弹出英雄榜对话框。
要求玩家输入姓名,并记录在记录文件中。
5 游戏选择播放背景音乐在游戏开始后,可以选择播放背景音乐。
6 游戏的帮助在游戏界面中需要提供游戏使用说明等帮助提示,以方便对本游戏不了解的玩家对游戏进行操作和使用。
连连看Java小游戏毕业设计论文
版本更新信息
本文档的更新记录如表A-1。
表A-1 版本更新记录
修改编号
修改日期
修改后版本
修改位置
修改内容概述
001
0.1
全部
初始发布版本
2系统定义
我们分别阐述一下项目的来源、背景和项目的目标。
项目来源及背景
本项目的是是您的生活不再乏味,让你看到自己的智慧和天赋,使自己对自己更加充满信心。相信通过此游戏会让你看到自己聪明的一面。现在生活忙忙碌使人的心理和身体健康受到很大的威胁。为了解决些问题特此开发了连连看小游戏。
northPanel.add(fractionLable);
mainFrame.setBounds(280,100,500,450);
mainFrame.setVisible(true);
}
2.产生随基数:
public void randomBuild() {
int randoms,cols,rows;
centerPanel=new JPanel();
southPanel=new JPanel();
northPanel=new JPanel();
thisContainer.add(centerPanel,"Center");
thisContainer.add(southPanel,"South");
while(grid[cols][rows]!=0) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
}
this.grid[cols][rows]=randoms;
连连看小游戏设计毕业设计
摘要游戏“连连看”,只要将相同花色的两张牌用三根以内的直线连在一起就可以消除,规则简单容易上手。
这个程序的界面使用Jframe框架,主程序窗口包含一个主面板,其中包含两个子面板,左边一层子面板是游戏窗口,符合我们玩游戏的习惯,包含连连看游戏的图片元素,用户进行游戏能找到32对图片;右边一层用来实现游戏控制,有开始、刷新、选择难度、显示分数、进度条等功能选项。
结合Java 编程语言的简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程、动态和连连看游戏的休闲、趣味、益智加上美观的界面设计和秀色可餐的水果蔬菜游戏图片元素,使这款连连看游戏成为现代都市人们打发无聊,放松身心的好帮手。
加入了游戏时间控制和过关控制及进度条提示功能使游戏速度节奏快,画面清晰可爱,老少皆宜。
通过ActionEvent 组件进行动作事件的监听和处理。
游戏通过定义数组,根据一定的算法实现规定的路径判断。
关键字: Java连连看;Jframe;数组;路径判断AbstractThe game "lianliankan", as long as the two cards with the same suit straight up to three connected can be eliminated, rules are easy. This program of interface using Jframe framework, main program window contains a a main panel, which contains two a child Panel, left a layer child Panel is game window, meet we playing game of habits, contains fest see game of pictures element, user for game can found 32 on pictures; right a layer used to achieved game control, has began, and refresh, and select difficulty, and displayed score, and progress article, features option. Combines a simple Java programming language, object-oriented, distributed, interpreted, robust, secure system-independent, portable, high-performance, multithreaded, dynamic and lianliankan games, leisure, fun, puzzle together with attractive interface design and appetizing fruit vegetables picture elements, makes this lianliankan games become the modern city spending tedious, relaxed and good help. Joined the playing time control and border control and progress bar prompts make the game faster tempo, clear picture and lovely, both young and old. Action through the ActionEvent component event listening and handling. Games by defining an array according to certain algorithms provide path of judgment.Key words: Java Lianliankan ; Jframe ; array ; approaches目录1.引言 (1)2.游戏规则 (1)2.1概要 (1)2.2操作 (1)2.3胜利条件 (1)2.4失败条件 (1)3.发展概况 (1)3.1连连看游戏的历史 (1)3.2用java语言写连连看游戏的原因 (2)4.方案论证 (2)4.1设计原理 (2)4.2方案选择 (3)4.3主要问题 (3)4.4技术要求 (3)4.5游戏应用环境的构建 (4)5.系统分析 (4)5.1模块分析 (4)5.1.1 界面的设计和图片的随机生成模块 (5)5.1.2 菜单控制模块 (5)5.1.3算法模块 (5)5.2基本思路 (6)5.2.1 游戏地图设计思路 (6)5.2.2 连连看游戏图片 (6)5.2.3 获取图片位置 (6)5.2.4 路径判断思路 (7)6.系统设计 (8)6.1主界面的设计 (8)6.2图片的随机生成 (9)6.3单击控件的事件触发 (9)6.3.1开始游戏按钮 (9)6.3.2重列按钮 (10)6.3.3难度选择按钮 (10)6.4清除两个一样的符合条件的方块 (10)6.5过关设置 (10)7.结果分析 (11)7.1优点 (11)7.2缺点 (11)8.总结 (11)参考文献 (13)致谢 (14)1.引言网络小游戏、网页游戏越来越受网民欢迎,除了玩的方法简单外(不像其他游戏还需要注册下载繁琐过程),很多游戏不乏经典。
基于java的连连看游戏研究
基于java的连连看游戏研究摘要随着现代电脑电子技术的发展,游戏产业也随之应运而生并凭借着其别具一格的魅力成为当今大众的主要娱乐方式。
当然,随着开发技术的层出不穷,经典游戏比比皆是,“连连看”游戏就是其中之一。
本文介绍了基于java的连连看小游戏功能实现设计开发过程,其中着重介绍了路径判断和消除图片的实现算法。
“连连看”游戏虽然基础简单,但是通过对它的设计开发能为更高端游戏的开发积累经验并打下基础,以此来推动游戏行业的发展。
关键词连连看;小游戏;java1 概述1.1 游戏发展概况游戏连连看具有操作简单,操作简单的特点,可以让玩家放松身心,享受大多数玩家所喜爱的娱乐优势。
第一连连看以棋盘游戏的形式出现,经过不断的发展,现在它已经成为一种流行的社交游戏。
连连看随着Flash应用的普及,网上有各种各样的Flash版本“连连看”。
2008年,“连连看”被引入社交网络,如社交网络的普及和开放平台的兴起。
目前,开发者Jonevey在Manyou平台上推出的“宠物连连看”的盛行,也说明连连看已经成为一种新型的社交游戏,不但可以招待玩家,还可以增强玩家之间的交流沟通。
1.2 游戏规则及操作其大致规则为在一定时间内,玩家可以将两个相同的图案连接起来,连接不能多于三根直线,就可以将两个图案成功消除,如果规定时间内全部图案消除成功即为通关。
操作方面,第一次使用鼠标点击游戏界面中的图案,该图案此时为“被选中”以特殊方式显示;再次以鼠标点击其他图案,若该图案与被选中的图案相同,且把第一个图案到第二个图案连起来,中间的直线不超过3根,则消掉这一对图案,否则第一个图案变为未被选中状态,而第二张图案变成选中状态[1]。
2 游戲设计2.1 功能设计根据游戏规则,该游戏应满足如下功能:(1)开始游戏:在游戏界面中,当玩家点击“开始游戏”选项时,程序能够自动载入各种不同图案的图片并能够通过算法编写实现图片的随机排列。
然后程序确定图片图案,以此判断图片是否相同;记录相同图片坐标,判断图片能否相连相消。
连连看游戏的设计与实现毕业论文
(此文档为word格式,下载后您可任意编辑修改!)合肥学院2012 届毕业论文(设计)论文(设计)题目连连看游戏的设计与实现院系名称计算机科学与技术系专业(班级)计算机科学与技术2008级本科1班姓名(学号)指导教师高玲玲系负责人袁暋完成时间连连看游戏的设计与实现中文摘要从2001年开始,游戏作为一种产业已经渐渐地为中国大众接受,它所带来的经济效益和社会效益更是人们之前所没有估计到的,当游戏作为一种很重要的娱乐手段被大众接受时,游戏产业就已经注定会带来巨大的经济效益。
连连看游戏是一款经典小游戏,操作简单,适合所有玩家。
连连看游戏软件在Linux环境下用QT框架设计开发,可以实现初始化界面,用户使用鼠标点击两张相同图案的小方块进行消除,并有多种地图样式和道具选择,丰富了游戏的娱乐性。
此连连看游戏程序界面美观,操作简单,具有一定的趣味性,是一款老少皆宜的休闲佳品。
本文通过需求分析与方案论证,首先对开发连连看游戏程序进行初步的分析,然后通过总体设计和详细设计论述了系统的开发和实现过程。
关键词:连连看;单机游戏;游戏开发Design and Implementation of Lianliankan gameAbstractBeginning in 2001, the game as an industry has been gradually for the Chinese public acceptance, economic and social benefits it brings, is not estimated in before the people to the game as a very important means of entertainment the publicaccepted, the game industry has been destined to bring huge economic benefits.Lianliankan game is a classic game, simple operation, suitable for all players. Lianliankan game software design and development of the QT framework in the Linux environment, you can achieve the initialization interface, the user uses the mouse to click the small box with two identical patterns to eliminate, and a variety of map styles and props select, rich game entertaining. Lianliankan games beautiful interface, easy operation, with some interesting, is a leisure ages to share.This article through the demand analysis and the project concept demonstration, first to develops looked again and again the game procedure carries on the preliminary analysis, then elaborated system's performance history through the system design and the detailed design as well as realizes the process.KEY WORDS: lianliankan ;stand-alone game; game-developme目录中文摘要 (I)Abstract ......................................................... I I 第一章绪论 (1)1.1 课题背景 (1)1.2 课题意义 (1)1.3 国内外发展情况 (1)1.4 课题内容及目标 (2)第二章需求分析与方案论证 (2)2.1 可行性分析 (2)2.1.1 技术可行性分析 (3)2.1.2 经济可行性分析 (3)2.1.3 操作可行性分析 (3)2.1.4 分析结论 (4)2.2 需求分析 (4)第三章总体设计 (4)3.1 开发工具和运行环境 (4)3.1.1 开发工具 (4)3.1.2 运行环境 (5)3.2 功能模块设计 (5)3.3 算法设计 (5)3.3.1 游戏地图数据的设计 (5)3.3.2 图案方块连接判断的设计 (6)3.3.3 游戏胜利判断算法设计 (7)3.3.4 游戏道具算法设计 (7)3.4 相关技术与重点难点 (7)3.4.1 相关技术 (7)3.4.2 系统的重点难点 (8)第四章详细设计 (8)4.1 功能模块设计与实现 (8)4.1.1 游戏模块设计与实现 (9)4.1.2 选项模块设计与实现 (9)4.1.3 游戏地图数据的设计与实现 (10)4.1.4 图案方块的判断连接的设计与实现 (13)4.1.5 游戏结束判断功能的设计与实现 (17)4.1.6 鼠标交互功能的设计与实现 (19)4.2 人机界面设计 (22)第五章系统调试与软件测试 (23)5.1 系统调试 (23)5.2 软件测试 (24)结论 (27)参考文献 (28)致谢 (28)第一章绪论1.1 课题背景连连看是一款风靡很久的单机版游戏,对于玩家并不陌生,游戏规则非常简单,只要选择一对相同图案的卡片连接起来,连接路径若避开其他图片,且不超过两次转弯则消除此对卡片,容易上手。
用JAVA设计手机连连看游戏
且 ,此款游戏与以往的连连看游戏不同 ,可以让用户自主设计
连连 看 游 戏 的 背 景 图 片 ,还 有 欢 快 的 背 景 音乐 舒 缓 神 经 ,增 添
了更多乐趣。因此,此款游戏有一定有广大的市场。
2基 本概 念 ’
, / 下 一 关 为上 一关 减 去5 秒 的时 间
t o t a l Ti me 一 = 5:
能 的 部分 代码 如 下 :
p u b l i c v o i d o n C l i c k ( Vi e w v )( n e w Al e r t Di a l o g . B u i l d e r ( S e t D i a l o g . t h i s )
.
以支持手机运行 。
2 l 世 纪 ,人们 所 承 受 的 来 自各 方 面 的压 力越 来 越 大 ,人 们
需要一个释放 自我的途径 。连连看小游戏 ,规则简单 ,生动有
趣 ,对 于 需 要 释 放 压 力 ,打 发 时 间 的 人 来 说 ,是不 二 之 选 。并
p r i v a t e R e f r e s h Ha n d l e r r e f r e s h H a n d l e r =n e w R e f r e s h Ha n d l e r 0 ;
s t a r t P l a y 0 ; )
2 Mi c r o E d i t i o n ,主 要 针 对 嵌入 式 系 统 ,包 括 手 机 、P DA 等 。针
( 3 )游戏 更 换 图片 代码 。
对 手 机应 用程 序 的开发 ,s u n 还 提供 了 免费 的J 2 ME Wi r e l e s s
课程设计报告Java实现游戏连连看(有源代码)
2.4流程图如下图2 主函数流程图图3 游戏进行流程图图4 使用炸弹流程图图5 计算时间流程图图6 开始游戏后画面用户选择两张一样的图片,通过鼠标进行选取,如果用户两次点击的图片不相同,那么系统认为用户没有点(鼠标记数归0),以完成用户以后的选取工作。
如果用户选择的是相同的图片(如第八行第二列和第八行第三列),那么系统会消除这两张图片,并使鼠标记数为0,并消除这两张图片的标记,使里面的图片被标记在外面。
以便用户可以进行以后的选择。
图7 消除三对后画面用户也可使通过使用“炸弹”功能进行消除图片。
方法是点击菜单中的“炸弹”选项使用,点击后如果界面上有两张可以相连的相同图片就随机消除两张可以相连的相同的图片(如第一行第一列河第一行第四列)。
图8 使用炸弹后画面炸弹数目是有限的,默认数目为三,每使用一次“炸弹”功能,炸弹数目就会自动减一,当炸弹数目为零时(使用三次“炸弹”功能)。
并且用户想再次使用炸弹时,系统会弹出对话框提示用户,并把菜单中“炸弹”选项变为灰色(用户不可使用)。
图9 炸弹使用光后画面当系统开始游戏后,系统会在后台记录时间,如果在用户还没有消除所有图片时,系统时间到了,那么系统会弹出对话框,提示用户,时间到了,游戏失败。
图10 时间到时的画面当用户点击确定后,系统还会弹出对话框询问用户是否重新开始,用户选择“是”时,系统会开始新游戏;当用户选择“否”时,系统会返回开始界面;当用户选择“取消”时,系统会返回提示时间到的界面。
图11 点击确定时的画面如果在时间未到时,用户使所有的图片都消失(两两消除,直到最后一对),系统会提示用户游戏以通过,点“确定”后回到开始界面。
图12 通关画面4.设计体会通过这次课程设计我学到了不少东西,也发现了大量的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
因而,通过课程设计之后,把以前所学过的知识重新温故。
有些在设计过程中已解决,有些还有待今后慢慢学习,只要认真学就会有更多的收获。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机科学与工程学院集中性实践教学计划书( 2013 — 2014学年第1学期)课程名称:专业实习姓名:专业:计算机科学与技术班级:计科103班课程负责人:云健指导教师:孟佳娜,张恒博教学起止周:第10至12教学周摘要近年来,Java作为一种新的编程语言,以其可移植性和平台无关性等优点,得到了广泛地应用,特别是Java与万维网的完美结合,使其成为网络编程和嵌入式编程领域的首选编程语言。
本设计报告阐述了连连看游戏的分析与设计的全过程,并在论文中相应的位置插入了图片、流程图以及一些具有技巧性的程序代码,更加清晰的描述了该游戏是如何实现的。
连连看游戏有编写简单容易上手等特点,非常适合人们在完成工作的时候适当的娱乐要求。
这些小游戏大都是以益智和娱乐为目的,不仅给紧张工作的人们以放松,还可以让人们的大脑得到开发。
连连看游戏采用JAVA语言开发,以MyEclipse为开发平台。
游戏主界面是基于SWING(图形用户界面)的开发,使得游戏界面简单清晰。
并调用了其中的一些函数,完成了事件的触发功能。
希望通过这次开发设计出的连连看小游戏,给大家的生活带来一点乐趣。
游戏通过定义动态的二维数组,根据一定的算法实现规定的路径判断。
关键词:连连看游戏;算法设计;路径判断;Java实习计划:第十一周编程编程编程调试,总结一周的工作撰写实习报告验收,答辩第十二周修改完善,检查可能存在的BUG目录摘要 (2)一、绪论 (1)2.1 技术可行性 (1)2.2 经济可行性 (2)2.3 操作可行性 (2)三、课程设计题目任务描述和要求 (2)3.1 任务描述 (2)3.1.1 界面 (2)3.1.2程序 (3)3.2 设计要求及目的 (4)四、需求分析 (4)4.1 方案选择 (4)在概要设计阶段,主要有两中方案可供选择: (4)4.2功能描述 (5)4.3 功能需求 (5)4.4 功能模块及思路 (5)4.5 系统需求分析总结 (7)五、设计方案 (8)5.1 总体设计 (8)5.2 详细设计 (9)5.2.1 游戏界面设计 (9)5.2.2鼠标点击控制 (9)5.2.3 路径判断的设计 (9)六、实现 (10)6.1 游戏界面 (10)6.2 游戏各功能及代码 (12)一、绪论目前中国国内网络游戏市场正在日趋成熟,随着市场的逐步完善,各种形式的电子游戏也争相登场,成功游戏不断涌现。
比较成熟的项目主要有:反恐精英(CS)、星际争霸、魔兽争霸2、FIFA2003、帝国时代、FIFA2004等等。
这时也出现了越来越多的网络小游戏,休闲类项目包括网络围棋、中国象棋、四国军棋、桥牌、麻将、拱猪、斗地主、拖拉机、连连看等。
游戏“连连看”顾名思义就是找出相关联的东西,这个连连看在网上基本是用在小游戏中,就是找出相同的两样东西,在一定的规则之内可以作为相关联处理。
“连连看”的发展经历了从桌面游戏、在线游戏、社交游戏三个过程。
游戏“连连看”是源自台湾的桌面小游戏,自从流入大陆以来风靡一时,也吸引众多程序员开发多种版本的的“连连看”。
随着Flash应用的流行,网上出现了多种在线Flash版本“连连看”,如“水晶连连看”“果蔬连连看”等等。
2008年,随着社交网络的普及和开放平台的兴起,“连连看”被引入了社交网络。
“连连看”与个人空间相结合,被快速的传播,成为一款热门的社交游戏。
二、可行性分析2.1 技术可行性此次编写的连连看游戏是建立在MyEclipse8.5开发环境下,Java中swing为连连看游戏的设计提供了便利,此次设计主要是运用的Java 语言编程与实现的。
在此开发环境中是完全可行的。
连连看游戏是涉及到图形界面处理的,其中图片的导入可以通过开发软件的图片导入控件直接导入,但是相应的操作需要对界面进行重绘,图1.1是界面控制处理的流程图:图2.1 图形界面控制2.2 经济可行性一个游戏的实现,需要考虑玩家花费的人力物力,不计算能够回收多少资金就不是一个好的项目负责人。
一个新想法如果不经过项目负责人的决策是不可能立项的。
所以,在进行游戏设计的过程中,一定要把项目的规模和市场效果考虑进去,否则游戏再好,如果不适合市场的需要也是徒劳。
通过花费、时间和人力的综合考虑,连连看游戏的设计只需要一台装有开发软件Java的计算机和一个具有相关知识的开发者,是有经济可行性的。
2.3 操作可行性从技术上来考虑,这是可以实现的。
需要你熟悉C#与 以及SQL SERVER 2008并能够简单的应用,那样留言簿就能够实现了。
但对于用户来说他要的仅仅是能够与大家交流,分享心情的平台。
他并不会在乎你用什么技术去实现以及你花费多少精力去完成的。
因此在操作上必须简单,这是完全能够去实现的。
因此在操作上是完全可行的。
此次课程设计的连连看游戏是基于MyEclipse8.5之上的,只要你的电脑安装了此软件就可以玩连连看游戏了.三、课程设计题目任务描述和要求3.1任务描述3.1.1 界面其界面如下(图3.1.1):图3.1.13.1.2程序游戏过程,如果玩家在规定的时间内消完则提示玩家胜利,如果在一定时间内图片没有消完则提示玩家时间到,游戏失败。
经过对游戏的初步分析,连连看游戏包含了如下规则:1、条件:程序的关键在于判断用户连续点击的两个图案能否消除。
两个图片可以消除的条件有两个:图片相同图片间连线的转角数不得超过2 。
2、操作:第一次使用鼠标点击游戏界面中的牌,该牌此时为"被选中",以特殊方式显示;再次以鼠标点击其他牌,若该牌与被选中的牌图案相同,且把第一个牌到第二个牌连起来,中间的直线不超过 3 根,则消掉这一对牌,否则第一个牌恢复成未被选中状态,而第二个牌变成被选中状态。
在规定的时间内将游戏界面上的牌全部消除掉。
则游戏胜利,在规定时间,界面上的牌仍未全部消掉。
则游戏失败3.2 设计要求及目的通过本次课程设计,并在实际运用中学习和熟悉Java程序开发的基础过程,进一步熟悉掌握Java程序设计语言的基础内容、基本技能和方法,同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。
1.主要是能通过开发“连连看”这个小游戏,提高自己Java程序设计编程的实际能力。
2.进一步熟悉掌握Java程序设计的基础内容, Java多线程编程等。
3.大体了解怎样用Java来编写小游戏,增强我们实践能力和创新精神的综合培养。
4.设计过程中,对整个游戏所实现的功能进行详细的设计以及对存在的问题及解决办法进行最终确定;而后完成游戏的程序编写,并优化;最后,写出设计本游戏的详细文档说明,并作课程设计汇报。
四、需求分析4.1 方案选择在概要设计阶段,主要有两中方案可供选择:一、所有的图片都是按约定好的种类数和在同一区域的重复次数随机出现,并且每张图片的的出现次数为偶数,时间会有限制,每一关的图片数量或种方案的设计思想,时间是不同的,这样就增加了游戏的难度。
二、在同一区域中,图片出现的种类数和重复次数是可以由玩家选择的,时间由游戏约定。
不过玩家选择的种类数和重复次数必须是偶数才可以顺利完成游戏,否则游戏虽然可以正常运行,但无法完成游戏。
在第一种方案中,由于出现的图像按种类数和重复次数都由软件约定,这样就缺乏玩家自主选择的空间,只是在玩系统已经是设定好的游戏,不能改变什么,这样就在无意中降低了玩家在游戏的过程中乐趣,最后致使玩家放弃继续玩下去。
我们参考了网络上的连连看游戏,考虑到游戏的娱乐性。
所以我们放弃第一种方案的设计思想,参考网络上流行的连连看的游戏,设计出第二种方案。
4.2功能描述本设计采用单机模式,当在规定的时间内消完全部的图片则当前关卡通过,如果在规定的时间内没能消完所有的图片则游戏结束,重新开始新游戏。
游戏规则是模仿普通的连连看游戏,主要是鼠标两次点击的图片能否消去的问题。
当前,前提是点击两张相同的图片,若点击的是同一张图片或者两张不同的图片,则不予处理。
在两张想同图片用三根以内的直线能连在一起,就可以消去;否则,不予处理。
游戏过程,如果玩家在一定的时间内消完则提示玩家胜利;如果在一定时间内图片没有消完则提示玩家时间到。
4.3 功能需求1、设计游戏界面2、游戏基本功能3、在游戏无解决方案时重排4.4 功能模块及思路4.4.1 解决游戏区域问题这个问题最简单,但是却是最花时间的。
正所谓:万事开头难。
刚开始想了好多控件来实现。
比如Label,Panel,button等等,[2]后来在参考文献中发现一个扫雷游戏可以通过image控件来画图。
因此在几天之后才解决这个最早的最简单的也是最头疼的问题。
4.4.2 获取图片位置的思路首先,最基本的就是用button代替图片进行布局了,然后将图片set 到button用来做背景图片。
这里采用最简单的方法——数组。
考虑到图片是多行多列的格式。
所以采用二维数组(数组名为game_grid[][]方式来控制比较直观,并且为了程序容易解读,统一在不同过程中用名为i和j的变量来分别表示行列。
程序开始时给数组中的各个元素赋初值为0,即表示没有图片。
然后数组控制整个游戏区域,游戏区域最外围为空白区域,即相关元素的值为0。
这样就可以保证游戏刚开始后,第二层显示的图片之间的相连路径处理时就没有阻碍了。
这个游戏考虑到玩家对图片的爱好不同,故可以自由修改。
将数组game_grid的数据与图片名匹配(如:game_grid的数据为1~25则图片名为1,2...25与之一一对应),玩家则只需要将自己喜欢的图片改变图片名字去替换就可以了。
其button背景图片的方法是用ImageIcon来存储图片信息然后set到button中。
这个思路的具体算法可以后面的3.2.2的第二个步骤中得以体现。
4.4.3 分类判断法这里实质上是一种递归的思想,要判断图片A与图片B能否通过一条有N个转角的路径相连,可以转化为判断能否找到图片C,C与A能直线相连,且C与B能用一条有N-1个转角的路径相连。
若这样的图片C存在,那么A与B就可以通过一条有N个转角的路径相连。
根据转角数不得超过2个的规则,我们可以分为转角数分别为0个、1个、2个这三种情况分别讨论。
[3](1)0转角连通(直线连通):两个图片的纵坐标或横坐标相等,且两者连线间没有其他图案阻隔。
(2)一个转角连通:其实相当于两个图片的横向与纵向的直线相交只有一个焦点。
图4.4.2一个转角连通(3)两个转角连通:判断图片A与图片B能否经过有两个转角的路径连通实质上可以转化为判断能否找到一个点C,这个C点与A可以直线连通,且C与B可以通过有两个转角的路径连通。
若能找到这样一个C点,那么A与B就可以经过有两个转角的路径连通。