Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //URL: https://www.2048.org/
- function getGameState() {
- if (localStorage.gameState) {
- return JSON.parse(localStorage.gameState);
- } else {
- return false;
- }
- }
- function setGameState(input) {
- try {
- localStorage.gameState = JSON.stringify(input);
- refreshGame();
- } catch {
- console.warn("Unable to set gameState!");
- }
- }
- function clearGameState() {
- try {
- localStorage.removeItem("gameState");
- refreshGame();
- return true;
- } catch {
- return false;
- }
- }
- function setScore(newScore) {
- var gameData = getGameState();
- gameData.score = newScore;
- setGameState(gameData);
- }
- function setBestScore(newScore) {
- localStorage.bestScore = newScore;
- refreshGame();
- }
- function winGame() {
- var gameData = getGameState();
- gameData.won = true;
- setGameState(gameData);
- }
- function loseGame() {
- var gameData = getGameState();
- gameData.over = true;
- setGameState(gameData);
- }
- function fillGrid(tileNumber) {
- if (localStorage.gameState) {
- var gameData = localStorage.gameState;
- 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];
- refreshGame();
- return true;
- } else {
- return false;
- }
- }
- function setTile(tileX, tileY, tileNumber) {
- if (tileX >= 0 && tileX <= 3 && tileY >= 0 && tileY <= 3) {
- var gameData = getGameState();
- gameData.grid.cells[tileX][tileY] = JSON.parse("{\"position\":{\"x\":"+tileX+",\"y\":"+tileY+"},\"value\":"+tileNumber+"}");
- setGameState(gameData);
- return true;
- } else {
- return false;
- }
- }
- function refreshGame() {
- window.location.reload(false);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement