- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA连连看源代码行评论
所实现应用的功能及具体实现.
需求规定
退出:退出界面,停止游戏。
重列:重新排列按键。
再来一局:重新开始一局,分数不重计。
运行环境
硬件要求: 普通计算机即可。
操作系统:windows XP,windows 7 等
开发环境:Myeclipse 8.5
流程图
实现思路
1:将整张地图拆分为n行m列,接着用一个二维数组表示将在地图中显示什么,例如0表示此处没有东西(如果两可以消除时,就可以将数组中对应的元素赋为0。
2:游戏中需要处理鼠标按下时间和获取鼠标当前点击坐标信息3:如果其在地图范围内按下,则将其转换为在二维数组中对应的行和列。
4:游戏关键就是 如何判断两张图片可以消除,这也是连连看游戏的关键吧。我们可以将开始点的前后左右 四个方向的结点都推入队列中,继续查看其前后左右的 前后左右,如果其中有为0的(代表此处没有图片,存在通路),还是元素值和开始点 相同的都推入队列中。在判断前后左右时就可以对转弯次数进行累加了,如果还是原来的方向,则保持转弯次数不变,否则转弯次数+1。如果搜索的过程中,发现存在转弯的次数少于或者等于2的,且其结点信息和 结束点一样,代表我们已经找到了开始点 和结束点之间的通路了,这时也就是两可以消去了。
5:如何画出两张图片消去的路径呢,我的思路是这样的,每次寻找到一个新结点时,我们可以将其上一步结点的信息也保存下来,这样当我们找到结束点时,我们就可以沿着相反的方向,搜索回去,找出原来的整条路径package test;
import javax.swing.*; //AWT的扩展
import java.awt.*; //抽象窗口工具包
import java.awt.event.*;
class lianliankan implements ActionListener //实现ActionListener接口
{
JFrame mainFrame; //主面板 ,JFrame定义的是一个容器,可向里面添加组件
Container thisContainer; //定义一个容器
JPanel centerPanel,southPanel,northPanel; //子面板 ,JPanel是个轻量级容器,可添加入JFrame中
JButton diamondsButton[][] = new JButton[6][5];//定义存储游戏按钮的数组
JButton exitButton,resetButton,newlyButton; //定义退出,重列,重新开始按钮
JLabel fractionLable=new JLabel(0); //定义分数标签,并初始化为0.
JButton firstButton,secondButton; //分别记录两次先后被选中的按钮
int grid[][] = new int[8][7];//储存游戏按钮位置
static boolean pressInformation=false; // 声明了一个静态布尔类型的变量,判断是否有按钮被选中
int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戏按钮的位置坐标
int i,j,k,n;//消除方法控制
public void init(){ //init方法
mainFrame=new JFrame(连连看); //定义主面板为命名为“连连看”的JFrame容器
thisContainer = mainFrame.getContentPane(); //初始化mainFrame.
thisContainer.setLayout(new BorderLayout()); //定义布局为东西南北中的形式
centerPanel=new JPanel(); //初始化centerPanel
southPanel=new JPanel(); //初始化southPanel
northPanel=new JPanel(); //初始化northPanel
thisContainer.add(centerPanel,Center); //将centerPanel加入mainFrame中的Center位置
thisContainer.add(southPanel,South); //将southPanel加入mainFrame中的South位置
thisContainer.add(northPanel,North); //将northPanel加入mainFrame中的North位置
centerPanel.setLayout(new GridLayout(6,5)); //将cen
您可能关注的文档
- 高三基本能力复习资料------体育及健康.doc
- 高一化学物质的量练习题和答案.doc
- 高三物理:传送带问题回顾及解析.doc
- 高中生物实验所需仪器及药品.doc
- 高中物理第四章第二节4.2实验:探究加速度及力、质量关系同步练习(新人教版必修1).doc
- 高中生在美国留学九个条件.doc
- 高二文科数学选修1-2测试题和答案.doc
- 高二有机化学 酚的性质及应用 导学案2.doc
- 高压水枪使用时间和换油记录.doc
- 高压抗燃油的特点和安装运行探讨.doc
- springbooot+vue基于java的房屋维修系统毕业论文.doc
- 中国消防救援学院《单片机系统实验》2023-2024学年第一学期期末试卷.doc
- 2025年溧阳纺织化学品项目申请.pptx
- 景区门票包销合同模板(3篇).docx
- 【股票技术指标学习指南】第七章第三节货币需要量的测算.doc
- 2025春 _ 人教版七年级英语下册【unit4】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit5】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit6】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit7】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit8】看音标写单词.doc
最近下载
- 敬老院运营与管理规范.docx VIP
- DB31_T 1598-2025 __城市轨道交通车辆寿命评估通用要求.pdf
- 分户验收方案 .doc VIP
- 液力變矩器的结构.doc VIP
- 2025年内蒙古自治区公安机关留置看护监管机构(专业知识)考试试题【含答案】.pdf VIP
- 一汽-大众-迈腾MAGOTAN-产品使用说明书-新一代迈腾330TSI DSG尊贵型-FV7187BBDBG-MagotanB8L-201606.pdf
- 液态氢风险分析.docx VIP
- TCAAA051-2020湖羊规范合格.pdf VIP
- 地震救援 地震八大救援知识 .docx VIP
- 牛根生致中国企业家俱乐部理事及长江商学院同学的一封信Microsoft Word.doc VIP
文档评论(0)