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);
}