Advertisement
22lblevins

2048 Cheat

Mar 10th, 2022 (edited)
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //URL: https://www.2048.org/
  2.  
  3. function getGameState() {
  4.     if (localStorage.gameState) {
  5.         return JSON.parse(localStorage.gameState);
  6.     } else {
  7.         return false;
  8.     }
  9. }
  10.  
  11. function setGameState(input) {
  12.     try {
  13.         localStorage.gameState = JSON.stringify(input);
  14.         refreshGame();
  15.     } catch {
  16.         console.warn("Unable to set gameState!");
  17.     }
  18. }
  19.  
  20. function clearGameState() {
  21.     try {
  22.         localStorage.removeItem("gameState");
  23.         refreshGame();
  24.         return true;
  25.     } catch {
  26.         return false;
  27.     }
  28. }
  29.  
  30. function setScore(newScore) {
  31.     var gameData = getGameState();
  32.     gameData.score = newScore;
  33.     setGameState(gameData);
  34. }
  35.  
  36. function setBestScore(newScore) {
  37.     localStorage.bestScore = newScore;
  38.     refreshGame();
  39. }
  40.  
  41. function winGame() {
  42.     var gameData = getGameState();
  43.     gameData.won = true;
  44.     setGameState(gameData);
  45. }
  46.  
  47. function loseGame() {
  48.     var gameData = getGameState();
  49.     gameData.over = true;
  50.     setGameState(gameData);
  51. }
  52.  
  53. function fillGrid(tileNumber) {
  54.     if (localStorage.gameState) {
  55.         var gameData = localStorage.gameState;
  56.         localStorage.gameState = gameData.split("[[")[0] + "[[{\"position\":{\"x\":0,\"y\":0},\"value\":"+tileNumber+"},{\"position\":{\"x\":0,\"y\":1},\"value\":"+tileNumber+"},{\"position\":{\"x\":0,\"y\":2},\"value\":"+tileNumber+"},{\"position\":{\"x\":0,\"y\":3},\"value\":"+tileNumber+"}],[{\"position\":{\"x\":1,\"y\":0},\"value\":"+tileNumber+"},{\"position\":{\"x\":1,\"y\":1},\"value\":"+tileNumber+"},{\"position\":{\"x\":1,\"y\":2},\"value\":"+tileNumber+"},{\"position\":{\"x\":1,\"y\":3},\"value\":"+tileNumber+"}],[{\"position\":{\"x\":2,\"y\":0},\"value\":"+tileNumber+"},{\"position\":{\"x\":2,\"y\":1},\"value\":"+tileNumber+"},{\"position\":{\"x\":2,\"y\":2},\"value\":"+tileNumber+"},{\"position\":{\"x\":2,\"y\":3},\"value\":"+tileNumber+"}],[{\"position\":{\"x\":3,\"y\":0},\"value\":"+tileNumber+"},{\"position\":{\"x\":3,\"y\":1},\"value\":"+tileNumber+"},{\"position\":{\"x\":3,\"y\":2},\"value\":"+tileNumber+"},{\"position\":{\"x\":3,\"y\":3},\"value\":"+tileNumber+"}]]" + gameData.split("]]")[1];
  57.         refreshGame();
  58.         return true;
  59.     } else {
  60.         return false;
  61.     }
  62. }
  63.  
  64.  
  65. function setTile(tileX, tileY, tileNumber) {
  66.     if (tileX >= 0 && tileX <= 3 && tileY >= 0 && tileY <= 3) {
  67.         var gameData = getGameState();
  68.         gameData.grid.cells[tileX][tileY] = JSON.parse("{\"position\":{\"x\":"+tileX+",\"y\":"+tileY+"},\"value\":"+tileNumber+"}");
  69.         setGameState(gameData);
  70.         return true;
  71.     } else {
  72.         return false;
  73.     }
  74. }
  75.  
  76. function refreshGame() {
  77.     window.location.reload(false);
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement