Project

Sliding puzzle 4*4 (Javascript)

Alyce 2015. 11. 22. 10:15


lab3.zip


숫자로 된 퍼즐소스 찾아서 이를 이미지로 바꾸어 보았당... 따라서 50%는 인터넷 소스의 도움을 받음...documentation 해야 되는데...귀찮아서 안하게 된다..........킁...


<!-- Lab3: Sliding Puzzle -->


<html>

<head>

<title>Sliding Puzzle</title>


<script type = "text/javascript">


var puz = [["00.jpg","01.jpg","02.jpg","03.jpg"],

["10.jpg","11.jpg","12.jpg","13.jpg"],

["20.jpg","21.jpg","22.jpg","23.jpg"],

["30.jpg","31.jpg","32.jpg","33.jpg"]];

var x, y, i, j, s1, s2, s3, s4, temp;

var c1,c2, c3, c4;


function puzzle(x, y){

        if(x>0&&puz[x-1][y]=='33.jpg') {change(x,y,x-1,y);}

        if(x<3&&puz[x+1][y]=='33.jpg') {change(x,y,x+1,y);}

        if(y>0&&puz[x][y-1]=='33.jpg') {change(x,y,x,y-1);}

        if(y<3&&puz[x][y+1]=='33.jpg') {change(x,y,x,y+1);}

}


function change(c1, c2, c3, c4){

        temp = puz[c1][c2];

        puz[c1][c2] = puz[c3][c4];

        puz[c3][c4] = temp;

        in_puzzle();

}        


function sort(){

        for(i=0;i<20;i++){

                s1 = Math.floor(Math.random()*4);

                s2 = Math.floor(Math.random()*4);

                s3 = Math.floor(Math.random()*4);

                s4 = Math.floor(Math.random()*4);

                temp = puz[s1][s2];

                puz[s1][s2] = puz[s3][s4];

                puz[s3][s4] = temp;

        }

        in_puzzle();        

}


function in_puzzle(){

        document.getElementById('p00').src = puz[0][0];

        document.getElementById('p01').src = puz[0][1];

        document.getElementById('p02').src = puz[0][2];

        document.getElementById('p03').src = puz[0][3];

        document.getElementById('p10').src = puz[1][0];

        document.getElementById('p11').src = puz[1][1];

        document.getElementById('p12').src = puz[1][2];

        document.getElementById('p13').src = puz[1][3];

        document.getElementById('p20').src = puz[2][0];

        document.getElementById('p21').src = puz[2][1];

        document.getElementById('p22').src = puz[2][2];

        document.getElementById('p23').src = puz[2][3];

        document.getElementById('p30').src = puz[3][0];

        document.getElementById('p31').src = puz[3][1];

        document.getElementById('p32').src = puz[3][2];

        document.getElementById('p33').src = puz[3][3];               


function solve(){


puz = [["00.jpg","01.jpg","02.jpg","03.jpg"],

["10.jpg","11.jpg","12.jpg","13.jpg"],

["20.jpg","21.jpg","22.jpg","23.jpg"],

["30.jpg","31.jpg","32.jpg","33.jpg"]];

in_puzzle();

 } 

</script>


<div><table>

    <tr>

        <td><script language="JavaScript">

with(window.document)

  {

    open();

    writeln('<table cellpadding=2 cellspacing=0>');

    for(var i=0;i<4;i++){

for(var j=0;j<4;j++)

       {

         if(j===0)

           {

             writeln('<tr>');

           }

         writeln('<td width=70 height=52 onclick="puzzle(',i,', ',j,')">');

         writeln('<img src=',i,'',j,'.jpg border=0 width=70 height=52 id=p',i,'',j,'></a>');

         writeln('</td>');

        }

}

      writeln('</table>');

      close();

    }

            </script>

        </td>

    </tr>

</table></div>

<input type="button" value="Start" onclick="sort()" />

<input type="button" value="Solve" onclick="solve()" />


</body>

</html>