- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java拼图小游戏
2015/1/5
第一页,编辑于星期二:十七点 四十分。 利用java的图形用户界面设计,设计简单的拼图游戏 一、实训要求 第二页,编辑于星期二:十七点 四十分。 二、程序流程图 第三页,编辑于星期二:十七点 四十分。 三、实现的游戏功能 第四页,编辑于星期二:十七点 四十分。 三、实现的游戏功能 附加功能: 可选择从预设的图片中选择图片拼图 第五页,编辑于星期二:十七点 四十分。 三、实现的游戏功能 游戏结束界面 第六页,编辑于星期二:十七点 四十分。 要实现游戏的上述功能,很显然有以下几个关键问题要考虑: 四、算法设计 1.如何加载图片? 2.如何实现拼图的随机排列? 3.如何实现图片的移动? 4.如何判断游戏结束的标志? 5.如何实现图片的切换选择? 第七页,编辑于星期二:十七点 四十分。 1.如何加载图片? 2.如何实现拼图的随机排列? 3.如何实现图片的移动? 4.如何判断游戏结束的标志? 5.如何实现图片的切换选择? 五、核心代码分析 第八页,编辑于星期二:十七点 四十分。 cell=new Cell[9];// 创建九个方格 Icon icon;// 声明图标 for (int i = 0; i 3; i++) {//循环为9个方格加载图片,并初使化坐标,形成三行三列 for(int j=0;j3;j++){ icon=new ImageIcon(“pictrue/pic_”+pictureID+“_”+(i*3+j+1)+“.jpg”);// 根据指定URL创建图标 cell[i*3+j]=new Cell(icon);// 创建方格在方格中加载图片 cell[i*3+j].setLocation(j*100,i*100);// 设置方格的位置 this.add(cell[i*3+j]);// 面板添加方格 (1)如何加载图片? 第九页,编辑于星期二:十七点 四十分。 1.如何加载图片? 2.如何实现拼图的随机排列? 3.如何实现图片的移动? 4.如何判断游戏结束的标志? 5.如何实现图片的切换选择? 五、核心代码分析 第十页,编辑于星期二:十七点 四十分。 关键代码: int direction=(int)(Math.random()*4); //随机产生一个0-3的数字,对应空方格的上下左右移动 (2)如何实现拼图的随机排列? 第十一页,编辑于星期二:十七点 四十分。 1.如何加载图片? 2.如何实现拼图的随机排列? 3.如何实现图片的移动? 4.如何判断游戏结束的标志? 5.如何实现图片的切换选择? 五、核心代码分析 第十二页,编辑于星期二:十七点 四十分。 (3)如何实现图片的移动? 通过鼠标点击相邻图片,所点击的图片与空白按钮互换位置,完成拼图的移动。 具体代码 第十三页,编辑于星期二:十七点 四十分。 (3)如何实现图片的移动? 1.鼠标事件 public void mousePressed(MouseEvent event) { //方格的鼠标按下事件 Cell button=(Cell)event.getSource(); // 获得鼠标按的方格按钮 int x1=button.getBounds().x; //得到所单击方格的坐标 int y1=button.getBounds().y; int x2=cellNull.getBounds().x;//得到空方格的坐标 int y2=cellNull.getBounds().y; 第十四页,编辑于星期二:十七点 四十分。 (3)如何实现图片的移动? 1.鼠标事件 if(x1==x2y1-y2==100)//如果满足条件则进行交换 button.move(UP,100);// 方格向上移动 else if(x1==x2 y1-y2==-100) button.move(DOWN,100);// 方格向下移动 else if(x1-x2==100 y1==y2) button.move(LEFT,100);;// 方格向左移动 else if(x1-x2==-100 y1==y2) button.move(RIGHT,100);// 方格向右移动 else return;//不满足就不进行任何处理 第十五页,编辑于星期二:十七点 四十分。 (3)如何实现图片的移动? 1.鼠标事件 cellNull.setLocation(x1,y1);// 重新设置空方格的位置 this.repaint(); 第十六页,编辑于星期二:十七点 四十分。 (3)如何实现图片的移动? public void mo
文档评论(0)