diff --git a/sketch.js b/sketch.js index 7869745..3a4ef67 100644 --- a/sketch.js +++ b/sketch.js @@ -1,80 +1,71 @@ -function _0x5d34(_0x4b68a3, _0x3b90df) { - var _0x30aa1f = _0x30aa(); - return ( - (_0x5d34 = function (_0x5d34bf, _0x485476) { - _0x5d34bf = _0x5d34bf - 0x171; - var _0x50f17c = _0x30aa1f[_0x5d34bf]; - return _0x50f17c; - }), - _0x5d34(_0x4b68a3, _0x3b90df) - ); -} -var _0x3887b9 = _0x5d34; -(function (_0xf469a7, _0x5cbaa2) { - var _0x18175f = _0x5d34, - _0x3e586e = _0xf469a7(); +var _0x1bd60a = _0x3dfd; +(function (_0x4b4fd7, _0x173cb4) { + var _0x3db2a4 = _0x3dfd, + _0xc94cf6 = _0x4b4fd7(); while (!![]) { try { - var _0x87b80 = - parseInt(_0x18175f(0x19d)) / 0x1 + - (parseInt(_0x18175f(0x176)) / 0x2) * - (parseInt(_0x18175f(0x196)) / 0x3) + - -parseInt(_0x18175f(0x1a8)) / 0x4 + - (-parseInt(_0x18175f(0x197)) / 0x5) * - (parseInt(_0x18175f(0x193)) / 0x6) + - -parseInt(_0x18175f(0x181)) / 0x7 + - parseInt(_0x18175f(0x194)) / 0x8 + - -parseInt(_0x18175f(0x171)) / 0x9; - if (_0x87b80 === _0x5cbaa2) break; - else _0x3e586e["push"](_0x3e586e["shift"]()); - } catch (_0x5e090c) { - _0x3e586e["push"](_0x3e586e["shift"]()); + var _0x484e8b = + (parseInt(_0x3db2a4(0x1b4)) / 0x1) * + (-parseInt(_0x3db2a4(0x1b8)) / 0x2) + + (parseInt(_0x3db2a4(0x1cc)) / 0x3) * + (-parseInt(_0x3db2a4(0x1bc)) / 0x4) + + (-parseInt(_0x3db2a4(0x1a2)) / 0x5) * + (parseInt(_0x3db2a4(0x1e1)) / 0x6) + + -parseInt(_0x3db2a4(0x1b1)) / 0x7 + + (-parseInt(_0x3db2a4(0x1d1)) / 0x8) * + (parseInt(_0x3db2a4(0x1db)) / 0x9) + + -parseInt(_0x3db2a4(0x1c5)) / 0xa + + parseInt(_0x3db2a4(0x1ae)) / 0xb; + if (_0x484e8b === _0x173cb4) break; + else _0xc94cf6["push"](_0xc94cf6["shift"]()); + } catch (_0x4d5a90) { + _0xc94cf6["push"](_0xc94cf6["shift"]()); } } -})(_0x30aa, 0xcbf5b); -function HSVtoRGB(_0x51ed68, _0x4e0751, _0x539e7) { - var _0x434db1 = _0x5d34, - _0x32a2f6, - _0x305341, - _0x5b7e8b, - _0x1f5b76, - _0x2afcc4, - _0x27a234, - _0x531435, - _0x4650f; - arguments[_0x434db1(0x1b4)] === 0x1 && - ((_0x4e0751 = _0x51ed68["s"]), - (_0x539e7 = _0x51ed68["v"]), - (_0x51ed68 = _0x51ed68["h"])); - (_0x1f5b76 = Math[_0x434db1(0x18c)](_0x51ed68 * 0x6)), - (_0x2afcc4 = _0x51ed68 * 0x6 - _0x1f5b76), - (_0x27a234 = _0x539e7 * (0x1 - _0x4e0751)), - (_0x531435 = _0x539e7 * (0x1 - _0x2afcc4 * _0x4e0751)), - (_0x4650f = _0x539e7 * (0x1 - (0x1 - _0x2afcc4) * _0x4e0751)); - switch (_0x1f5b76 % 0x6) { +})(_0xb23b, 0x5ef39); +function HSVtoRGB(_0x230f21, _0x4fd82f, _0x946f84) { + var _0x280f29 = _0x3dfd, + _0x4c88ff, + _0x367ef0, + _0x16837c, + _0x19ceec, + _0x2501dd, + _0x5da947, + _0x40aa05, + _0x3f74ec; + arguments[_0x280f29(0x1df)] === 0x1 && + ((_0x4fd82f = _0x230f21["s"]), + (_0x946f84 = _0x230f21["v"]), + (_0x230f21 = _0x230f21["h"])); + (_0x19ceec = Math[_0x280f29(0x1ca)](_0x230f21 * 0x6)), + (_0x2501dd = _0x230f21 * 0x6 - _0x19ceec), + (_0x5da947 = _0x946f84 * (0x1 - _0x4fd82f)), + (_0x40aa05 = _0x946f84 * (0x1 - _0x2501dd * _0x4fd82f)), + (_0x3f74ec = _0x946f84 * (0x1 - (0x1 - _0x2501dd) * _0x4fd82f)); + switch (_0x19ceec % 0x6) { case 0x0: - (_0x32a2f6 = _0x539e7), (_0x305341 = _0x4650f), (_0x5b7e8b = _0x27a234); + (_0x4c88ff = _0x946f84), (_0x367ef0 = _0x3f74ec), (_0x16837c = _0x5da947); break; case 0x1: - (_0x32a2f6 = _0x531435), (_0x305341 = _0x539e7), (_0x5b7e8b = _0x27a234); + (_0x4c88ff = _0x40aa05), (_0x367ef0 = _0x946f84), (_0x16837c = _0x5da947); break; case 0x2: - (_0x32a2f6 = _0x27a234), (_0x305341 = _0x539e7), (_0x5b7e8b = _0x4650f); + (_0x4c88ff = _0x5da947), (_0x367ef0 = _0x946f84), (_0x16837c = _0x3f74ec); break; case 0x3: - (_0x32a2f6 = _0x27a234), (_0x305341 = _0x531435), (_0x5b7e8b = _0x539e7); + (_0x4c88ff = _0x5da947), (_0x367ef0 = _0x40aa05), (_0x16837c = _0x946f84); break; case 0x4: - (_0x32a2f6 = _0x4650f), (_0x305341 = _0x27a234), (_0x5b7e8b = _0x539e7); + (_0x4c88ff = _0x3f74ec), (_0x367ef0 = _0x5da947), (_0x16837c = _0x946f84); break; case 0x5: - (_0x32a2f6 = _0x539e7), (_0x305341 = _0x27a234), (_0x5b7e8b = _0x531435); + (_0x4c88ff = _0x946f84), (_0x367ef0 = _0x5da947), (_0x16837c = _0x40aa05); break; } return { - r: Math[_0x434db1(0x190)](_0x32a2f6 * 0xff), - g: Math[_0x434db1(0x190)](_0x305341 * 0xff), - b: Math[_0x434db1(0x190)](_0x5b7e8b * 0xff), + r: Math[_0x280f29(0x1c2)](_0x4c88ff * 0xff), + g: Math[_0x280f29(0x1c2)](_0x367ef0 * 0xff), + b: Math["round"](_0x16837c * 0xff), }; } var grid = [], @@ -106,7 +97,7 @@ var grid = [], aboutScreen, gameoverScreen, gameoverText, - timeText = _0x3887b9(0x19e), + timeText = _0x1bd60a(0x1dc), levelSlider, levelText, difficulty = 0x1, @@ -207,510 +198,529 @@ var grid = [], [0x0, 0x3, 0x0, 0x3], ]; function preload() { - var _0x18c020 = _0x3887b9; - soundFormats(_0x18c020(0x17f), _0x18c020(0x19c)), - (placeSound = loadSound("sounds/place")), - (lineSound = loadSound(_0x18c020(0x184))), - (pixelFont = loadFont(_0x18c020(0x1a5))); + var _0x6eed28 = _0x1bd60a; + soundFormats(_0x6eed28(0x1ce), _0x6eed28(0x1b7)), + (placeSound = loadSound(_0x6eed28(0x1b3))), + (lineSound = loadSound(_0x6eed28(0x1b0))), + (pixelFont = loadFont(_0x6eed28(0x1c0))); } -function Block(_0x53bfe0, _0x25dbda) { - var _0x255afd = _0x3887b9; - (this[_0x255afd(0x1b2)] = createVector(0x0, 0x0)), - (this["grav"] = speed), +function Block(_0x25d1dc, _0x3018d6) { + var _0x1a20d6 = _0x1bd60a; + (this[_0x1a20d6(0x1bd)] = createVector(0x0, 0x0)), + (this[_0x1a20d6(0x1d8)] = speed), (this["sprite"] = null), - (this[_0x255afd(0x17e)] = []), - (this[_0x255afd(0x1a1)] = 0x0), - (this[_0x255afd(0x19f)] = 0x0), - (this[_0x255afd(0x1b0)] = ![]), - (this[_0x255afd(0x178)] = 0x0), - (this[_0x255afd(0x1ae)] = !![]), - (this[_0x255afd(0x199)] = function () { - var _0x3c7d8d = _0x255afd; - this[_0x3c7d8d(0x17e)] = []; - for (let _0x3495b8 = 0x0; _0x3495b8 < 0x20; _0x3495b8++) { - this["grid"][_0x3c7d8d(0x186)](new Array(0x20)["fill"](null)); + (this[_0x1a20d6(0x1d6)] = []), + (this[_0x1a20d6(0x1c3)] = 0x0), + (this[_0x1a20d6(0x1e3)] = 0x0), + (this[_0x1a20d6(0x1da)] = ![]), + (this["rot"] = 0x0), + (this[_0x1a20d6(0x1e5)] = !![]), + (this[_0x1a20d6(0x1e6)] = function () { + var _0x2a1f11 = _0x1a20d6; + this[_0x2a1f11(0x1d6)] = []; + for (let _0x20e9d4 = 0x0; _0x20e9d4 < 0x20; _0x20e9d4++) { + this[_0x2a1f11(0x1d6)][_0x2a1f11(0x1bf)](new Array(0x20)["fill"](null)); } }), - (this["renderBlock"] = function () { - var _0x3d4f22 = _0x255afd; - this[_0x3d4f22(0x199)](), + (this[_0x1a20d6(0x1bb)] = function () { + var _0x461017 = _0x1a20d6; + this["clearGrid"](), AddBlock( - this["grid"], + this[_0x461017(0x1d6)], 0x0, 0x1f, - blockType[this[_0x3d4f22(0x1a1)]][this[_0x3d4f22(0x178)]], - this[_0x3d4f22(0x19f)], - this[_0x3d4f22(0x1b0)] + blockType[this[_0x461017(0x1c3)]][this[_0x461017(0x1de)]], + this[_0x461017(0x1e3)], + this[_0x461017(0x1da)] ), - renderFromArray(this[_0x3d4f22(0x17e)], this[_0x3d4f22(0x18b)]); + renderFromArray(this[_0x461017(0x1d6)], this[_0x461017(0x1d7)]); }), - (this[_0x255afd(0x198)] = function () { - var _0x3bef7b = _0x255afd; + (this[_0x1a20d6(0x1c7)] = function () { + var _0x55e367 = _0x1a20d6; (this["static"] = ![]), - (this["sprite"] = createImage(0x20, 0x20)), - (this[_0x3bef7b(0x1a1)] = int(random(blockType[_0x3bef7b(0x1b4)]))), - (this[_0x3bef7b(0x19f)] = int(random(0x4))), - (this[_0x3bef7b(0x1b2)] = createVector( - int(columns / 0x2 - (blockWidth[this[_0x3bef7b(0x1a1)]][0x0] + 0x1)), + (this[_0x55e367(0x1d7)] = createImage(0x20, 0x20)), + (this[_0x55e367(0x1c3)] = int(random(blockType["length"]))), + (this["col"] = int(random(0x4))), + (this[_0x55e367(0x1bd)] = createVector( + int(columns / 0x2 - (blockWidth[this["type"]][0x0] + 0x1)), 0x0 )), (staticCount += 0x1), staticCount == staticChance && - ((this["static"] = !![]), (staticCount = 0x0)), - this[_0x3bef7b(0x18e)](); + ((this[_0x55e367(0x1da)] = !![]), (staticCount = 0x0)), + this[_0x55e367(0x1bb)](); }), - (this[_0x255afd(0x192)] = function () { - var _0x1ae735 = _0x255afd; + (this[_0x1a20d6(0x1a9)] = function () { + var _0x4a9eb1 = _0x1a20d6; image( - this[_0x1ae735(0x18b)], - this[_0x1ae735(0x1b2)]["x"] * scl + gameOffset, + this["sprite"], + this[_0x4a9eb1(0x1bd)]["x"] * scl + gameOffset, (this["pos"]["y"] - 0x20) * scl, 0x20 * scl, 0x20 * scl ); }), - (this[_0x255afd(0x195)] = function () { - var _0xd2f97a = _0x255afd; - let _0x38c6ad = Math[_0xd2f97a(0x18c)](this[_0xd2f97a(0x1b2)]["x"]), - _0x599cf6 = Math["floor"](this[_0xd2f97a(0x1b2)]["y"]); - if (_0x599cf6 + 0x1 >= rows) placed = !![]; + (this[_0x1a20d6(0x1c4)] = function () { + var _0x3630d9 = _0x1a20d6; + let _0x114272 = Math[_0x3630d9(0x1ca)](this["pos"]["x"]), + _0x15cc8c = Math["floor"](this[_0x3630d9(0x1bd)]["y"]); + if (_0x15cc8c + 0x1 >= rows) placed = !![]; else - for (let _0x541317 = 0x0; _0x541317 < 0x4; _0x541317++) { - let _0x31ee7f = _0x541317 * 0x2, - _0x50efd0 = - blockType[this["type"]][this[_0xd2f97a(0x178)]][_0x31ee7f], - _0x60b19e = blockType[this["type"]][this["rot"]][_0x31ee7f + 0x1], - _0x260aa0 = int(_0x38c6ad + _0x50efd0 * 0x8), - _0x1e4b3a = int(_0x599cf6 - _0x60b19e * 0x8); - if (_0x1e4b3a <= 0x0) continue; - for (let _0x3e994e = 0x0; _0x3e994e < 0x8; _0x3e994e++) { - grid[_0x1e4b3a + 0x1][_0x260aa0 + _0x3e994e] != null && - (grid[_0x1e4b3a][_0x260aa0 + _0x3e994e] && - (this[_0xd2f97a(0x1b2)]["y"] -= 0x1), + for (let _0xf9c2f = 0x0; _0xf9c2f < 0x4; _0xf9c2f++) { + let _0x34edf0 = _0xf9c2f * 0x2, + _0x3d102f = + blockType[this[_0x3630d9(0x1c3)]][this[_0x3630d9(0x1de)]][ + _0x34edf0 + ], + _0x5b99e3 = + blockType[this[_0x3630d9(0x1c3)]][this[_0x3630d9(0x1de)]][ + _0x34edf0 + 0x1 + ], + _0x3db70f = int(_0x114272 + _0x3d102f * 0x8), + _0x152ea8 = int(_0x15cc8c - _0x5b99e3 * 0x8); + if (_0x152ea8 <= 0x0) continue; + for (let _0x485bd8 = 0x0; _0x485bd8 < 0x8; _0x485bd8++) { + grid[_0x152ea8 + 0x1][_0x3db70f + _0x485bd8] != null && + (grid[_0x152ea8][_0x3db70f + _0x485bd8] && + (this["pos"]["y"] -= 0x1), (placed = !![])); } } if (placed) { - this[_0xd2f97a(0x1b2)]["y"] - - 0x8 * - (blockHeight[this[_0xd2f97a(0x1a1)]][this[_0xd2f97a(0x178)]] + - 0x1) < + this[_0x3630d9(0x1bd)]["y"] - + 0x8 * (blockHeight[this[_0x3630d9(0x1c3)]][this["rot"]] + 0x1) < 0x0 && ((gameOver = !![]), gameOverScore(), - (gameoverScreen[_0xd2f97a(0x179)] = !![])); + (gameoverScreen[_0x3630d9(0x1b9)] = !![])); AddBlock( grid, - _0x38c6ad, - min(_0x599cf6, rows - 0x1), - blockType[this[_0xd2f97a(0x1a1)]][this[_0xd2f97a(0x178)]], - this[_0xd2f97a(0x19f)], - this["static"] + _0x114272, + min(_0x15cc8c, rows - 0x1), + blockType[this["type"]][this[_0x3630d9(0x1de)]], + this["col"], + this[_0x3630d9(0x1da)] ), - placeSound["play"](); + placeSound[_0x3630d9(0x1c6)](); return; } - this["pos"]["y"] += this[_0xd2f97a(0x182)]; + this[_0x3630d9(0x1bd)]["y"] += this["grav"]; }), - (this[_0x255afd(0x1ad)] = function () { - var _0x134818 = _0x255afd; - (this["rot"] = (this[_0x134818(0x178)] + 0x1) % 0x4), - this["clearGrid"](), - (this["sprite"] = createImage(0x20, 0x20)), + (this["rotate"] = function () { + var _0x56e00e = _0x1a20d6; + (this[_0x56e00e(0x1de)] = (this["rot"] + 0x1) % 0x4), + this[_0x56e00e(0x1e6)](), + (this[_0x56e00e(0x1d7)] = createImage(0x20, 0x20)), AddBlock( - this["grid"], + this[_0x56e00e(0x1d6)], 0x0, 0x1f, - blockType[this[_0x134818(0x1a1)]][this[_0x134818(0x178)]], + blockType[this[_0x56e00e(0x1c3)]][this[_0x56e00e(0x1de)]], this["col"], - this[_0x134818(0x1b0)] + this[_0x56e00e(0x1da)] ), - renderFromArray(this[_0x134818(0x17e)], this[_0x134818(0x18b)]); + renderFromArray(this[_0x56e00e(0x1d6)], this["sprite"]); }), - (this[_0x255afd(0x1b1)] = function () { - var _0x199b9d = _0x255afd; + (this["controls"] = function () { + var _0x27cfdc = _0x1a20d6; keyIsDown(UP_ARROW) ? this["rotReset"] && - (this[_0x199b9d(0x1ad)](), (this[_0x199b9d(0x1ae)] = ![])) - : (this[_0x199b9d(0x1ae)] = !![]); + (this[_0x27cfdc(0x1d5)](), (this["rotReset"] = ![])) + : (this[_0x27cfdc(0x1e5)] = !![]); keyIsDown(LEFT_ARROW) && - ((this[_0x199b9d(0x1b2)]["x"] -= 0x1), - this["pos"]["x"] < 0x0 && (this[_0x199b9d(0x1b2)]["x"] = 0x0)); + ((this[_0x27cfdc(0x1bd)]["x"] -= 0x1), + this[_0x27cfdc(0x1bd)]["x"] < 0x0 && + (this[_0x27cfdc(0x1bd)]["x"] = 0x0)); if (keyIsDown(RIGHT_ARROW)) { - this["pos"]["x"] += 0x1; - let _0x308c0d = blockWidth[this["type"]][this[_0x199b9d(0x178)]] + 0x1; - this[_0x199b9d(0x1b2)]["x"] > columns - _0x308c0d * 0x8 && - (this[_0x199b9d(0x1b2)]["x"] = columns - _0x308c0d * 0x8); + this[_0x27cfdc(0x1bd)]["x"] += 0x1; + let _0x3f117c = + blockWidth[this[_0x27cfdc(0x1c3)]][this[_0x27cfdc(0x1de)]] + 0x1; + this[_0x27cfdc(0x1bd)]["x"] > columns - _0x3f117c * 0x8 && + (this[_0x27cfdc(0x1bd)]["x"] = columns - _0x3f117c * 0x8); } keyIsDown(DOWN_ARROW) && - ((this[_0x199b9d(0x1b2)]["y"] += 0x1), (score += 0x1)); + ((this[_0x27cfdc(0x1bd)]["y"] += 0x1), (score += 0x1)); }); } function resetGame() { - var _0x3e1ba8 = _0x3887b9; + var _0x50fc38 = _0x1bd60a; (score = 0x0), (linesCleared = 0x0), (staticCount = 0x0), (t = 0x0), (buff = createImage(columns, rows)), (grid = []); - for (let _0x1e71f1 = 0x0; _0x1e71f1 < rows; _0x1e71f1++) { - grid[_0x1e71f1] = []; - for (let _0x5c3d48 = 0x0; _0x5c3d48 < columns; _0x5c3d48++) { - grid[_0x1e71f1][_0x3e1ba8(0x186)](null); + for (let _0xaa5db7 = 0x0; _0xaa5db7 < rows; _0xaa5db7++) { + grid[_0xaa5db7] = []; + for (let _0x17cb17 = 0x0; _0x17cb17 < columns; _0x17cb17++) { + grid[_0xaa5db7][_0x50fc38(0x1bf)](null); } } (playerBlock = new Block(width / 0x2 - gameOffset, 0x0)), - playerBlock[_0x3e1ba8(0x198)](), + playerBlock[_0x50fc38(0x1c7)](), (nextBlock = new Block(width / 0x2 - gameOffset, 0x0)), - nextBlock[_0x3e1ba8(0x198)](); + nextBlock["newBlock"](); } function startGame() { - var _0x4b2eea = _0x3887b9; + var _0x56ca2f = _0x1bd60a; resetGame(), (paused = ![]), (gameOver = ![]), - (startScreen[_0x4b2eea(0x179)] = ![]); + (startScreen[_0x56ca2f(0x1b9)] = ![]); } function unpauseGame() { - var _0x294451 = _0x3887b9; - (paused = ![]), (pauseScreen[_0x294451(0x179)] = ![]); + var _0x1c0943 = _0x1bd60a; + (paused = ![]), (pauseScreen[_0x1c0943(0x1b9)] = ![]); +} +function _0xb23b() { + var _0x141883 = [ + "ogg", + "142KRTnDv", + "open", + "LINES:\x20", + "renderBlock", + "1852kgOMfB", + "pos", + "innerHTML", + "push", + "fonts/retroFont.ttf", + "getElementById", + "round", + "type", + "update", + "308610QQkRkQ", + "play", + "newBlock", + "cnv", + "value", + "floor", + "\x0a\x20\x20█▀\u2003▄▀█\u2003█▄░█\u2003█▀▄\u2003▀█▀\u2003█▀█\u2003█\u2003█▀\x0a\x20\x20▄█\u2003█▀█\u2003█░▀█\u2003█▄▀\u2003░█░\u2003█▀▄\u2003█\u2003▄█\x0a\x20\x20", + "4698tovVnl", + "LEVEL:\x20", + "mp3", + "updatePixels", + "writeText", + "33464OiCKHp", + "mus1Slider", + "pausepage", + "levelText", + "rotate", + "grid", + "sprite", + "grav", + "startpage", + "static", + "1485NfsuSV", + "00:00", + "Deleting", + "rot", + "length", + "Play\x20now\x20at\x20https://sandtris.com/", + "6THjUZr", + "SCORE:\x20", + "col", + "Share\x20Text\x20Copied\x20to\x20Clipboard!", + "rotReset", + "clearGrid", + "lvlSlider", + "TIME:\x20", + "pixels", + "3626365GgqMXq", + "LINE\x20AT\x20", + "log", + "repeat", + "
LINES:
", + "loadPixels", + "SCORE:", + "show", + "strokeWeight", + "toString", + "SCORE:
", + "textSize", + "41134423UMcUPN", + "LEVEL:", + "sounds/line", + "2850414uhHyvW", + "setVolume", + "sounds/place", + "10873RTJJqc", + "gameoverpage", + "gameoverText", + ]; + _0xb23b = function () { + return _0x141883; + }; + return _0xb23b(); } function newGame() { - var _0x36b942 = _0x3887b9; - (pauseScreen["open"] = ![]), - (gameoverScreen[_0x36b942(0x179)] = ![]), - (startScreen[_0x36b942(0x179)] = !![]); + var _0x4b44f6 = _0x1bd60a; + (pauseScreen[_0x4b44f6(0x1b9)] = ![]), + (gameoverScreen[_0x4b44f6(0x1b9)] = ![]), + (startScreen[_0x4b44f6(0x1b9)] = !![]); } -function SFXvolume(_0x4990e8) { - var _0x5bc95b = _0x3887b9; - let _0x2b1627 = _0x4990e8 / 0xa; - placeSound[_0x5bc95b(0x1a7)](_0x2b1627), - lineSound[_0x5bc95b(0x1a7)](_0x2b1627), - (sfxSlider1[_0x5bc95b(0x1ac)] = _0x4990e8), - (sfxSlider2[_0x5bc95b(0x1ac)] = _0x4990e8); +function SFXvolume(_0x48ad1d) { + var _0x3bf6df = _0x1bd60a; + let _0x1ff760 = _0x48ad1d / 0xa; + placeSound[_0x3bf6df(0x1b2)](_0x1ff760), + lineSound[_0x3bf6df(0x1b2)](_0x1ff760), + (sfxSlider1[_0x3bf6df(0x1c9)] = _0x48ad1d), + (sfxSlider2[_0x3bf6df(0x1c9)] = _0x48ad1d); } function toggleAbout() { - var _0x7eaa53 = _0x3887b9; - (aboutScreen[_0x7eaa53(0x179)] = !aboutScreen[_0x7eaa53(0x179)]), - (startScreen["open"] = !startScreen[_0x7eaa53(0x179)]); + var _0xf6501a = _0x1bd60a; + (aboutScreen[_0xf6501a(0x1b9)] = !aboutScreen[_0xf6501a(0x1b9)]), + (startScreen[_0xf6501a(0x1b9)] = !startScreen[_0xf6501a(0x1b9)]); } function adjustDifficulty() { - var _0x4683d8 = _0x3887b9; - (difficulty = levelSlider[_0x4683d8(0x1ac)]), + var _0x1a7f1f = _0x1bd60a; + (difficulty = levelSlider["value"]), (speed = 0.5 + map(difficulty, 0x1, 0xa, 0x0, 0x3) / 0x2), - (staticChance = Math["floor"](map(difficulty, 0x1, 0xa, 0x10, 0x4))), + (staticChance = Math[_0x1a7f1f(0x1ca)]( + map(difficulty, 0x1, 0xa, 0x10, 0x4) + )), (dupChance = map(difficulty, 0x0, 0x1, 0x1, 0.1)); } -function _0x30aa() { - var _0x26bbc7 = [ - "rotReset", - "aboutpage", - "static", - "controls", - "pos", - "Deleting", - "length", - "innerHTML", - "5588397BLDmBX", - "getElementById", - "SCORE:
", - "levelText", - "pausepage", - "110KWaQsT", - "SCORE:\x20", - "rot", - "open", - "lvlSlider", - "SCORE:", - "LINE\x20AT\x20", - "clipboard", - "grid", - "mp3", - "Share\x20Text\x20Copied\x20to\x20Clipboard!", - "8211735jtYqOg", - "grav", - "loadPixels", - "sounds/line", - "repeat", - "push", - "Play\x20now\x20at\x20SANDTRIS.COM", - "pixels", - "textSize", - "\x0a█▀\u2003▄▀█\u2003█▄░█\u2003█▀▄\u2003▀█▀\u2003█▀█\u2003█\u2003█▀\x0a▄█\u2003█▀█\u2003█░▀█\u2003█▄▀\u2003░█░\u2003█▀▄\u2003█\u2003▄█\x0a", - "sprite", - "floor", - "strokeWeight", - "renderBlock", - "log", - "round", - "startpage", - "show", - "288DsoDuN", - "6840624iCuttA", - "update", - "47100eykVvL", - "3610vIYXTd", - "newBlock", - "clearGrid", - "LINES:", - "sfx1Slider", - "ogg", - "1501394IetbOS", - "00:00", - "col", - "TIME:\x20", - "type", - "gameoverText", - "LEVEL:\x20", - "parent", - "fonts/retroFont.ttf", - "play", - "setVolume", - "2223436whKHFt", - "LEVEL:", - "toString", - "updatePixels", - "value", - "rotate", - ]; - _0x30aa = function () { - return _0x26bbc7; - }; - return _0x30aa(); -} function gameOverScore() { - var _0x4f91f9 = _0x3887b9; - (gameoverText[_0x4f91f9(0x1b5)] = ""), - (gameoverText[_0x4f91f9(0x1b5)] += _0x4f91f9(0x173) + score), - (gameoverText["innerHTML"] += "
LINES:
" + linesCleared); + var _0x49f0cf = _0x1bd60a; + (gameoverText["innerHTML"] = ""), + (gameoverText[_0x49f0cf(0x1be)] += _0x49f0cf(0x1ac) + score), + (gameoverText[_0x49f0cf(0x1be)] += _0x49f0cf(0x1a6) + linesCleared); +} +function _0x3dfd(_0x12738d, _0x846ef5) { + var _0xb23b8d = _0xb23b(); + return ( + (_0x3dfd = function (_0x3dfd7b, _0x422162) { + _0x3dfd7b = _0x3dfd7b - 0x19f; + var _0x44e572 = _0xb23b8d[_0x3dfd7b]; + return _0x44e572; + }), + _0x3dfd(_0x12738d, _0x846ef5) + ); } function shareText() { - var _0x38809a = _0x3887b9; - let _0x3741a1 = _0x38809a(0x18a), - _0x54c950 = difficulty[_0x38809a(0x1aa)](), - _0x1bc804 = linesCleared["toString"](), - _0x3512fd = score[_0x38809a(0x1aa)](); - (_0x3741a1 += - _0x38809a(0x1a3) + - _0x54c950 + - "\x20"[_0x38809a(0x185)](0x6 - _0x54c950["length"]) + + var _0x317449 = _0x1bd60a; + let _0x50cb32 = _0x317449(0x1cb), + _0x34c8bd = difficulty["toString"](), + _0x32e72e = linesCleared[_0x317449(0x1ab)](), + _0x13ac77 = score[_0x317449(0x1ab)](); + (_0x50cb32 += + _0x317449(0x1cd) + + _0x34c8bd + + "\x20"[_0x317449(0x1a5)](0x6 - _0x34c8bd["length"]) + "|\x20"), - (_0x3741a1 += - "LINES:\x20" + - _0x1bc804 + - "\x20"[_0x38809a(0x185)](0x6 - _0x1bc804["length"]) + + (_0x50cb32 += + _0x317449(0x1ba) + + _0x32e72e + + "\x20"["repeat"](0x6 - _0x32e72e[_0x317449(0x1df)]) + "\x0a"), - (_0x3741a1 += - _0x38809a(0x177) + - _0x3512fd + - "\x20"["repeat"](0x9 - _0x3512fd[_0x38809a(0x1b4)]) + + (_0x50cb32 += + _0x317449(0x1e2) + + _0x13ac77 + + "\x20"["repeat"](0x9 - _0x13ac77[_0x317449(0x1df)]) + "|\x20"), - (_0x3741a1 += - _0x38809a(0x1a0) + + (_0x50cb32 += + _0x317449(0x1a0) + timeText + - "\x20"[_0x38809a(0x185)](0x7 - timeText[_0x38809a(0x1b4)]) + + "\x20"[_0x317449(0x1a5)](0x7 - timeText[_0x317449(0x1df)]) + "\x0a"), - (_0x3741a1 += _0x38809a(0x187)), - (_0x3741a1 += navigator[_0x38809a(0x17d)]["writeText"](_0x3741a1)), - alert(_0x38809a(0x180)); + (_0x50cb32 += _0x317449(0x1e0)), + (_0x50cb32 += navigator["clipboard"][_0x317449(0x1d0)](_0x50cb32)), + alert(_0x317449(0x1e4)); } function setup() { - var _0x1b78e0 = _0x3887b9; - (startScreen = document[_0x1b78e0(0x172)](_0x1b78e0(0x191))), - (pauseScreen = document[_0x1b78e0(0x172)](_0x1b78e0(0x175))), - (gameoverScreen = document[_0x1b78e0(0x172)]("gameoverpage")), - (aboutScreen = document["getElementById"](_0x1b78e0(0x1af))), - (levelSlider = document[_0x1b78e0(0x172)](_0x1b78e0(0x17a))), - (levelSlider[_0x1b78e0(0x1ac)] = 0x1), - (levelText = document[_0x1b78e0(0x172)](_0x1b78e0(0x174))), - (sfxSlider1 = document[_0x1b78e0(0x172)](_0x1b78e0(0x19b))), - (sfxSlider2 = document[_0x1b78e0(0x172)]("sfx2Slider")), - (sfxSlider1[_0x1b78e0(0x1ac)] = 0xa), - (sfxSlider2[_0x1b78e0(0x1ac)] = 0xa), - (musSlider1 = document[_0x1b78e0(0x172)]("mus1Slider")), - (musSlider2 = document["getElementById"]("mus2Slider")), + var _0x285d22 = _0x1bd60a; + (startScreen = document[_0x285d22(0x1c1)](_0x285d22(0x1d9))), + (pauseScreen = document[_0x285d22(0x1c1)](_0x285d22(0x1d3))), + (gameoverScreen = document[_0x285d22(0x1c1)](_0x285d22(0x1b5))), + (aboutScreen = document["getElementById"]("aboutpage")), + (levelSlider = document["getElementById"](_0x285d22(0x19f))), + (levelSlider[_0x285d22(0x1c9)] = 0x1), + (levelText = document[_0x285d22(0x1c1)](_0x285d22(0x1d4))), + (sfxSlider1 = document[_0x285d22(0x1c1)]("sfx1Slider")), + (sfxSlider2 = document[_0x285d22(0x1c1)]("sfx2Slider")), + (sfxSlider1[_0x285d22(0x1c9)] = 0xa), + (sfxSlider2[_0x285d22(0x1c9)] = 0xa), + (musSlider1 = document[_0x285d22(0x1c1)](_0x285d22(0x1d2))), + (musSlider2 = document[_0x285d22(0x1c1)]("mus2Slider")), (musSlider1["value"] = 0xa), - (musSlider2[_0x1b78e0(0x1ac)] = 0xa), - (gameoverText = document[_0x1b78e0(0x172)](_0x1b78e0(0x1a2))), + (musSlider2[_0x285d22(0x1c9)] = 0xa), + (gameoverText = document["getElementById"](_0x285d22(0x1b6))), (gameRes = createVector(columns * scl, rows * scl)), (nextOffset = gameRes["x"] + gameOffset * 0x4), (cnv = createCanvas(gameRes["x"] + gameOffset * 0x11, gameRes["y"])), - cnv[_0x1b78e0(0x1a4)]("cnv"), + cnv["parent"](_0x285d22(0x1c8)), textFont(pixelFont), frameRate(0x3c), noSmooth(), resetGame(); } function AddBlock( - _0x1b0852, - _0x177a23, - _0x58632c, - _0x4f09a3, - _0x36c414, - _0x398fa2 + _0x3ad2df, + _0x45bcee, + _0x3d0ea4, + _0x3a3504, + _0x2ed747, + _0x1aeb9e ) { - for (let _0x47255b = 0x0; _0x47255b < 0x4; _0x47255b++) { + for (let _0x291918 = 0x0; _0x291918 < 0x4; _0x291918++) { AddSingleBrick( - _0x1b0852, - _0x177a23 + _0x4f09a3[_0x47255b * 0x2] * 0x8, - _0x58632c - _0x4f09a3[_0x47255b * 0x2 + 0x1] * 0x8, - _0x36c414, - _0x398fa2 + _0x3ad2df, + _0x45bcee + _0x3a3504[_0x291918 * 0x2] * 0x8, + _0x3d0ea4 - _0x3a3504[_0x291918 * 0x2 + 0x1] * 0x8, + _0x2ed747, + _0x1aeb9e ); } } -function AddSingleBrick(_0x3c2ecf, _0x93f084, _0x3e1c7e, _0x25683b, _0x50c9de) { - let _0x3e0da9 = brick; - _0x50c9de && (_0x3e0da9 = staticbrick); - for (let _0x390455 = 0x0; _0x390455 < 0x8; _0x390455++) { - for (let _0xab571c = 0x0; _0xab571c < 0x8; _0xab571c++) { - if (_0x3e1c7e - _0x390455 < 0x0) continue; - let _0x161a1b = HSVtoRGB( - _0x25683b / 0x5, +function AddSingleBrick(_0x7bee52, _0x506807, _0x453f23, _0x3589d2, _0xb899ab) { + let _0x410046 = brick; + _0xb899ab && (_0x410046 = staticbrick); + for (let _0x4e1125 = 0x0; _0x4e1125 < 0x8; _0x4e1125++) { + for (let _0x4e3ae3 = 0x0; _0x4e3ae3 < 0x8; _0x4e3ae3++) { + if (_0x453f23 - _0x4e1125 < 0x0) continue; + let _0x2ed766 = HSVtoRGB( + _0x3589d2 / 0x5, 0.8, - map(_0x3e0da9[_0x390455][_0xab571c], 0x0, 0x1, 0.2, 0.7) + map(_0x410046[_0x4e1125][_0x4e3ae3], 0x0, 0x1, 0.2, 0.7) ); - _0x3c2ecf[_0x3e1c7e - _0x390455][_0x93f084 + _0xab571c] = [ - _0x25683b, - _0x161a1b["r"], - _0x161a1b["g"], - _0x161a1b["b"], + _0x7bee52[_0x453f23 - _0x4e1125][_0x506807 + _0x4e3ae3] = [ + _0x3589d2, + _0x2ed766["r"], + _0x2ed766["g"], + _0x2ed766["b"], 0x0, - _0x50c9de, + _0xb899ab, ]; } } } -function renderFromArray(_0x4c7e1d, _0xd91d85) { - var _0x3213e5 = _0x3887b9; - let _0x3ce2f8 = _0x4c7e1d[_0x3213e5(0x1b4)], - _0x47b62d = _0x4c7e1d[0x0][_0x3213e5(0x1b4)]; - _0xd91d85[_0x3213e5(0x183)](); - for (let _0x17d22c = 0x0; _0x17d22c < _0x3ce2f8; _0x17d22c++) { - for (let _0x590a5c = 0x0; _0x590a5c < _0x47b62d; _0x590a5c++) { - let _0x581bb9 = (_0x17d22c * _0x47b62d + _0x590a5c) * 0x4; - if (_0x4c7e1d[_0x17d22c][_0x590a5c] == null) { - (_0xd91d85["pixels"][_0x581bb9] = 0x0), - (_0xd91d85["pixels"][_0x581bb9 + 0x1] = 0x0), - (_0xd91d85["pixels"][_0x581bb9 + 0x2] = 0x0), - (_0xd91d85[_0x3213e5(0x188)][_0x581bb9 + 0x3] = 0x0); +function renderFromArray(_0x1b1c42, _0x4decaa) { + var _0x349b93 = _0x1bd60a; + let _0x3ca1e1 = _0x1b1c42[_0x349b93(0x1df)], + _0x4f1c34 = _0x1b1c42[0x0][_0x349b93(0x1df)]; + _0x4decaa[_0x349b93(0x1a7)](); + for (let _0x5dfde0 = 0x0; _0x5dfde0 < _0x3ca1e1; _0x5dfde0++) { + for (let _0x4e32c3 = 0x0; _0x4e32c3 < _0x4f1c34; _0x4e32c3++) { + let _0xca73bc = (_0x5dfde0 * _0x4f1c34 + _0x4e32c3) * 0x4; + if (_0x1b1c42[_0x5dfde0][_0x4e32c3] == null) { + (_0x4decaa[_0x349b93(0x1a1)][_0xca73bc] = 0x0), + (_0x4decaa[_0x349b93(0x1a1)][_0xca73bc + 0x1] = 0x0), + (_0x4decaa[_0x349b93(0x1a1)][_0xca73bc + 0x2] = 0x0), + (_0x4decaa[_0x349b93(0x1a1)][_0xca73bc + 0x3] = 0x0); continue; } - (_0xd91d85[_0x3213e5(0x188)][_0x581bb9] = - _0x4c7e1d[_0x17d22c][_0x590a5c][0x1]), - (_0xd91d85[_0x3213e5(0x188)][_0x581bb9 + 0x1] = - _0x4c7e1d[_0x17d22c][_0x590a5c][0x2]), - (_0xd91d85["pixels"][_0x581bb9 + 0x2] = - _0x4c7e1d[_0x17d22c][_0x590a5c][0x3]), - (_0xd91d85[_0x3213e5(0x188)][_0x581bb9 + 0x3] = 0xff); + (_0x4decaa["pixels"][_0xca73bc] = _0x1b1c42[_0x5dfde0][_0x4e32c3][0x1]), + (_0x4decaa[_0x349b93(0x1a1)][_0xca73bc + 0x1] = + _0x1b1c42[_0x5dfde0][_0x4e32c3][0x2]), + (_0x4decaa[_0x349b93(0x1a1)][_0xca73bc + 0x2] = + _0x1b1c42[_0x5dfde0][_0x4e32c3][0x3]), + (_0x4decaa[_0x349b93(0x1a1)][_0xca73bc + 0x3] = 0xff); } } - _0xd91d85[_0x3213e5(0x1ab)](); + _0x4decaa[_0x349b93(0x1cf)](); } -function updateLogic(_0x43aa3b, _0x475149) { - if (grid[_0x475149][_0x43aa3b] == null) return; - grid[_0x475149][_0x43aa3b][0x4] = 0x0; - if (_0x475149 >= rows - 0x1) return; - if (grid[_0x475149 + 0x1][_0x43aa3b] == null) { - (grid[_0x475149 + 0x1][_0x43aa3b] = grid[_0x475149][_0x43aa3b]), - (grid[_0x475149][_0x43aa3b] = null); +function updateLogic(_0x3d115a, _0x6c2233) { + if (grid[_0x6c2233][_0x3d115a] == null) return; + grid[_0x6c2233][_0x3d115a][0x4] = 0x0; + if (_0x6c2233 >= rows - 0x1) return; + if (grid[_0x6c2233 + 0x1][_0x3d115a] == null) { + (grid[_0x6c2233 + 0x1][_0x3d115a] = grid[_0x6c2233][_0x3d115a]), + (grid[_0x6c2233][_0x3d115a] = null); return; } - if (grid[_0x475149][_0x43aa3b][0x5]) return; - let _0x129fa2 = - _0x43aa3b > 0x0 && grid[_0x475149 + 0x1][_0x43aa3b - 0x1] == null, - _0x12d6ba = - _0x43aa3b < columns - 0x1 && - grid[_0x475149 + 0x1][_0x43aa3b + 0x1] == null; - if (_0x129fa2 && _0x12d6ba) { + if (grid[_0x6c2233][_0x3d115a][0x5]) return; + let _0x1f4cf9 = + _0x3d115a > 0x0 && grid[_0x6c2233 + 0x1][_0x3d115a - 0x1] == null, + _0x14e54a = + _0x3d115a < columns - 0x1 && + grid[_0x6c2233 + 0x1][_0x3d115a + 0x1] == null; + if (_0x1f4cf9 && _0x14e54a) { if (random() < 0.5) { - (grid[_0x475149 + 0x1][_0x43aa3b - 0x1] = grid[_0x475149][_0x43aa3b]), - (grid[_0x475149][_0x43aa3b] = null); + (grid[_0x6c2233 + 0x1][_0x3d115a - 0x1] = grid[_0x6c2233][_0x3d115a]), + (grid[_0x6c2233][_0x3d115a] = null); return; } - (grid[_0x475149 + 0x1][_0x43aa3b + 0x1] = grid[_0x475149][_0x43aa3b]), - (grid[_0x475149][_0x43aa3b] = null); + (grid[_0x6c2233 + 0x1][_0x3d115a + 0x1] = grid[_0x6c2233][_0x3d115a]), + (grid[_0x6c2233][_0x3d115a] = null); return; } - if (_0x129fa2) { - (grid[_0x475149 + 0x1][_0x43aa3b - 0x1] = grid[_0x475149][_0x43aa3b]), - (grid[_0x475149][_0x43aa3b] = null); + if (_0x1f4cf9) { + (grid[_0x6c2233 + 0x1][_0x3d115a - 0x1] = grid[_0x6c2233][_0x3d115a]), + (grid[_0x6c2233][_0x3d115a] = null); return; } - if (_0x12d6ba) { - (grid[_0x475149 + 0x1][_0x43aa3b + 0x1] = grid[_0x475149][_0x43aa3b]), - (grid[_0x475149][_0x43aa3b] = null); + if (_0x14e54a) { + (grid[_0x6c2233 + 0x1][_0x3d115a + 0x1] = grid[_0x6c2233][_0x3d115a]), + (grid[_0x6c2233][_0x3d115a] = null); return; } } function updateGrid() { if (t % 0x4 == 0x0) { - for (let _0x14bf98 = rows - 0x1; _0x14bf98 >= 0x0; _0x14bf98--) { - for (let _0x39a870 = 0x0; _0x39a870 < columns; _0x39a870++) { - updateLogic(_0x39a870, _0x14bf98); + for (let _0x1ff4c4 = rows - 0x1; _0x1ff4c4 >= 0x0; _0x1ff4c4--) { + for (let _0x4ff477 = 0x0; _0x4ff477 < columns; _0x4ff477++) { + updateLogic(_0x4ff477, _0x1ff4c4); } } return; } if (t % 0x4 == 0x2) - for (let _0x194eed = rows - 0x1; _0x194eed >= 0x0; _0x194eed--) { - for (let _0x26f74c = columns - 0x1; _0x26f74c >= 0x0; _0x26f74c--) { - updateLogic(_0x26f74c, _0x194eed); + for (let _0x9ae438 = rows - 0x1; _0x9ae438 >= 0x0; _0x9ae438--) { + for (let _0x231899 = columns - 0x1; _0x231899 >= 0x0; _0x231899--) { + updateLogic(_0x231899, _0x9ae438); } } } function checkLine() { - var _0x2a8afe = _0x3887b9; + var _0x3b873e = _0x1bd60a; vis = []; - for (let _0x1f620a = 0x0; _0x1f620a < rows; _0x1f620a++) { + for (let _0x2ca51a = 0x0; _0x2ca51a < rows; _0x2ca51a++) { (vis = []), (fullLine = ![]); - if (grid[_0x1f620a][0x0] == null || grid[_0x1f620a][0x0][0x4] == 0x1) + if (grid[_0x2ca51a][0x0] == null || grid[_0x2ca51a][0x0][0x4] == 0x1) continue; - floodFill(0x0, _0x1f620a, grid[_0x1f620a][0x0][0x0]); + floodFill(0x0, _0x2ca51a, grid[_0x2ca51a][0x0][0x0]); if (!fullLine) continue; - console[_0x2a8afe(0x18f)](_0x2a8afe(0x17c), _0x1f620a); + console[_0x3b873e(0x1a4)](_0x3b873e(0x1a3), _0x2ca51a); return; } } -function floodFill(_0x58e935, _0x434257, _0x5a1a42) { - var _0x1e291a = _0x3887b9; +function floodFill(_0x9c24ac, _0x5020ad, _0x185b8d) { + var _0xc7aff5 = _0x1bd60a; if ( - _0x58e935 < 0x0 || - _0x58e935 >= columns || - _0x434257 < 0x0 || - _0x434257 >= rows || - grid[_0x434257][_0x58e935] == null || - grid[_0x434257][_0x58e935][0x4] == 0x1 || - grid[_0x434257][_0x58e935][0x0] != _0x5a1a42 + _0x9c24ac < 0x0 || + _0x9c24ac >= columns || + _0x5020ad < 0x0 || + _0x5020ad >= rows || + grid[_0x5020ad][_0x9c24ac] == null || + grid[_0x5020ad][_0x9c24ac][0x4] == 0x1 || + grid[_0x5020ad][_0x9c24ac][0x0] != _0x185b8d ) return; - _0x58e935 == columns - 0x1 && (fullLine = !![]), - (grid[_0x434257][_0x58e935][0x4] = 0x1), - vis[_0x1e291a(0x186)]([_0x58e935, _0x434257]), - floodFill(_0x58e935 + 0x1, _0x434257, _0x5a1a42), - floodFill(_0x58e935 - 0x1, _0x434257, _0x5a1a42), - floodFill(_0x58e935, _0x434257 + 0x1, _0x5a1a42), - floodFill(_0x58e935, _0x434257 - 0x1, _0x5a1a42); + _0x9c24ac == columns - 0x1 && (fullLine = !![]), + (grid[_0x5020ad][_0x9c24ac][0x4] = 0x1), + vis[_0xc7aff5(0x1bf)]([_0x9c24ac, _0x5020ad]), + floodFill(_0x9c24ac + 0x1, _0x5020ad, _0x185b8d), + floodFill(_0x9c24ac - 0x1, _0x5020ad, _0x185b8d), + floodFill(_0x9c24ac, _0x5020ad + 0x1, _0x185b8d), + floodFill(_0x9c24ac, _0x5020ad - 0x1, _0x185b8d); } -function setLineColor(_0x2e9d4c) { - let _0xcc7e2f = 0xff; - _0x2e9d4c % 0xa < 0x5 && (_0xcc7e2f = 0x0); - for (let _0xf0b801 of vis) { - (grid[_0xf0b801[0x1]][_0xf0b801[0x0]][0x1] = _0xcc7e2f), - (grid[_0xf0b801[0x1]][_0xf0b801[0x0]][0x2] = _0xcc7e2f), - (grid[_0xf0b801[0x1]][_0xf0b801[0x0]][0x3] = _0xcc7e2f); +function setLineColor(_0x282cc5) { + let _0x1e036e = 0xff; + _0x282cc5 % 0xa < 0x5 && (_0x1e036e = 0x0); + for (let _0xaece0d of vis) { + (grid[_0xaece0d[0x1]][_0xaece0d[0x0]][0x1] = _0x1e036e), + (grid[_0xaece0d[0x1]][_0xaece0d[0x0]][0x2] = _0x1e036e), + (grid[_0xaece0d[0x1]][_0xaece0d[0x0]][0x3] = _0x1e036e); } } -function deleteLine(_0x4b1de6) { - var _0x1541d4 = _0x3887b9; - for (let _0xc87d37 of vis) { - grid[_0xc87d37[0x1]][_0xc87d37[0x0]] = null; +function deleteLine(_0x113c77) { + for (let _0x340ea3 of vis) { + grid[_0x340ea3[0x1]][_0x340ea3[0x0]] = null; } - (score += vis[_0x1541d4(0x1b4)]), (vis = []); + (score += vis["length"]), (vis = []); } function UI() { - var _0x3fcb48 = _0x3887b9; + var _0x1fcd31 = _0x1bd60a; renderFromArray(grid, buff), background(0xce, 0xae, 0x7f), fill(0xa), @@ -720,47 +730,46 @@ function UI() { fill(0xa), rect(nextOffset, gameOffset * 0x2, gameOffset * 0xa, gameOffset * 0xa), image( - nextBlock[_0x3fcb48(0x18b)], + nextBlock[_0x1fcd31(0x1d7)], nextOffset + - (0x5 - (blockWidth[nextBlock[_0x3fcb48(0x1a1)]][0x0] + 0x1)) * + (0x5 - (blockWidth[nextBlock[_0x1fcd31(0x1c3)]][0x0] + 0x1)) * gameOffset, - (0x5 - (0x6 - blockHeight[nextBlock[_0x3fcb48(0x1a1)]][0x0]) + 0x1) * + (0x5 - (0x6 - blockHeight[nextBlock[_0x1fcd31(0x1c3)]][0x0]) + 0x1) * gameOffset, 0x20 * scl, 0x20 * scl ); - let _0x383be4 = Math["floor"](t / 0xe10), - _0x5c18c2 = Math[_0x3fcb48(0x18c)](t / 0x3c) % 0x3c; - _0x383be4 < 0xa && (_0x383be4 = "0" + _0x383be4), - _0x5c18c2 < 0xa && (_0x5c18c2 = "0" + _0x5c18c2), - (timeText = _0x383be4 + ":" + _0x5c18c2), - fill(0x19)[_0x3fcb48(0x18d)](0x1)[_0x3fcb48(0x189)](0x20), + let _0x41521b = Math[_0x1fcd31(0x1ca)](t / 0xe10), + _0x40a655 = Math[_0x1fcd31(0x1ca)](t / 0x3c) % 0x3c; + _0x41521b < 0xa && (_0x41521b = "0" + _0x41521b), + _0x40a655 < 0xa && (_0x40a655 = "0" + _0x40a655), + (timeText = _0x41521b + ":" + _0x40a655), + fill(0x19)[_0x1fcd31(0x1aa)](0x1)[_0x1fcd31(0x1ad)](0x20), text(timeText, nextOffset - 0x2, gameOffset * 0x10), - text(_0x3fcb48(0x19a), nextOffset - 0x2, gameOffset * 0x13), + text("LINES:", nextOffset - 0x2, gameOffset * 0x13), text(linesCleared, nextOffset - 0x2, gameOffset * 0x15), - text(_0x3fcb48(0x17b), nextOffset - 0x2, gameOffset * 0x18), + text(_0x1fcd31(0x1a8), nextOffset - 0x2, gameOffset * 0x18), text(score, nextOffset - 0x2, gameOffset * 0x1a), - text(_0x3fcb48(0x1a9), nextOffset - 0x2, gameOffset * 0x1d), + text(_0x1fcd31(0x1af), nextOffset - 0x2, gameOffset * 0x1d), text(difficulty, nextOffset - 0x2, gameOffset * 0x1f), - (levelText["innerHTML"] = _0x3fcb48(0x1a3) + levelSlider["value"]); + (levelText[_0x1fcd31(0x1be)] = + _0x1fcd31(0x1cd) + levelSlider[_0x1fcd31(0x1c9)]); } function keyPressed() { - var _0xf53849 = _0x3887b9; if (keyCode === 0x50) { if (gameOver) return; - (paused = !paused), - (pauseScreen[_0xf53849(0x179)] = !pauseScreen[_0xf53849(0x179)]); + (paused = !paused), (pauseScreen["open"] = !pauseScreen["open"]); } } function GameLogic() { - var _0x15b64b = _0x3887b9; + var _0x548280 = _0x1bd60a; if (paused) return; if (gameOver) return; if (fullLine) { - cleartime == 0x0 && ((linesCleared += 0x1), lineSound[_0x15b64b(0x1a6)]()); + cleartime == 0x0 && ((linesCleared += 0x1), lineSound[_0x548280(0x1c6)]()); (cleartime += 0x1), setLineColor(cleartime); cleartime > 0x1e && - (console[_0x15b64b(0x18f)](_0x15b64b(0x1b3)), + (console[_0x548280(0x1a4)](_0x548280(0x1dd)), deleteLine(), (cleartime = 0x0), (fullLine = ![])); @@ -769,15 +778,15 @@ function GameLogic() { placed && ((playerBlock = nextBlock), (nextBlock = new Block(width / 0x2, 0x0)), - nextBlock[_0x15b64b(0x198)](), - playerBlock["col"] == nextBlock["col"] && + nextBlock[_0x548280(0x1c7)](), + playerBlock[_0x548280(0x1e3)] == nextBlock[_0x548280(0x1e3)] && random() < dupChance && - ((nextBlock[_0x15b64b(0x19f)] = (nextBlock["col"] + 0x1) % 0x4), - nextBlock[_0x15b64b(0x18e)]()), + ((nextBlock[_0x548280(0x1e3)] = (nextBlock["col"] + 0x1) % 0x4), + nextBlock[_0x548280(0x1bb)]()), (placed = ![])), updateGrid(), - playerBlock[_0x15b64b(0x195)](), - playerBlock[_0x15b64b(0x1b1)](), + playerBlock[_0x548280(0x1c4)](), + playerBlock["controls"](), checkLine(), (t += 0x1); }