,,JS 拼图游戏 面向对象,注释完整。

,,JS 拼图游戏 面向对象,注释完整。 原创的射流研究…拼图游戏,面向对象,注释完整。作者sunxing007 在线演示http://img.jb51.net/online/pintu/pintu.htm复制代码代码如下:html标题射流研究…拼图游戏/title style body { font-size:9pt;}表{ border-collapse:折叠;}输入{宽度:20px}/style/头体射流研究…原创作品:JS拼图游戏英国铁路公司注释完整,面向对象英国铁路公司转载请注明来自一个href=' http://博客。csdn。net/孙兴007 ' http://博客。csdn。net/孙兴007/ABR输入type=' text ' id=' lines ' value=' 3 '/行输入类型='text' id='cols' value='3'/列nbspnbsp按钮id="开始"开始/button br table id=' board ' border=1 cellspacing=0 cell padding=0 trtd/tdtd/tdtd/TD/tr trtd/tdtd/tdtd/TD/tr/table brbrbrbrbrbrbrbrbrbrbrbrbr img id=' img ' src=' http://img。jb51。网/在线/拼图/狗。jpg ' style=' '/br转载请注明来自一个href=' http://博客。csdn。net/孙兴007 ' http://博客。csdn。net/孙兴007/ABR/body/html script//ie7以下默认不缓存背景图像,造成延迟和闪烁,修正此臭虫.//(csdn网友wtcsy提供http://blog.csdn.net/wtcsy/)尝试{ document。exec命令('背景图像缓存',false,true);} catch(e){ alert(e)};//辅助函数函数$(id){返回文档。getelementbyid(id)};/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * js拼图游戏1.6版*作者sunxing007 *转载请注明来自http://blog.csdn.net/sunxing007 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */var PicGame={//行数x: 3,//列数y: 3,//图片源img: $('img '),//单元格高度单元格高度:0,//单元格宽度单元格宽度:0,//本游戏最主要的对象:表格,每个(美)财政部(财政部)对应着一个可以移动的小格子board: $('board '),//初始函数init: function(){ //确定拼图游戏的行数和列数this.x=$('lines').value1? $('lines ').值:3;this.y=$('cols').value1?$('cols ').值:3;//删除板原有的行而(这个。董事会。行。长度0){ this。董事会。deleterow(0);} //按照行数和列数重新构造板为(var I=0;ithis.xI){ var tr=this。董事会。insertrow(-1);for(var j=0;JT这个。y;j){ var TD=tr。插入单元格(-1);} } //计算单元格高度和宽度这个。单元格高度=this.img.height/this.x;本。单元格宽度=this.img.width/this.y;//获取所有的TD var TDS=this。董事会。getelementsbytagname(' TD ');//对每个td,设置样式for(var I=0;itds。长度-1;I){ TDS[I]。风格。宽度=这个。单元格宽度;TDS[I]。风格。身高=这个。单元格高度;TDS[I]。风格。background=' URL(' this。img。src“)”;TDS[I]。风格。border=' solid # CCC 1pxvar currLine=parse int(I/this。y);var currCol=i % this.y//这里最重要,计算每个单元格的背景图的位置,使他们看起来像一幅图像TDS[I]。风格。backgroundpositionx=-this。单元格宽度*货币列;TDS[I]。风格。背景位置y=-这个。单元格高度* currLine} /** begin:打乱排序*******************//** *打乱排序的算法是这样的:比如我当前是3*3布局, * 则我为每一个(美)财政部(财政部)产生一个目标位置,这些目标位置小于9且各不相同, * 然后把它们替换到那个地方。 **/ //目标位置序列var index=[];index[0]=数学。地板(数学。random()*(这个。x *这个。y));while(索引。长度(这个。x *这个。y)){ var num=math。地板(数学。random()*(这个。x *这个。y));for(var I=0;iindex . length I){ if(index[I]==num){ break;} } if(I==index。长度){ index[index。长度]=数量;}//窗口。状态=索引;} var cloneTds=[];//把每个(美)财政部(财政部)克隆,然后依据目标位置序列索引,替换到目标位置for(var I=0;itds。长度;i ){ cloneTds.push(tds[i].克隆节点(真));} for(var I=0;iindex.lengthI){ TDS[I]。父节点。替换child(克隆TDS[index[I]],TDS[I]);} /**结束:打乱排序*********************/ //为每个(美)财政部(财政部)添加onclick事件TDS=这个。董事会。getelementsbytagname(' TD ');for(var I=0;itds。长度;{ tds[i].onclick=function(){ //被点击对象的坐标var row=this。父节点。rowindexvar col=this。细胞指数;//窗口。status=' row:' row ' col:' col;//空白方块的坐标var行空白=0;var colBlank=0;//可到达表示当前被点击的方块是否可移动var reachable=falseif(第1行picgame。x picgame。董事会。行[第1行]).单元格[列]。风格。background==' '){ row blank=row 1;col blank=col reachable=true//window . status=' reachable!行空白:“行空白”列空白:“列空白;} else if(row-1=0 picgame。董事会。rows[row-1]).单元格[列]。风格。background==' '){ row blank=row-1;col blank=col reachable=true//window . status=' reachable!行空白:“行空白”列空白:“列空白;} else if(col 1 picgame。y picgame。董事会。rows[row]).单元格[第1列]。风格。background==“”){ row blank=row;col blank=col 1;reachable=true//window . status=' reachable!行空白:“行空白”列空白:“列空白;} else if(col-1=0 picgame。董事会。rows[row]).单元格[第一列]。风格。background==“”){ row blank=row;col blank=col-1;reachable=true//window . status=' reachable!行空白:“行空白”列空白:“列空白;} else {//window。状态='无法到达!';reachable=false} //如果可移动,则把当前方块和空白方块交换if(reachable){ var tmpBlankNode=picgame。董事会。行[空白行].单元格[列空白]。克隆节点(真);//需要注意的是克隆对象丢失了onclick方法,所以要补上tmpblanknode。onclick=参数。被叫方;var tmpCurrNode=picgame。董事会。行[行].单元格[列]。克隆节点(真);tmpcurrnode。onclick=参数。被叫方;PicGame.board.rows[rowBlank].单元格[空白列]。父节点。替换child(tmpCurrNode,PicGame.board.rows[rowBlank]).cells[colBlank]);PicGame.board.rows[row].单元格[列]。父节点。替换child(tmpBlankNode,PicGame.board.rows[row]).cells[col]);} } } } };picgame。init();$('start ').onclick=function(){ picgame。init();}/脚本

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 关于js的面试题,前段js面试题
  • 关于js的面试题,前段js面试题,送你43道JS面试题(收藏)
  • 关于js中的全等和不全等,等于和不等于问题的关系,
  • 关于js中的全等和不全等,等于和不等于问题的关系,,关于JS中的全等和不全等、等于和不等于问题
  • 全面了解js中的匿名函数有哪些,全面了解js中的匿名函数是什么
  • 全面了解js中的匿名函数有哪些,全面了解js中的匿名函数是什么,全面了解JS中的匿名函数
  • 使用js实现简单的图片切换功能的方法,使用js实现简单的图片切换功能命令
  • 使用js实现简单的图片切换功能的方法,使用js实现简单的图片切换功能命令,使用JS实现简单的图片切换功能
  • 使用js实现数据格式化命令,使用js实现数据格式化的方法
  • 使用js实现数据格式化命令,使用js实现数据格式化的方法,使用js实现数据格式化
  • 使用js代码实现点击按钮下载文件的方法,使用js代码实现点击按钮下载文件并安装
  • 使用js代码实现点击按钮下载文件的方法,使用js代码实现点击按钮下载文件并安装,使用JS代码实现点击按钮下载文件
  • 代码错误未结束的字符串常量,代码错误未结束的字符串常量,js 未结束的字符串常量错误解决方法
  • 什么叫jsp,jsp的概念是什么
  • 什么叫jsp,JSP是指
  • 留言与评论(共有 条评论)
       
    验证码: