java 连连看 源代码行行注释

java 连连看 源代码行行注释

ID:1121439

大小:113.00 KB

页数:13页

时间:2017-11-07

java 连连看 源代码行行注释_第1页
java 连连看 源代码行行注释_第2页
java 连连看 源代码行行注释_第3页
java 连连看 源代码行行注释_第4页
java 连连看 源代码行行注释_第5页
资源描述:

《java 连连看 源代码行行注释》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、所实现应用的功能及具体实现.需求规定退出:退出界面,停止游戏。重列:重新排列按键。再来一局:重新开始一局,分数不重计。运行环境硬件要求:普通计算机即可。操作系统:windowsXP,windows7等开发环境:Myeclipse8.513流程图实现思路1:将整张地图拆分为n行m列,接着用一个二维数组表示将在地图中显示什么,例如0表示此处没有东西(如果两个按键可以消除时,就可以将数组中对应的元素赋为0)。2:游戏中需要处理鼠标按下时间和获取鼠标当前点击坐标信息。3:如果其在地图范围内按下某个按键,则将其转换为在二维数组中对应

2、的行和列。134:游戏关键就是如何判断两张图片可以消除,这也是连连看游戏的关键吧。在这个简单连连看中可以直接比较两个按键标示的数字,如果数字相等则可以消去,如果不相等则不能消去。我们可以将开始点的前后左右四个方向的结点都推入队列中,继续查看其前后左右的前后左右,如果其中有为0的(代表此处没有图片,存在通路),还是元素值和开始点相同的都推入队列中。在判断前后左右时就可以对转弯次数进行累加了,如果还是原来的方向,则保持转弯次数不变,否则转弯次数+1。如果搜索的过程中,发现存在转弯的次数少于或者等于2的,且其结点信息和结束点一样

3、,代表我们已经找到了开始点和结束点之间的通路了,这时也就是两个按键可以消去了。5:如何画出两张图片消去的路径呢,我的思路是这样的,每次寻找到一个新结点时,我们可以将其上一步结点的信息也保存下来,这样当我们找到结束点时,我们就可以沿着相反的方向,搜索回去,找出原来的整条路径。13代码介绍及分析。packagetest;importjavax.swing.*;//AWT的扩展importjava.awt.*;//抽象窗口工具包importjava.awt.event.*;classlianliankanimplementsAc

4、tionListener//实现ActionListener接口{JFramemainFrame;//主面板,JFrame定义的是一个容器,可向里面添加组件ContainerthisContainer;//定义一个容器JPanelcenterPanel,southPanel,northPanel;//子面板,JPanel是个轻量级容器,可添加入JFrame中JButtondiamondsButton[][]=newJButton[6][5];//定义存储游戏按钮的数组JButtonexitButton,resetButto

5、n,newlyButton;//定义退出,重列,重新开始按钮JLabelfractionLable=newJLabel("0");//定义分数标签,并初始化为0.JButtonfirstButton,secondButton;//分别记录两次先后被选中的按钮intgrid[][]=newint[8][7];//储存游戏按钮位置staticbooleanpressInformation=false;//声明了一个静态布尔类型的变量,判断是否有按钮被选中intx0=0,y0=0,x=0,y=0,fristMsg=0,secon

6、dMsg=0,validateLV;//游戏按钮的位置坐标inti,j,k,n;//消除方法控制publicvoidinit(){//init方法mainFrame=newJFrame("连连看");//定义主面板为命名为“连连看”的JFrame容器thisContainer=mainFrame.getContentPane();//初始化mainFrame.thisContainer.setLayout(newBorderLayout());//定义布局为东西南北中的形式centerPanel=newJPanel();/

7、/初始化centerPanelsouthPanel=newJPanel();//初始化southPanelnorthPanel=newJPanel();//初始化northPanelthisContainer.add(centerPanel,"Center");//将centerPanel加入mainFrame中的Center位置thisContainer.add(southPanel,"South");//将southPanel加入mainFrame中的South位置thisContainer.add(northPane

8、l,"North");//将northPanel加入mainFrame中的North位置centerPanel.setLayout(newGridLayout(6,5));13//将centerPanel初始化为6*5的网格布局for(intcols=0;cols<6;cols++){//依次对第0列到

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。