2048网页版简单基础的

麻烦大佬帮我看看补齐一下这个代码使他能输出2048

 

发代码最好是用<代码段>的文本形式,你发图片我们没办法调试。
 

<!DOCTYPE html>

<html onkeydown="kd()">

 <head>

  <meta charset="utf-8">

  <title></title>

  <style type="text/css">

   td {

    width: 80px;

    height: 80px;

    background-color: antiquewhite;

    font-size: 32px;

    text-align: center;

   }

 

   #container {

    display: flex;

    justify-content: center;

    align-items: center;

    height: 100vh;

   }

  </style>

 </head>

 <body onload="newGame">

  <div id="container">

   <table id="tb"></table>

  </div>

  <script type="text/javascript">

   var a = [

    [2, 0, 8, 2],

    [4, 0, 2, 0],

    [2, 2, 4, 4],

    [2, 0, 2, 0]

   ]

   

 

   function newGame() {

    // 把数组清空

    var a = [];

    // 在随机空格中添加2个随机数字(2或4)

    // 输出数组

    for (i = 0; i < a.length; i++)

      for (j = 0; j < a[i].length; j++);

    /* for (let w in a)

     for (let w2 in a) a[w][w2] = 0; *///重置数组,令所有的成员都为0

    //for(int i = 0; i < a.length; i++){}

    // var a = []// 把数组清空

    newNum();

    newNum();

    out();

    }

    newGame();

    

   function newNum(){

      var i, j;

      do{

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

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

      } while (a[i][j] != 0)

      a[i][j] = Math.random() > 0.5 ? 2 : 4;

   }

   function out() { 

    var formBody = `<tr>\n`

     for (let w in a) {

      for (let w2 in a) {

       formBody += `<td>${a[w][w2]}</td>\n`

      }

       formBody += `</tr>`

     }

     document.getElementById('tb').innerHTML = formBody; 

    } 

   

   function mLeft() {//37

    for (k = 0; k < a.length; k++) { 

     i = 1 

     for (i = 1; i < a[k].length; i++)

      if (a[k][i] > 0) { 

       if (a[k][j] == 0) { 

        a[k][j] = a[k][i] 

        a[k][i] = 0

       } else 

        if (a[k][i] == a[k][j]) { 

         a[k][j] *= 2 

         a[k][i] = 0

         j++

        } else { 

         j++

         if (j < i) { 

          a[k][j] = a[k][i] 

          a[k][i] = 0

         }

        }

      }

    }

    document.write('a')

   } //左滑

function mUp() {//38

    for(x = 0; x < a.length; x++) {

     i = 1

     for (i = 1; i < a[x].length; i++)

     if(a[x][i] > 0) {

      if (a[x][j] == 0) {

       a[x][j] = a[x][i]

       a[x][i] = 0

      } else

          if(a[x][i] == a[x][j]){

          a[x][j] *= 2

          a[x][i] =0

          j++

       }else {

        j++

        if (j < i) {

         a[x][j] = a[x][i]

         a[x][i] = 0

        }

       }

     }

    }

    document.write('b')

   } //上滑

   

   function mRight() {//39

    for (k = 0; k < a.length-1; k--) {

     i=2

     for(i = 2; i < a[k].length; i--)

     if(a[k][i]>0) {

        a[k][j] = a[k][i]

        a[k][i] = 0

       }else 

       if(a[k][i] == a[k][j]){

        a[k][j] *= 2

        a[k][i] =0

        j--

       } else {

        j--

        if (j > i) {

         a[k][j] = a[k][i]

         a[k][i] = 0

        }

       }

      }

     document.write('c')

    } //右滑

    

   

   function mDown() {//40

    for(x = 0; x < a.length-1; x--) {

     i = 2

     for(i = 2; i < a[x].length; i--)

     if(a[x][i] > 0) {

        if(a[x][j] == 0) {

        a[x][j] = a[x][i]

        a[x][i] = 0

        } else

         if(a[x][i] == a[x][j]){

            a[x][j] *= 2

            a[x][i] =0

            j--

         }else{

          j--

          if(j > i) {

           a[x][j] = a[x][i]

           a[x][i] = 0

          }

         }

        }  

        

     }

     document.write('d')

   } //下滑

   

   function kd() {

    // tbl.rows[0].cells[0].innerHTML = event.keyCode

    switch(event.keyCode){

     case 37:

     mLeft();

              break;

     case 38:

     mUp();

              break;

     case 39:

     mRight();

              break;

     case 40:

     mDown();

              break;

    }

    

   }

   

  </script>

 </body>

</html>