Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var _0x515d = ["addEventListener", "attachEvent", "on", "removeEventListener", "detachEvent", "Snake", "elm", "elmStyle", "row", "col", "xPos", "yPos", "next", "prev", "currentStyle", "z-index", "style", "getComputedStyle", "getPropertyValue", "defaultView", "playingBoard", "snakeBody", "b0", "startRow", "startCol", "getBlockWidth", "getBlockHeight", "appendChild", "getBoardContainer", "left", "px", "top", "snakeLength", "snakeHead", "snakeTail", "className", "", "replace", " snake-snakebody-alive", "div", "createElement", "snake-snakebody-block", "-1000px", "width", "height", "cloneNode", "length", "handleArrowKeys", "unshift", "go", "grid", "pop", "handleDeath", "getGridFoodValue", "eatFood", "splice", "b", "foodEaten", "zIndex", " snake-snakebody-dead", "rebirth", "reset", "push", "concat", "Food", "random", "floor", "id", "snake-food-", "setAttribute", "snake-food-block", "getFoodElement", "randomlyPlaceFood", "Board", "innerWidth", "number", "documentElement", "clientWidth", "clientHeight", "body", "innerHeight", "playingField", "snake-playing-field", "click", "focus", "snake-panel-component", "innerHTML", "Length: 1", "keyup", "event", "cancelBubble", "stopPropagation", "preventDefault", "snake-game-container", "sbWelcome", "snake-welcome-dialog", "fullScreen", "On Windows, press F11 to play in Full Screen mode.", "Welcome!<p></p><p>You need to be registered user to be able to save game results and manage personal statistics. <b><a href=\"./cgi-bin/index.pl\">Register here</a></b></p>", "button", "Play Game", "createTextNode", "display", "none", "setBoardState", "which", "keyCode", "sbTryAgain", "snake-try-again-dialog", "<b>Submit score</b><br>Your login:", "input", "playername", "Submit", "resetBoard", "getElementById", "playerName=", "value", "&playerScore=", "&hash=", "pc8XW2xUJcWMFVGkZ5PL", "POST", "/cgi-bin/save.pl", "open", "Content-Type", "application/x-www-form-urlencoded", "setRequestHeader", "send", "responseText", "block", "keydown", "setupPlayingField", "getBoardState", "getPlayingFieldElement", "setBoardContainer", "string", "backgroundColor", "#FC5454", "min", "round", "450px", "Length: ", "max", "removeChild", "undefined", "resize", "boardContainer"];
- var SNAKE = SNAKE || {};
- SNAKE["addEventListener"] = (function () {
- if (window["addEventListener"]) {
- return function (_0xcef5x2, _0xcef5x3, _0xcef5x4, _0xcef5x5) {
- _0xcef5x2["addEventListener"](_0xcef5x3, _0xcef5x4, _0xcef5x5);
- };
- } else {
- if (window["attachEvent"]) {
- return function (_0xcef5x2, _0xcef5x3, _0xcef5x4) {
- _0xcef5x2["attachEvent"]("on" + _0xcef5x3, _0xcef5x4);
- };
- };
- };
- })();
- SNAKE["removeEventListener"] = (function () {
- if (window["removeEventListener"]) {
- return function (_0xcef5x2, _0xcef5x3, _0xcef5x4, _0xcef5x5) {
- _0xcef5x2["removeEventListener"](_0xcef5x3, _0xcef5x4, _0xcef5x5);
- };
- } else {
- if (window["detachEvent"]) {
- return function (_0xcef5x2, _0xcef5x3, _0xcef5x4) {
- _0xcef5x2["detachEvent"]("on" + _0xcef5x3, _0xcef5x4);
- };
- };
- };
- })();
- SNAKE["Snake"] = SNAKE["Snake"] || (function () {
- var _0xcef5x6 = 0;
- var _0xcef5x7 = [];
- var _0xcef5x8 = function () {
- this["elm"] = null;
- this["elmStyle"] = null;
- this["row"] = -1;
- this["col"] = -1;
- this["xPos"] = -1000;
- this["yPos"] = -1000;
- this["next"] = null;
- this["prev"] = null;
- };
- function _0xcef5x9(_0xcef5xa) {
- var _0xcef5xb = 0,
- _0xcef5xc = 0,
- _0xcef5xd;
- for (_0xcef5xd in _0xcef5xa) {
- if (_0xcef5xa[_0xcef5xd]["elm"]["currentStyle"]) {
- _0xcef5xc = parseFloat(_0xcef5xa[_0xcef5xd]["elm"]["style"]["z-index"], 10);
- } else {
- if (window["getComputedStyle"]) {
- _0xcef5xc = parseFloat(document["defaultView"]["getComputedStyle"](_0xcef5xa[_0xcef5xd]["elm"], null)["getPropertyValue"]("z-index"), 10);
- };
- }; if (!isNaN(_0xcef5xc) && _0xcef5xc > _0xcef5xb) {
- _0xcef5xb = _0xcef5xc;
- };
- };
- return (_0xcef5xb + 1);
- };
- return function (_0xcef5xe) {
- if (!_0xcef5xe || !_0xcef5xe["playingBoard"]) {
- return;
- };
- var _0xcef5xf = this,
- _0xcef5x10 = _0xcef5xe["playingBoard"],
- _0xcef5x11 = _0xcef5x6++,
- _0xcef5x12 = 5,
- _0xcef5x13 = [],
- _0xcef5x14 = 1,
- _0xcef5x15 = [0, 1, 0, -1],
- _0xcef5x16 = [-1, 0, 1, 0],
- _0xcef5x17 = [],
- _0xcef5x18 = [],
- _0xcef5x19 = 75,
- _0xcef5x1a = false;
- _0xcef5xf["snakeBody"] = {};
- _0xcef5xf["snakeBody"]["b0"] = new _0xcef5x8();
- _0xcef5xf["snakeBody"]["b0"]["row"] = _0xcef5xe["startRow"] || 1;
- _0xcef5xf["snakeBody"]["b0"]["col"] = _0xcef5xe["startCol"] || 1;
- _0xcef5xf["snakeBody"]["b0"]["xPos"] = _0xcef5xf["snakeBody"]["b0"]["row"] * _0xcef5x10["getBlockWidth"]();
- _0xcef5xf["snakeBody"]["b0"]["yPos"] = _0xcef5xf["snakeBody"]["b0"]["col"] * _0xcef5x10["getBlockHeight"]();
- _0xcef5xf["snakeBody"]["b0"]["elm"] = _0xcef5x1b();
- _0xcef5xf["snakeBody"]["b0"]["elmStyle"] = _0xcef5xf["snakeBody"]["b0"]["elm"]["style"];
- _0xcef5x10["getBoardContainer"]()["appendChild"](_0xcef5xf["snakeBody"]["b0"]["elm"]);
- _0xcef5xf["snakeBody"]["b0"]["elm"]["style"]["left"] = _0xcef5xf["snakeBody"]["b0"]["xPos"] + "px";
- _0xcef5xf["snakeBody"]["b0"]["elm"]["style"]["top"] = _0xcef5xf["snakeBody"]["b0"]["yPos"] + "px";
- _0xcef5xf["snakeBody"]["b0"]["next"] = _0xcef5xf["snakeBody"]["b0"];
- _0xcef5xf["snakeBody"]["b0"]["prev"] = _0xcef5xf["snakeBody"]["b0"];
- _0xcef5xf["snakeLength"] = 1;
- _0xcef5xf["snakeHead"] = _0xcef5xf["snakeBody"]["b0"];
- _0xcef5xf["snakeTail"] = _0xcef5xf["snakeBody"]["b0"];
- _0xcef5xf["snakeHead"]["elm"]["className"] = _0xcef5xf["snakeHead"]["elm"]["className"]["replace"](/\bsnake-snakebody-dead\b/, "");
- _0xcef5xf["snakeHead"]["elm"]["className"] += " snake-snakebody-alive";
- function _0xcef5x1b() {
- var _0xcef5x1c = document["createElement"]("div");
- _0xcef5x1c["className"] = "snake-snakebody-block";
- _0xcef5x1c["style"]["left"] = "-1000px";
- _0xcef5x1c["style"]["top"] = "-1000px";
- _0xcef5x1c["style"]["width"] = _0xcef5x10["getBlockWidth"]() + "px";
- _0xcef5x1c["style"]["height"] = _0xcef5x10["getBlockHeight"]() + "px";
- return _0xcef5x1c;
- };
- function _0xcef5x1d(_0xcef5x1e) {
- var _0xcef5x1f;
- var _0xcef5x1c = _0xcef5x1b();
- for (var _0xcef5xd = 1; _0xcef5xd < _0xcef5x1e; _0xcef5xd++) {
- _0xcef5x1f = new _0xcef5x8();
- _0xcef5x1f["elm"] = _0xcef5x1c["cloneNode"](true);
- _0xcef5x1f["elmStyle"] = _0xcef5x1f["elm"]["style"];
- _0xcef5x10["getBoardContainer"]()["appendChild"](_0xcef5x1f["elm"]);
- _0xcef5x7[_0xcef5x7["length"]] = _0xcef5x1f;
- };
- _0xcef5x1f = new _0xcef5x8();
- _0xcef5x1f["elm"] = _0xcef5x1c;
- _0xcef5x10["getBoardContainer"]()["appendChild"](_0xcef5x1f["elm"]);
- _0xcef5x7[_0xcef5x7["length"]] = _0xcef5x1f;
- };
- _0xcef5xf["handleArrowKeys"] = function (_0xcef5x20) {
- if (_0xcef5x1a) {
- return;
- };
- var _0xcef5x21 = _0xcef5xf["snakeLength"];
- var _0xcef5x22 = _0xcef5x13[0] || _0xcef5x14;
- switch (_0xcef5x20) {
- case 37:
- if (_0xcef5x22 !== 1 || _0xcef5x21 === 1) {
- _0xcef5x13["unshift"](3);
- };
- break;;
- case 38:
- if (_0xcef5x22 !== 2 || _0xcef5x21 === 1) {
- _0xcef5x13["unshift"](0);
- };
- break;;
- case 39:
- if (_0xcef5x22 !== 3 || _0xcef5x21 === 1) {
- _0xcef5x13["unshift"](1);
- };
- break;;
- case 40:
- if (_0xcef5x22 !== 0 || _0xcef5x21 === 1) {
- _0xcef5x13["unshift"](2);
- };
- break;;
- };
- };
- _0xcef5xf["go"] = function () {
- var _0xcef5x23 = _0xcef5xf["snakeHead"],
- _0xcef5x24 = _0xcef5xf["snakeTail"],
- _0xcef5x25 = _0xcef5x14,
- _0xcef5x26 = _0xcef5x10["grid"];
- _0xcef5xf["snakeTail"] = _0xcef5x24["prev"];
- _0xcef5xf["snakeHead"] = _0xcef5x24;
- if (_0xcef5x26[_0xcef5x24["row"]] && _0xcef5x26[_0xcef5x24["row"]][_0xcef5x24["col"]]) {
- _0xcef5x26[_0xcef5x24["row"]][_0xcef5x24["col"]] = 0;
- };
- if (_0xcef5x13["length"]) {
- _0xcef5x25 = _0xcef5x14 = _0xcef5x13["pop"]();
- };
- _0xcef5x24["col"] = _0xcef5x23["col"] + _0xcef5x15[_0xcef5x25];
- _0xcef5x24["row"] = _0xcef5x23["row"] + _0xcef5x16[_0xcef5x25];
- _0xcef5x24["xPos"] = _0xcef5x23["xPos"] + _0xcef5x17[_0xcef5x25];
- _0xcef5x24["yPos"] = _0xcef5x23["yPos"] + _0xcef5x18[_0xcef5x25];
- if (!_0xcef5x24["elmStyle"]) {
- _0xcef5x24["elmStyle"] = _0xcef5x24["elm"]["style"];
- };
- _0xcef5x24["elmStyle"]["left"] = _0xcef5x24["xPos"] + "px";
- _0xcef5x24["elmStyle"]["top"] = _0xcef5x24["yPos"] + "px";
- if (_0xcef5x26[_0xcef5x24["row"]][_0xcef5x24["col"]] === 0) {
- _0xcef5x26[_0xcef5x24["row"]][_0xcef5x24["col"]] = 1;
- setTimeout(function () {
- _0xcef5xf["go"]();
- }, _0xcef5x19);
- } else {
- if (_0xcef5x26[_0xcef5x24["row"]][_0xcef5x24["col"]] > 0) {
- _0xcef5xf["handleDeath"]();
- } else {
- if (_0xcef5x26[_0xcef5x24["row"]][_0xcef5x24["col"]] === _0xcef5x10["getGridFoodValue"]()) {
- _0xcef5x26[_0xcef5x24["row"]][_0xcef5x24["col"]] = 1;
- _0xcef5xf["eatFood"]();
- setTimeout(function () {
- _0xcef5xf["go"]();
- }, _0xcef5x19);
- };
- };
- };
- };
- _0xcef5xf["eatFood"] = function () {
- if (_0xcef5x7["length"] <= _0xcef5x12) {
- _0xcef5x1d(_0xcef5x12 * 2);
- };
- var _0xcef5x27 = _0xcef5x7["splice"](0, _0xcef5x12);
- var _0xcef5xd = _0xcef5x27["length"],
- _0xcef5x28, _0xcef5x29 = _0xcef5xf["snakeTail"];
- while (_0xcef5xd--) {
- _0xcef5x28 = "b" + _0xcef5xf["snakeLength"]++;
- _0xcef5xf["snakeBody"][_0xcef5x28] = _0xcef5x27[_0xcef5xd];
- _0xcef5xf["snakeBody"][_0xcef5x28]["prev"] = _0xcef5x29;
- _0xcef5xf["snakeBody"][_0xcef5x28]["elm"]["className"] = _0xcef5xf["snakeHead"]["elm"]["className"]["replace"](/\bsnake-snakebody-dead\b/, "");
- _0xcef5xf["snakeBody"][_0xcef5x28]["elm"]["className"] += " snake-snakebody-alive";
- _0xcef5x29["next"] = _0xcef5xf["snakeBody"][_0xcef5x28];
- _0xcef5x29 = _0xcef5xf["snakeBody"][_0xcef5x28];
- };
- _0xcef5xf["snakeTail"] = _0xcef5xf["snakeBody"][_0xcef5x28];
- _0xcef5xf["snakeTail"]["next"] = _0xcef5xf["snakeHead"];
- _0xcef5xf["snakeHead"]["prev"] = _0xcef5xf["snakeTail"];
- _0xcef5x10["foodEaten"]();
- };
- _0xcef5xf["handleDeath"] = function () {
- _0xcef5xf["snakeHead"]["elm"]["style"]["zIndex"] = _0xcef5x9(_0xcef5xf["snakeBody"]);
- _0xcef5xf["snakeHead"]["elm"]["className"] = _0xcef5xf["snakeHead"]["elm"]["className"]["replace"](/\bsnake-snakebody-alive\b/, "");
- _0xcef5xf["snakeHead"]["elm"]["className"] += " snake-snakebody-dead";
- _0xcef5x1a = true;
- _0xcef5x10["handleDeath"]();
- _0xcef5x13["length"] = 0;
- };
- _0xcef5xf["rebirth"] = function () {
- _0xcef5x1a = false;
- };
- _0xcef5xf["reset"] = function () {
- if (_0xcef5x1a === false) {
- return;
- };
- var _0xcef5x27 = [],
- _0xcef5x2a = _0xcef5xf["snakeHead"]["next"],
- _0xcef5x2b;
- while (_0xcef5x2a !== _0xcef5xf["snakeHead"]) {
- _0xcef5x2b = _0xcef5x2a["next"];
- _0xcef5x2a["prev"] = null;
- _0xcef5x2a["next"] = null;
- _0xcef5x27["push"](_0xcef5x2a);
- _0xcef5x2a = _0xcef5x2b;
- };
- _0xcef5xf["snakeHead"]["next"] = _0xcef5xf["snakeHead"];
- _0xcef5xf["snakeHead"]["prev"] = _0xcef5xf["snakeHead"];
- _0xcef5xf["snakeTail"] = _0xcef5xf["snakeHead"];
- _0xcef5xf["snakeLength"] = 1;
- for (var _0xcef5xd = 0; _0xcef5xd < _0xcef5x27["length"]; _0xcef5xd++) {
- _0xcef5x27[_0xcef5xd]["elm"]["style"]["left"] = "-1000px";
- _0xcef5x27[_0xcef5xd]["elm"]["style"]["top"] = "-1000px";
- _0xcef5x27[_0xcef5xd]["elm"]["className"] = _0xcef5xf["snakeHead"]["elm"]["className"]["replace"](/\bsnake-snakebody-dead\b/, "");
- _0xcef5x27[_0xcef5xd]["elm"]["className"] += " snake-snakebody-alive";
- };
- _0xcef5x7["concat"](_0xcef5x27);
- _0xcef5xf["snakeHead"]["elm"]["className"] = _0xcef5xf["snakeHead"]["elm"]["className"]["replace"](/\bsnake-snakebody-dead\b/, "");
- _0xcef5xf["snakeHead"]["elm"]["className"] += " snake-snakebody-alive";
- _0xcef5xf["snakeHead"]["row"] = _0xcef5xe["startRow"] || 1;
- _0xcef5xf["snakeHead"]["col"] = _0xcef5xe["startCol"] || 1;
- _0xcef5xf["snakeHead"]["xPos"] = _0xcef5xf["snakeHead"]["row"] * _0xcef5x10["getBlockWidth"]();
- _0xcef5xf["snakeHead"]["yPos"] = _0xcef5xf["snakeHead"]["col"] * _0xcef5x10["getBlockHeight"]();
- _0xcef5xf["snakeHead"]["elm"]["style"]["left"] = _0xcef5xf["snakeHead"]["xPos"] + "px";
- _0xcef5xf["snakeHead"]["elm"]["style"]["top"] = _0xcef5xf["snakeHead"]["yPos"] + "px";
- };
- _0xcef5x1d(_0xcef5x12 * 2);
- _0xcef5x17[0] = 0;
- _0xcef5x17[1] = _0xcef5x10["getBlockWidth"]();
- _0xcef5x17[2] = 0;
- _0xcef5x17[3] = -1 * _0xcef5x10["getBlockWidth"]();
- _0xcef5x18[0] = -1 * _0xcef5x10["getBlockHeight"]();
- _0xcef5x18[1] = 0;
- _0xcef5x18[2] = _0xcef5x10["getBlockHeight"]();
- _0xcef5x18[3] = 0;
- };
- })();
- SNAKE["Food"] = SNAKE["Food"] || (function () {
- var _0xcef5x6 = 0;
- function _0xcef5x2c(_0xcef5x2d, _0xcef5x2e) {
- return Math["floor"](Math["random"]() * (_0xcef5x2e + 1 - _0xcef5x2d)) + _0xcef5x2d;
- };
- return function (_0xcef5xe) {
- if (!_0xcef5xe || !_0xcef5xe["playingBoard"]) {
- return;
- };
- var _0xcef5xf = this;
- var _0xcef5x10 = _0xcef5xe["playingBoard"];
- var _0xcef5x2f, _0xcef5x30;
- var _0xcef5x11 = _0xcef5x6++;
- var _0xcef5x31 = document["createElement"]("div");
- _0xcef5x31["setAttribute"]("id", "snake-food-" + _0xcef5x11);
- _0xcef5x31["className"] = "snake-food-block";
- _0xcef5x31["style"]["width"] = _0xcef5x10["getBlockWidth"]() + "px";
- _0xcef5x31["style"]["height"] = _0xcef5x10["getBlockHeight"]() + "px";
- _0xcef5x31["style"]["left"] = "-1000px";
- _0xcef5x31["style"]["top"] = "-1000px";
- _0xcef5x10["getBoardContainer"]()["appendChild"](_0xcef5x31);
- _0xcef5xf["getFoodElement"] = function () {
- return _0xcef5x31;
- };
- _0xcef5xf["randomlyPlaceFood"] = function () {
- if (_0xcef5x10["grid"][_0xcef5x2f] && _0xcef5x10["grid"][_0xcef5x2f][_0xcef5x30] === _0xcef5x10["getGridFoodValue"]()) {
- _0xcef5x10["grid"][_0xcef5x2f][_0xcef5x30] = 0;
- };
- var _0xcef5x32 = 0,
- _0xcef5x33 = 0,
- _0xcef5x34 = 0;
- var _0xcef5x35 = _0xcef5x10["grid"]["length"] - 1;
- var _0xcef5x36 = _0xcef5x10["grid"][0]["length"] - 1;
- while (_0xcef5x10["grid"][_0xcef5x32][_0xcef5x33] !== 0) {
- _0xcef5x32 = _0xcef5x2c(1, _0xcef5x35);
- _0xcef5x33 = _0xcef5x2c(1, _0xcef5x36);
- _0xcef5x34++;
- if (_0xcef5x34 > 20000) {
- _0xcef5x32 = -1;
- _0xcef5x33 = -1;
- break;
- };
- };
- _0xcef5x10["grid"][_0xcef5x32][_0xcef5x33] = _0xcef5x10["getGridFoodValue"]();
- _0xcef5x2f = _0xcef5x32;
- _0xcef5x30 = _0xcef5x33;
- _0xcef5x31["style"]["top"] = _0xcef5x32 * _0xcef5x10["getBlockHeight"]() + "px";
- _0xcef5x31["style"]["left"] = _0xcef5x33 * _0xcef5x10["getBlockWidth"]() + "px";
- };
- };
- })();
- SNAKE["Board"] = SNAKE["Board"] || (function () {
- var _0xcef5x6 = 0;
- function _0xcef5x9(_0xcef5xa) {
- var _0xcef5xb = 0,
- _0xcef5xc = 0,
- _0xcef5xd;
- for (_0xcef5xd in _0xcef5xa) {
- if (_0xcef5xa[_0xcef5xd]["elm"]["currentStyle"]) {
- _0xcef5xc = parseFloat(_0xcef5xa[_0xcef5xd]["elm"]["style"]["z-index"], 10);
- } else {
- if (window["getComputedStyle"]) {
- _0xcef5xc = parseFloat(document["defaultView"]["getComputedStyle"](_0xcef5xa[_0xcef5xd]["elm"], null)["getPropertyValue"]("z-index"), 10);
- };
- }; if (!isNaN(_0xcef5xc) && _0xcef5xc > _0xcef5xb) {
- _0xcef5xb = _0xcef5xc;
- };
- };
- return (_0xcef5xb + 1);
- };
- function _0xcef5x37() {
- var _0xcef5x38 = 0;
- if (typeof window["innerWidth"] === "number") {
- _0xcef5x38 = window["innerWidth"];
- } else {
- if (document["documentElement"] && (document["documentElement"]["clientWidth"] || document["documentElement"]["clientHeight"])) {
- _0xcef5x38 = document["documentElement"]["clientWidth"];
- } else {
- if (document["body"] && (document["body"]["clientWidth"] || document["body"]["clientHeight"])) {
- _0xcef5x38 = document["body"]["clientWidth"];
- };
- };
- };
- return _0xcef5x38;
- };
- function _0xcef5x39() {
- var _0xcef5x3a = 0;
- if (typeof window["innerHeight"] === "number") {
- _0xcef5x3a = window["innerHeight"];
- } else {
- if (document["documentElement"] && (document["documentElement"]["clientWidth"] || document["documentElement"]["clientHeight"])) {
- _0xcef5x3a = document["documentElement"]["clientHeight"];
- } else {
- if (document["body"] && (document["body"]["clientWidth"] || document["body"]["clientHeight"])) {
- _0xcef5x3a = document["body"]["clientHeight"];
- };
- };
- };
- return _0xcef5x3a;
- };
- return function (_0xcef5x3b) {
- var _0xcef5xf = this,
- _0xcef5x11 = _0xcef5x6++,
- _0xcef5xe = _0xcef5x3b || {}, _0xcef5x3c = 250,
- _0xcef5x3d = 250,
- _0xcef5x3e = 20,
- _0xcef5x3f = 20,
- _0xcef5x40 = -1,
- _0xcef5x41, _0xcef5x42, _0xcef5x43 = 1,
- _0xcef5x44, _0xcef5x45, _0xcef5x46, _0xcef5x47, _0xcef5x48, _0xcef5x49, _0xcef5x4a;
- _0xcef5xf["grid"] = [];
- function _0xcef5x4b() {
- _0xcef5x46 = document["createElement"]("div");
- _0xcef5x46["setAttribute"]("id", "playingField");
- _0xcef5x46["className"] = "snake-playing-field";
- SNAKE["addEventListener"](_0xcef5x46, "click", function () {
- _0xcef5x45["focus"]();
- }, false);
- _0xcef5x47 = document["createElement"]("div");
- _0xcef5x47["className"] = "snake-panel-component";
- _0xcef5x47["innerHTML"] = "";
- _0xcef5x48 = document["createElement"]("div");
- _0xcef5x48["className"] = "snake-panel-component";
- _0xcef5x48["innerHTML"] = "Length: 1";
- _0xcef5x49 = _0xcef5x4f();
- _0xcef5x4a = _0xcef5x56();
- SNAKE["addEventListener"](_0xcef5x45, "keyup", function (_0xcef5x4c) {
- if (!_0xcef5x4c) {
- var _0xcef5x4c = window["event"];
- };
- _0xcef5x4c["cancelBubble"] = true;
- if (_0xcef5x4c["stopPropagation"]) {
- _0xcef5x4c["stopPropagation"]();
- };
- if (_0xcef5x4c["preventDefault"]) {
- _0xcef5x4c["preventDefault"]();
- };
- return false;
- }, false);
- _0xcef5x45["className"] = "snake-game-container";
- _0xcef5x45["appendChild"](_0xcef5x46);
- _0xcef5x45["appendChild"](_0xcef5x47);
- _0xcef5x45["appendChild"](_0xcef5x48);
- _0xcef5x45["appendChild"](_0xcef5x49);
- _0xcef5x45["appendChild"](_0xcef5x4a);
- _0xcef5x42 = new SNAKE.Snake({
- playingBoard: _0xcef5xf,
- startRow: 2,
- startCol: 2
- });
- _0xcef5x41 = new SNAKE.Food({
- playingBoard: _0xcef5xf
- });
- _0xcef5x49["style"]["zIndex"] = 1000;
- };
- function _0xcef5x4d() {
- return _0xcef5x3c * _0xcef5xf["getBlockWidth"]();
- };
- function _0xcef5x4e() {
- return _0xcef5x3d * _0xcef5xf["getBlockHeight"]();
- };
- function _0xcef5x4f() {
- var _0xcef5x50 = document["createElement"]("div");
- _0xcef5x50["id"] = "sbWelcome" + _0xcef5x11;
- _0xcef5x50["className"] = "snake-welcome-dialog";
- var _0xcef5x51 = document["createElement"]("div");
- var _0xcef5x52 = "";
- if (_0xcef5xe["fullScreen"]) {
- _0xcef5x52 = "On Windows, press F11 to play in Full Screen mode.";
- };
- _0xcef5x51["innerHTML"] = "Welcome!<p></p><p>You need to be registered user to be able to save game results and manage personal statistics. <b><a href=\"./cgi-bin/index.pl\">Register here</a></b></p>";
- var _0xcef5x53 = document["createElement"]("button");
- _0xcef5x53["appendChild"](document["createTextNode"]("Play Game"));
- var _0xcef5x54 = function () {
- SNAKE["removeEventListener"](window, "keyup", _0xcef5x55, false);
- _0xcef5x50["style"]["display"] = "none";
- _0xcef5xf["setBoardState"](1);
- _0xcef5xf["getBoardContainer"]()["focus"]();
- };
- var _0xcef5x55 = function (_0xcef5x4c) {
- if (!_0xcef5x4c) {
- var _0xcef5x4c = window["event"];
- };
- var _0xcef5x20 = (_0xcef5x4c["which"]) ? _0xcef5x4c["which"] : _0xcef5x4c["keyCode"];
- if (_0xcef5x20 === 32 || _0xcef5x20 === 13) {
- _0xcef5x54();
- };
- };
- SNAKE["addEventListener"](window, "keyup", _0xcef5x55, false);
- SNAKE["addEventListener"](_0xcef5x53, "click", _0xcef5x54, false);
- _0xcef5x50["appendChild"](_0xcef5x51);
- _0xcef5x50["appendChild"](_0xcef5x53);
- return _0xcef5x50;
- };
- function _0xcef5x56() {
- var _0xcef5x50 = document["createElement"]("div");
- _0xcef5x50["id"] = "sbTryAgain" + _0xcef5x11;
- _0xcef5x50["className"] = "snake-try-again-dialog";
- var _0xcef5x57 = document["createElement"]("div");
- _0xcef5x57["innerHTML"] = "<b>Submit score</b><br>Your login:";
- var _0xcef5x58 = document["createElement"]("input");
- _0xcef5x58["setAttribute"]("id", "playername");
- var _0xcef5x59 = document["createElement"]("button");
- _0xcef5x59["appendChild"](document["createTextNode"]("Submit"));
- var _0xcef5x5a = function () {
- _0xcef5x50["style"]["display"] = "none";
- _0xcef5xf["resetBoard"]();
- _0xcef5xf["setBoardState"](1);
- _0xcef5xf["getBoardContainer"]()["focus"]();
- };
- var _0xcef5x5b = function () {
- var _0xcef5x5c = new XMLHttpRequest();
- var _0xcef5x5d = document["getElementById"]("playername");
- var _0xcef5x5e = _0xcef5x42["snakeLength"];
- var _0xcef5x5f = "playerName=" + encodeURIComponent(_0xcef5x5d["value"]) + "&playerScore=" + encodeURIComponent(_0xcef5x5e) + "&hash=" + hex_md5(_0xcef5x5e + _0xcef5x5d["value"] + "pc8XW2xUJcWMFVGkZ5PL");
- _0xcef5x5c["open"]("POST", "/cgi-bin/save.pl", false);
- _0xcef5x5c["setRequestHeader"]("Content-Type", "application/x-www-form-urlencoded");
- _0xcef5x5c["send"](_0xcef5x5f);
- var _0xcef5x60 = _0xcef5x5c["responseText"];
- _0xcef5x5d["value"] = "";
- _0xcef5x5a();
- };
- var _0xcef5x61 = function (_0xcef5x4c) {
- if (_0xcef5x43 !== 0 || _0xcef5x50["style"]["display"] !== "block") {
- return;
- };
- if (!_0xcef5x4c) {
- var _0xcef5x4c = window["event"];
- };
- var _0xcef5x20 = (_0xcef5x4c["which"]) ? _0xcef5x4c["which"] : _0xcef5x4c["keyCode"];
- if (_0xcef5x20 === 32 || _0xcef5x20 === 13) {
- _0xcef5x5a();
- };
- };
- SNAKE["addEventListener"](window, "keyup", _0xcef5x61, true);
- SNAKE["addEventListener"](_0xcef5x59, "click", _0xcef5x5b, false);
- _0xcef5x50["appendChild"](_0xcef5x57);
- _0xcef5x50["appendChild"](_0xcef5x58);
- _0xcef5x50["appendChild"](_0xcef5x59);
- return _0xcef5x50;
- };
- _0xcef5xf["resetBoard"] = function () {
- SNAKE["removeEventListener"](_0xcef5x45, "keydown", _0xcef5x44, false);
- _0xcef5x42["reset"]();
- _0xcef5x48["innerHTML"] = "Length: 1";
- _0xcef5xf["setupPlayingField"]();
- };
- _0xcef5xf["getBoardState"] = function () {
- return _0xcef5x43;
- };
- _0xcef5xf["setBoardState"] = function (_0xcef5x62) {
- _0xcef5x43 = _0xcef5x62;
- };
- _0xcef5xf["getGridFoodValue"] = function () {
- return _0xcef5x40;
- };
- _0xcef5xf["getPlayingFieldElement"] = function () {
- return _0xcef5x46;
- };
- _0xcef5xf["setBoardContainer"] = function (_0xcef5x63) {
- if (typeof _0xcef5x63 === "string") {
- _0xcef5x63 = document["getElementById"](_0xcef5x63);
- };
- if (_0xcef5x63 === _0xcef5x45) {
- return;
- };
- _0xcef5x45 = _0xcef5x63;
- _0xcef5x46 = null;
- _0xcef5xf["setupPlayingField"]();
- };
- _0xcef5xf["getBoardContainer"] = function () {
- return _0xcef5x45;
- };
- _0xcef5xf["getBlockWidth"] = function () {
- return _0xcef5x3e;
- };
- _0xcef5xf["getBlockHeight"] = function () {
- return _0xcef5x3f;
- };
- _0xcef5xf["setupPlayingField"] = function () {
- if (!_0xcef5x46) {
- _0xcef5x4b();
- };
- var _0xcef5x64, _0xcef5x65;
- if (_0xcef5xe["fullScreen"] === true) {
- cTop = 0;
- cLeft = 0;
- _0xcef5x64 = _0xcef5x37() - 5;
- _0xcef5x65 = _0xcef5x39() - 5;
- document["body"]["style"]["backgroundColor"] = "#FC5454";
- } else {
- cTop = _0xcef5xe["top"];
- cLeft = _0xcef5xe["left"];
- _0xcef5x64 = _0xcef5xe["width"];
- _0xcef5x65 = _0xcef5xe["height"];
- };
- var _0xcef5x66 = _0xcef5xf["getBlockWidth"]() * 2 + (_0xcef5x64 % _0xcef5xf["getBlockWidth"]());
- var _0xcef5x67 = Math["min"](_0xcef5x4d() - _0xcef5x66, _0xcef5x64 - _0xcef5x66);
- var _0xcef5x68 = _0xcef5xf["getBlockHeight"]() * 3 + (_0xcef5x65 % _0xcef5xf["getBlockHeight"]());
- var _0xcef5x69 = Math["min"](_0xcef5x4e() - _0xcef5x68, _0xcef5x65 - _0xcef5x68);
- _0xcef5x45["style"]["left"] = cLeft + "px";
- _0xcef5x45["style"]["top"] = cTop + "px";
- _0xcef5x45["style"]["width"] = _0xcef5x64 + "px";
- _0xcef5x45["style"]["height"] = _0xcef5x65 + "px";
- _0xcef5x46["style"]["left"] = _0xcef5xf["getBlockWidth"]() + "px";
- _0xcef5x46["style"]["top"] = _0xcef5xf["getBlockHeight"]() + "px";
- _0xcef5x46["style"]["width"] = _0xcef5x67 + "px";
- _0xcef5x46["style"]["height"] = _0xcef5x69 + "px";
- var _0xcef5x6a = _0xcef5x68 - _0xcef5xf["getBlockHeight"]();
- var _0xcef5x6b = _0xcef5xf["getBlockHeight"]() + _0xcef5x69 + Math["round"]((_0xcef5x6a - 30) / 2) + "px";
- _0xcef5x47["style"]["top"] = _0xcef5x6b;
- _0xcef5x47["style"]["width"] = "450px";
- _0xcef5x47["style"]["left"] = Math["round"](_0xcef5x64 / 2) - Math["round"](450 / 2) + "px";
- _0xcef5x48["style"]["top"] = _0xcef5x6b;
- _0xcef5x48["style"]["left"] = _0xcef5x64 - 120 + "px";
- if (_0xcef5x64 < 700) {
- _0xcef5x47["style"]["display"] = "none";
- } else {
- _0xcef5x47["style"]["display"] = "block";
- };
- _0xcef5xf["grid"] = [];
- var _0xcef5x6c = _0xcef5x67 / _0xcef5xf["getBlockWidth"]() + 2;
- var _0xcef5x6d = _0xcef5x69 / _0xcef5xf["getBlockHeight"]() + 2;
- for (var _0xcef5x32 = 0; _0xcef5x32 < _0xcef5x6d; _0xcef5x32++) {
- _0xcef5xf["grid"][_0xcef5x32] = [];
- for (var _0xcef5x33 = 0; _0xcef5x33 < _0xcef5x6c; _0xcef5x33++) {
- if (_0xcef5x33 === 0 || _0xcef5x32 === 0 || _0xcef5x33 === (_0xcef5x6c - 1) || _0xcef5x32 === (_0xcef5x6d - 1)) {
- _0xcef5xf["grid"][_0xcef5x32][_0xcef5x33] = 1;
- } else {
- _0xcef5xf["grid"][_0xcef5x32][_0xcef5x33] = 0;
- };
- };
- };
- _0xcef5x41["randomlyPlaceFood"]();
- _0xcef5x44 = function (_0xcef5x4c) {
- if (!_0xcef5x4c) {
- var _0xcef5x4c = window["event"];
- };
- var _0xcef5x20 = (_0xcef5x4c["which"]) ? _0xcef5x4c["which"] : _0xcef5x4c["keyCode"];
- if (_0xcef5xf["getBoardState"]() === 1) {
- if (!(_0xcef5x20 >= 37 && _0xcef5x20 <= 40)) {
- return;
- };
- SNAKE["removeEventListener"](_0xcef5x45, "keydown", _0xcef5x44, false);
- _0xcef5x44 = function (_0xcef5x4c) {
- if (!_0xcef5x4c) {
- var _0xcef5x4c = window["event"];
- };
- var _0xcef5x20 = (_0xcef5x4c["which"]) ? _0xcef5x4c["which"] : _0xcef5x4c["keyCode"];
- _0xcef5x42["handleArrowKeys"](_0xcef5x20);
- _0xcef5x4c["cancelBubble"] = true;
- if (_0xcef5x4c["stopPropagation"]) {
- _0xcef5x4c["stopPropagation"]();
- };
- if (_0xcef5x4c["preventDefault"]) {
- _0xcef5x4c["preventDefault"]();
- };
- return false;
- };
- SNAKE["addEventListener"](_0xcef5x45, "keydown", _0xcef5x44, false);
- _0xcef5x42["rebirth"]();
- _0xcef5x42["handleArrowKeys"](_0xcef5x20);
- _0xcef5xf["setBoardState"](2);
- _0xcef5x42["go"]();
- };
- _0xcef5x4c["cancelBubble"] = true;
- if (_0xcef5x4c["stopPropagation"]) {
- _0xcef5x4c["stopPropagation"]();
- };
- if (_0xcef5x4c["preventDefault"]) {
- _0xcef5x4c["preventDefault"]();
- };
- return false;
- };
- SNAKE["addEventListener"](_0xcef5x45, "keydown", _0xcef5x44, false);
- };
- _0xcef5xf["foodEaten"] = function () {
- _0xcef5x48["innerHTML"] = "Length: " + _0xcef5x42["snakeLength"];
- _0xcef5x41["randomlyPlaceFood"]();
- };
- _0xcef5xf["handleDeath"] = function () {
- var _0xcef5x28 = Math["max"](_0xcef5x9(_0xcef5x42["snakeBody"]), _0xcef5x9({
- tmp: {
- elm: _0xcef5x41["getFoodElement"]()
- }
- }));
- _0xcef5x45["removeChild"](_0xcef5x4a);
- _0xcef5x45["appendChild"](_0xcef5x4a);
- SNAKE["removeEventListener"](_0xcef5x45, "keydown", _0xcef5x44, false);
- _0xcef5x4a["style"]["zIndex"] = _0xcef5x28;
- _0xcef5x4a["style"]["display"] = "block";
- _0xcef5xf["setBoardState"](0);
- };
- _0xcef5xe["fullScreen"] = (typeof _0xcef5xe["fullScreen"] === "undefined") ? false : _0xcef5xe["fullScreen"];
- _0xcef5xe["top"] = (typeof _0xcef5xe["top"] === "undefined") ? 0 : _0xcef5xe["top"];
- _0xcef5xe["left"] = (typeof _0xcef5xe["left"] === "undefined") ? 0 : _0xcef5xe["left"];
- _0xcef5xe["width"] = (typeof _0xcef5xe["width"] === "undefined") ? 400 : _0xcef5xe["width"];
- _0xcef5xe["height"] = (typeof _0xcef5xe["height"] === "undefined") ? 400 : _0xcef5xe["height"];
- if (_0xcef5xe["fullScreen"]) {
- SNAKE["addEventListener"](window, "resize", function () {
- _0xcef5xf["setupPlayingField"]();
- }, false);
- };
- _0xcef5xf["setBoardState"](0);
- if (_0xcef5xe["boardContainer"]) {
- _0xcef5xf["setBoardContainer"](_0xcef5xe["boardContainer"]);
- };
- };
- })();
Advertisement
Add Comment
Please, Sign In to add comment