java连连看小游戏设计说明文档本文围绕Java编程语言在网络编程方面的具体应用,论述了连连看的整体开发,对连连看小游戏程序进行需求分析、概要设计、详细设计,最后Java编程实现的全过程。游戏规则:游戏规则是需选择一对相同的牌连线,但此连线是在避开其他牌子后,呈现的路径以不超过二转弯为主,如符合规定则消除此一对牌。当有一家消除所有牌或有一家认输,游戏结束。小组成员:组长:张成林组员:胡志强、霍旭东、沈智、吴宪辉设计结构介绍:本程序分为主控区,上、下两个分面板,玩家名称文本区域,玩家记分系统。辅助功能有背景音乐,还有背景图片的添加。1.主控区是核心部分,是含有图片的连连看主程序。2.上面板记录着鼓励信息,以及玩家游戏过程中产生的分数。3.下面板含有三个按钮,退出,重列,再来一次,a)退出按钮实现退出游戏功能,b)重列会将图片重列c)再来一局按钮将实现重新进行游戏的功能4.菜单栏里有音效和帮助按钮d)音效按钮可以实现按钮的关停e)帮助按钮可以提供帮助信息5.技术支持,即为本组成员的名字目录一、设计内容使用eclipse软件编写连连看小游戏。二、设计过程2.1设计准备:在设计前构想,做准备,所需物品:1、图片2、音乐2.2概要设计:建立Java工程、包、类,进行网上搜索的源程序进行测试及其修改,成为自己想得到的程序,并且定义名字为:终极102连连看。2.3效果对比:进行美观前的程序运行结果美观后最终程序运行结果2.4详细设计首先我们通过网络进行搜索Java连连看的源码,我们找出多个游戏的独特功能,对其进行修改,插入到本程序中,我们运行后首先把它进行美观,把数字切换成了图片,加上了背景音乐、按钮声音,在面板上部加入了一系列的下拉菜单,在计分器旁边加入了文本框并随机出现的评价!数字切换图片时我们用:for(introws=0;rows6;rows++){for(intcols=0;cols5;cols++){imgButton[rows][cols]=newJButton(newImageIcon(images/+grid[rows+1][cols+1]+.gif));imgButton[rows][cols].addActionListener(this);centerPanel.add(imgButton[rows][cols]);}}来定义图片,定义为图片在根目录下的image文件夹下,我们根据窗体内按钮的大小来定义图片大小,图片大小均为156*78的,格式为gif。我们又把窗口定义大小为800*600,为了不能自己拉大或者使用放大按钮进行放大。用:mainFrame.setResizable(false);来限制窗体禁止放大、缩小窗体。在代码中的有mainFrame.setBounds(260,100,800,600);这样一句话来限制窗口为800*600的大小!我们通过算法加计分器来给用户打分,我们设置重列将减去50分,用fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())-50));这样几句话来定义!为了美观,我们将上中下三个面板颜色进行了更改,分别是黄、白、粉色三种,定义代码是:用getContentPane()方法,返回窗体的contentPane对象。用setLayout(LayoutManagermgr)方法,设置容器布局管理器(BorderLayout()构造方法,构造一个组件间没有边距的新边界布局)。然后插入:northPanel=newJPanel();northPanel.setBackground(Color.yellow);centerPanel=newJPanel();centerPanel.setBackground(Color.white);southPanel=newJPanel();southPanel.setBackground(Color.pink);在程序中,我们还加入了一系列按钮的下拉菜单,例如:音乐的开关、技术支持、游戏规则等……详解:这些按钮我们定义为:MenuBarmb=newMenuBar();mainFrame.setMenuBar(mb);具体单个按钮分为:m2m3m4m9而对应的是:m2.add(mi7);m2.add(mi8);m3.add(mi9);m4.add(mi4);mi9.addActionListener(this);而其中的mi4是控制技术支持列表mi7是控制音乐效的开mi8是控制音效的关mi9是游戏规则对话框。在打开mi9的时候将会弹出对话框,告知玩家游戏规则,使其能正常游戏!最后,我们插入了音乐,在音乐部分我们用了publicstaticvoidmain(String[]args)来定义,并且用a1a2来分别控制背影音乐、按钮图片连接正确音效,在根文件夹下建立music文件夹,放入了49.mid背景音乐和but.wav声音音效两个文件,并对其进行连接3.1遇到的问题及解决方法:问题一:加上音乐以后,在界面一打开就自动播放(音乐“开”、“关”按钮不起作用)。解决办法:正确设置声音开关的监听。问题二:窗体放大或拉大以后;图片不能相应的跟着变大。解决办法:利用代码mainFrame.setResizable(false);对窗体限制放大与缩小并更改图片大小。问题三:插入图片后,还能显示原来按钮,及按钮上面的数字。解决方法:没有更改JButton的相关设置。问题四:往代码中插图片时找到相关语句,找不到图片路径,导致图片不能正常显示。解决办法:经过多次尝试,并向同学请教,在根文件夹下建立image文件夹放入图片,找对路径。问题五:“再来一局”不能实现其功能,按下该按钮以后游戏界面自动关闭。解决办法:仔细检查代码,发现“再来一局”的监听设置有误,多了与“退出”相同的一条语句后,程序执行不到正确的代码。问题六:按下“帮助”按钮后不能弹出所需对话框。解决办法:通过网络下载多个源代码,经过测试后从中摘取了相应语句插入我们程序的代码中。3.2未解决的问题:1.没有实现网络功能2.没有加上背景图片或者背景颜色,在ImageIcon上设置后,再获取图片的时候加不上去,不知道具体原因是什么3.分数的变化,一开始是以100为单位在原来基础上加,后来在连接成功以后不知道为什么分值会变大,具体原因也不清楚4.点击右上角的关闭按钮结束游戏后,声音文件的播放不能停止,想在关闭按钮处加声音停止的监听。4.个人思想总结:张成林:学习JAVA首先给我感触最深的就是它与C语言的关联性密切,没有好的C语言基础直接学习JAVA是比较困难的,由此看来JAVA是一门逻辑性比较强的语言,应当按部就班,循序渐进,还应该了解此语言的一个体系,这样在我们发现错误的时候就可以比较快捷的找出错误出现的位置与原因;然后就是需要有信心,恒心,毅力.这是我们必须具备的心理素质,遇到苦难就退缩,这样最终会放弃学习java,没有经历风雨怎么见彩虹;最后对它应当保持浓厚的兴趣,只有这样,遇到的难题才会有耐心的寻找并解答。在开发过程中,让我认识到了团队合作的重要性,虽然这是我们第一次合作做项目,尽管有些问题没有得到解决,分工也没有十分的明确,但我想我们还是比较成功的,因为整个程序基本已经完成了,这是大家努力共同换来的结果,同时我们也受到了很大的鼓励;还有就是要学会借鉴,但是思维要有创新性,虽然可以上网搜一些源代码,但是一味的拷贝是没有好的效果的,那样你没有提高,自己的思维也没有得到锻炼;最后就是想成为一名程序员必须具备的心里素质,还要有足够的耐心去寻找并解决出现的问题,还要细心、仔细,有时一个字母写错就会导致整个程序的不能运行。最后要理论与实践多结合,平时多练习,平时多看一些资料,多看一些源代码,平时多做一些小程序,积累经验,只有这样JAVA语言才可以收到更好的效果沈智:学习Java和C语言的目的差不多,都是看着网上各种小软件很不错但又觉得那些功能上面还有不尽人意的地方,想自己做一个小东西出来玩儿玩儿,但是真正学起来才发现做出一个东西来真的很不容易,光凭看书是远远不够的,还需要问同学和在网上查资料。通过学习才发现,越是深入的了解这个东西才越能深切的体会到自己的水平远远没有达到能做出一个让大多数人觉得好用的软件。这次试着做的这个连连看费了很大劲儿,但是还是跟网上的有很大差距。这次是五个人这么多天才弄出来个很一般的东西,难以想象只有自己做出一个来会是多么的困难,在团队面前个人的力量永远是渺小的。认识到了这两点,在以后的学习和生活中一定会不断的完善提高自己的水平和加强团队合作的精神。只有这样才能让自己和大家满意。胡志强:通过本次JAVA课程设计,我更加充分的理解了课本上的知识,并能够加以扩展,从而应用于实践当中,这几天的课程设计令我受益匪浅,很多平时模棱两可的知识点都认真复习并实践了。我对JAVA提升了认识,我意识到我们所学的东西将来都是要付诸实践的,所以一切要从实际情况出发,理论联系实际,这样才能真正发挥我们所具备的能力。经过此次课程设计,我向我成功的目标又迈进了一步。我感觉学习java应该是循环渐进,有始有终,按部就班,脚踏实地,java是一门有着阶梯性的一们语言,如果要学习它。我觉得最好还是按照java的学习体系,先学习什么,在学习什么,只有这样,我们在学习中才会遇到更少的麻烦。java是一门更倾向于网络的语言。不要上来就学习JSP,这样不好,因为这没有基础。在以后的学习中很可能遇到很多的麻烦,这就不好了。而且我们要多看看一些资料,多多的向高手请教,这样才好。要学会总结和领会。当然,学习java一个人有一个人的想法,也有自己的独特学习方法。总之适合自己的就是最好的。我们必须要拥有信心、恒心、毅力是最重要的。这是我们必须具备的心理素质。要是学习这门语言开始的时候很有兴趣,遇到苦难就退缩,这样最终会放弃学习java,没有经历风雨怎么见彩虹。编程就是有的时候就是那么这么人。会遇到很多的困惑。但是一旦你弄懂了,或者是你把问题解决了,就会感到很兴奋,编程的快乐应该就是这样吧。我接触以前接触过asp网站编程语言,我在编写asp网站的时候,很多问题都不明白,一方面就是从网上搜索答案,另一方面就是像高人请教,这样问题就解决了,让我学会了很多没有接触过的东西,在网络编程这方面我还是比较喜欢的,我希望以后我能够在网络编程这方面发展,希望通过这次的作业对Java有了更多的兴趣,让我喜欢上了Java,这样我就可以再深读,深学!我感觉,学Java跟别的语言差不多,都是多敲代码、多运行、多修改自己写的代码,反复的运行。而且,我们要多上Java论坛,看看高手们写的程序,多读多读,吸收他们的编程经验和编程思想,这对我们的提高也是非常快的。霍旭东:我们现在学习的Java内容,都还很浅。要想学到更多的东西,更深层次的精华,就要不断的学习。自己找些题材自己设计一些小程序,除了加强所学,还可以发现不足!吴宪辉:从起初选择要做连连看开始就没有个清晰的思路,总是想起步但是不知如何起步……所以就百度上找了一个Java连连看,去看看人家是怎么做的,学习开发软件的思路。在开发过程中总会遇到很多问题,这些问题基本不能解答,所以就选择了一个便捷的道路——百度知道。整个程序做完以后才发现开发软件真的很困难,首先要有一个清晰的思路……结果发现自己不适合干这行终极102连连看开发小组2010年1月20日