window.onload = startGame;var x;var y;var printOut;//set all cells to 0var gameTable =   0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0                ;function startGame(){  showContent();  printOut = document.getElementsByClassName(“box”);  placerandom(2);}function showContent(){  position = 0;  for (x = 0; x < 4; x++)  {    for (y = 0; y < 4; y++)    {      if (gameTablexy === 0)      {        printOutposition.style.background = "white";        printOutposition++.innerHTML = null;      }      else      {        var el = printOutposition.cloneNode(true);        printOutposition.parentNode.replaceChild(el, printOutposition);        printOutposition.style.background = colour();        printOutposition++.innerHTML = gameTablexy      }    }  }}function play(n){  var runGame = false;  switch (n)  {    case 1:      for (x = 1; x < 4; x++)      {        for (y = 0; y < 4; y++)        {          position = x;          if (gameTablexy !== 0)          {            while ((position > 0) && ((gameTableposition – 1y === 0) || (gameTableposition – 1y == gameTablepositiony)))            {              if (gameTableposition – 1y === 0)              {                gameTableposition – 1y = gameTablepositiony;                gameTablepositiony = 0;                runGame = true;              }              else              {                gameTableposition – 1y *= 2;                gameTablepositiony = 0;                runGame = true;                break;              }              position = position – 1;            }          }        }      }      if (!runGame)      {        gameover();        break;      }      placerandom(2);      showContent();      break;    case 2:      for (y = 1; y < 4; y++)      {        for (x = 0; x < 4; x++)        {          position = y;          if (gameTablexy != 0)          {            while ((position > 0) && ((gameTablexposition – 1 == 0) || (gameTablexposition – 1 == gameTablexposition)))            {              if (gameTablexposition – 1 == 0)              {                gameTablexposition – 1 = gameTablexposition;                gameTablexposition = 0;                runGame = true;              }              else              {                gameTablexposition – 1 *= 2;                gameTablexposition = 0;                runGame = true;                break;              }              position = position – 1;            }          }        }      }      if (!runGame)      {        gameover();        break;      }      placerandom(2);      showContent();      break;    case 3:      for (y = 3; y >= 0; y–)      {        for (x = 0; x < 4; x++)        {          position = y;          if (gameTablexy != 0)          {            while ((position < 3) && ((gameTablexposition + 1 == 0) || (gameTablexposition + 1 == gameTablexposition)))            {              if (gameTablexposition + 1 == 0)              {                gameTablexposition + 1 = gameTablexposition;                gameTablexposition = 0;                runGame = true;              }              else              {                gameTablexposition + 1 *= 2;                gameTablexposition = 0;                runGame = true;                break;              }              position = position + 1;            }          }        }      }      if (!runGame)      {        gameover();        break;      }      placerandom(2);      showContent();      break;    case 4:      for (x = 3; x >= 0; x–)      {        for (y = 0; y < 4; y++)        {          position = x;          if (gameTablexy != 0)          {            while ((position < 3) && ((gameTableposition + 1y == 0) || (gameTableposition + 1y == gameTablepositiony)))            {              if (gameTableposition + 1y == 0)              {                gameTableposition + 1y = gameTablepositiony;                gameTablepositiony = 0;                runGame = true;              }              else              {                gameTableposition + 1y *= 2;                gameTablepositiony = 0;                runGame = true;                break;              }              position = position + 1;            }          }        }      }      if (!runGame)      {        gameover();        break;      }      placerandom(2);      showContent();      break;  }}function gameover(){  if (emptycells() == 0)  {    alert("|GAME OVER|");  }}function placerandom(n){  position = Math.floor(Math.random() * emptycells() + 1);  for (x = 0; x < 4; x++)  {    for (y = 0; y < 4; y++)    {      if (gameTablexy == 0)      {        position = position - 1;      }      if (position == 0)      {        break;      }    }    if (position == 0)    {      break;    }  }  gameTablexy = 2;}function emptycells(){  position = 0;  for (x = 0; x < 4; x++)  {    for (y = 0; y < 4; y++)    {      if (gameTablexy == 0)      {        position++;      }    }  }  return position;}function colour(){  switch (gameTablexy)  {    case 2:      return "orange";      break;    case 4:      return "red";      break;    case 8:      return "pink";      break;    case 16:      return "blue";      break;    case 32:      return "green";      break;    case 64:      return "purple";      break;    case 128:      return "brown";      break;    case 256:      return "skyblue";      break;    case 512:      return "magenta";      break;    case 1024:      return "silver";      break;    case 2048:      return "gold";      break;    default:      return "black";  }}

Author