基于javascript制作經(jīng)典傳統(tǒng)的拼圖游戲
來(lái)源:易賢網(wǎng) 閱讀:778 次 日期:2016-07-19 13:41:17
溫馨提示:易賢網(wǎng)小編為您整理了“基于javascript制作經(jīng)典傳統(tǒng)的拼圖游戲”,方便廣大網(wǎng)友查閱!

這篇文章主要為大家詳細(xì)介紹了基于javascript制作拼圖游戲的相關(guān)內(nèi)容,經(jīng)典傳統(tǒng)的拼圖游戲是大家最喜愛(ài)的游戲之一,具有挑戰(zhàn)性,感興趣的小伙伴們可以參考一下

實(shí)現(xiàn)代碼:

<!DOCTYPE html>

<html>

 <head>

  <title>pingtu.html</title>

  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

  <meta http-equiv="description" content="this is my page">

  <meta http-equiv="content-type" content="text/html; charset=gb2312">

  <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

  <style type="text/css">

*{ margin-bottom:0px;

  margin-top: 0px;

  margin-left: 0px;

  margin-right: 0px;

  padding-right: 0px;

  padding-left: 0px;

  padding-top: 0px;

  padding-bottom: 0px;

  border: 0px;

}

#box{    

      position:absolute;

      top:0px;

      left:0px;

      width: 300px;

      height: 300px;

      border: 1px solid red;

}

#box img{

  float:left;

  width: 100px;

  height: 100px;

}

#box .pj,#box .p2,#box .p3,#box .p4,#box .p5,#box .p6,#box .p7,#box .p8,#box .p9{

  position: absolute;

}

#box .pj,#box .p2,#box .p3{

  top:0px;

}

#box .p4,#box .p5,#box .p6{

  top:100px;

}

#box .p7,#box .p8,#box .p9{

  top:200px;

}

#box .pj,#box .p4,#box .p7{

left:0px;

}

#box .p2,#box .p5,#box .p8{

left:100px;

}

#box .p3,#box .p6,#box .p9{

left:200px;

}

#button{

 font-size:25px;

 font-weight:20px;

 float: left;

 position: absolute;

 top:400px;

 left:100px;

}

#output{

  position:absolute;

  width: 270px;

  height: 170px;

  top:130px; 

  left: 350px;

}

#output img{

 height: 170px;

 width:170px;

 float: right;

}

#notice{

 position: absolute;

 left: 650px;

 top:150px;

 width: 150px;

 height: 120px;

 border: 1px solid blue;

 font-size: 15px;

}

 </style>

 </head>

 <body>

 <div id="box">

 <img class="pj" src="img1/pj.png">

  <img class="p2" src="img1/p2.png">

   <img class="p3" src="img1/p3.png">

    <img class="p4"  src="img1/p4.png">

      <img class="p5" src="img1/p5.png">

       <img class="p6" src="img1/p6.png">

         <img class="p7" src="img1/p7.png">

          <img class="p8" src="img1/p8.png">

            <img class="p9" src="img1/p9.png">

 </div>

 <div id="output">

 目標(biāo)圖形:

 <img alt="" src="img1/output.jpg">

 </div>

 <div id="notice">

 游戲提示:<br>

 <br>

 點(diǎn)擊“開(kāi)始新游戲”開(kāi)始游戲。鼠標(biāo)點(diǎn)擊黑色方塊周圍的方塊時(shí),即可移動(dòng)方塊。。

</div>

 <input type="button" id="button" value="開(kāi)始新游戲">

 <script type="text/javascript">

 var times=0;

 var src= Array();

           src.push("img1/pj.png");

           src.push("img1/p2.png");

            src.push("img1/p3.png");

            src.push("img1/p4.png");

             src.push("img1/p5.png");

             src.push("img1/p6.png");

              src.push("img1/p7.png");

              src.push("img1/p8.png");

               src.push("img1/p9.png");

  function addLoadEvent(func) {

      //為window添加新事件函數(shù)

      var oldonload = window.onload;

      if (typeof window.onload != 'function') {

        window.onload = func;

      } else {

        window.onload = function() {

          oldonload();

          func();

        };

      }

    }

    function getInfor(){

       var ps=document.getElementById("box");

       var Arrps=ps.getElementsByTagName("img");

       for(var i=0;i<Arrps.length;i++){

          Arrps[i].onclick=function(){

          if (this.getAttribute("src")=="img1/pj.png");

          changeP(this,Arrps);

         };

       }

    }

   function tostar(){

       var butt=document.getElementById("button");

       butt.onclick=function(){

       toST();

       times=0;

       getInfor();

       };

   }

    function changeP(ob,Arrps){

           var Ni=0;

           var Nj=0;

          for(var i=0;i<Arrps.length;i++){

           if(Arrps[i]==ob)

            Ni=i;

          if(Arrps[i].getAttribute("src")=="img1/pj.png")

            Nj=i;

           }

           if(Math.abs(Ni-Nj)==3)

           {

              var temperOb=ob.getAttribute("src"); 

              ob.setAttribute("src","img1/pj.png");

              Arrps[Nj].setAttribute("src",temperOb);

              times++;

              ifright();

             }else if((Ni-Nj)==1&&(Ni%3)!=0){

             var temperOb=ob.getAttribute("src"); 

              ob.setAttribute("src","img1/pj.png");

              Arrps[Nj].setAttribute("src",temperOb);

              times++;

              ifright();

             }else if((Ni-Nj)==-1&&(Ni%3)!=2){

              var temperOb=ob.getAttribute("src"); 

              ob.setAttribute("src","img1/pj.png");

              Arrps[Nj].setAttribute("src",temperOb);

              times++;

              ifright();

             }

          }

          function ifright(){

          var ps=document.getElementById("box");

          var Arrps=ps.getElementsByTagName("img");

           for(var i=0;i<src.length;i++){

            if(src[i]!=Arrps[i].getAttribute("src")) return;

           }

           if(times<50)

           alert("恭喜,你成功了。。"+"\n"+"僅用了"+times+"步哦");

           else  alert("恭喜,你成功了。。"+"\n"+"用了"+times+"步");

          }

     function toST(){

        var srcUsing= new Array();

         for(var p=0; p<src.length;p++){

         srcUsing[p]=src[p];

         }

          var ps=document.getElementById("box");

          var Arrps=ps.getElementsByTagName("img");

          var newArry= new Array();

          for(var i=0;i<Arrps.length;i++){

             newArry.push(srcUsing.splice(Math.floor(Math.random()*srcUsing.length), 1));

           }     

          for(var j=0;j<newArry.length;j++) {

           //var newarrValue=newArry[j];

            Arrps[j].setAttribute("src",String(newArry[j]));

          }

    }   

    addLoadEvent(tostar);

 </script>

 </body>

</html>

希望本文所述對(duì)大家學(xué)習(xí)javascript程序設(shè)計(jì)有所幫助,讓大家動(dòng)手親自實(shí)現(xiàn)自己最喜愛(ài)的游戲——拼圖。

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:基于javascript制作經(jīng)典傳統(tǒng)的拼圖游戲
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)