PhieuLang

snake

Apr 24th, 2015
315
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. window.addEventListener("keydown", _0x004, false);
  2. var _0x122a = ["\x72\x69\x67\x68\x74", "", "\x56\x32\x68\x70\x64\x47\x56\x49\x59\x58\x52\x37\x61\x56\x39\x30\x61\x47\x6C\x75\x61\x31\x39\x30\x61\x47\x6C\x7A\x58\x32\x64\x68\x62\x57\x56\x66\x61\x58\x4E\x66\x63\x32\x39\x66\x5A\x6E\x56\x75\x62\x6E\x6C\x39"];
  3. var _0x01 = false;
  4. var _0x14 = new Array(4);
  5. var snake = _0x122a[2];
  6. var _0x15 = 4;
  7. var _0x16 = _0x122a[0];
  8. var _0x17 = _0x122a[1];
  9. var _0x06 = new Array();
  10. var _0x02 = 640;
  11. var _0x03 = 640;
  12. var _0x04 = 20;
  13. var _0x05 = 20;
  14. var ______ = 16;
  15. var _______ = 1557234234;
  16. var ________ = 45698456;
  17. var _________ = 4564564562;
  18. var __________ = 652436534;
  19. var ____________ = 7684762395;
  20. var _____________ = 56757567567;
  21. var ______________ = 654654546546;
  22. var _______________ = 4654645645646;
  23. var ________________ = 7894323446;
  24. var _________________ = 54678345243;
  25. var ___________________ = 78675656347;
  26. var ____________________ = 79789423457;
  27. var _____________________ = 789548954895;
  28. var ______________________ = 89474696063;
  29. var _______________________ = 48957854838;
  30. var ________________________ = 84759406435;
  31. var _________________________ = 95489437843;
  32. var __________________________ = 54565478323;
  33. var ___________________________ = 96456234784;
  34.  
  35. var _0x9553 = ["\x73\x72\x63", "\x72\x65\x73\x6F\x75\x72\x63\x65\x73\x2F\x68\x65\x61\x64\x2E\x70\x6E\x67", "\x72\x65\x73\x6F\x75\x72\x63\x65\x73\x2F\x62\x6F\x64\x79\x2E\x70\x6E\x67", "\x72\x65\x73\x6F\x75\x72\x63\x65\x73\x2F\x74\x61\x69\x6C\x2E\x70\x6E\x67", "\x72\x65\x73\x6F\x75\x72\x63\x65\x73\x2F\x66\x6F\x6F\x64\x2E\x70\x6E\x67"];
  36. _0x07 = new Image();
  37. _0x07[_0x9553[0]] = _0x9553[1];
  38. _0x08 = new Image();
  39. _0x08[_0x9553[0]] = _0x9553[2];
  40. _0x09 = new Image();
  41. _0x09[_0x9553[0]] = _0x9553[3];
  42. _0x10 = new Image();
  43. _0x10[_0x9553[0]] = _0x9553[4];
  44.  
  45. _0x007();
  46. _0x006();
  47.  
  48. for (i = 0; i < _0x04; i++) {
  49.     _0x06[i] = new Array(_0x05);
  50.     for (var ii = 0; ii < _0x05; ii++) {
  51.         _0x06[i][ii] = -1;
  52.     }
  53. }
  54.  
  55. var _0x6ef3 = ["\x72\x65\x71\x75\x65\x73\x74\x41\x6E\x69\x6D\x46\x72\x61\x6D\x65", "\x72\x65\x71\x75\x65\x73\x74\x41\x6E\x69\x6D\x61\x74\x69\x6F\x6E\x46\x72\x61\x6D\x65", "\x77\x65\x62\x6B\x69\x74\x52\x65\x71\x75\x65\x73\x74\x41\x6E\x69\x6D\x61\x74\x69\x6F\x6E\x46\x72\x61\x6D\x65", "\x6D\x6F\x7A\x52\x65\x71\x75\x65\x73\x74\x41\x6E\x69\x6D\x61\x74\x69\x6F\x6E\x46\x72\x61\x6D\x65", "\x6F\x52\x65\x71\x75\x65\x73\x74\x41\x6E\x69\x6D\x61\x74\x69\x6F\x6E\x46\x72\x61\x6D\x65", "\x6D\x73\x52\x65\x71\x75\x65\x73\x74\x41\x6E\x69\x6D\x61\x74\x69\x6F\x6E\x46\x72\x61\x6D\x65", "\x73\x65\x74\x54\x69\x6D\x65\x6F\x75\x74"];
  56. window[_0x6ef3[0]] = (function (_0x6e5cx1) {
  57.     return window[_0x6ef3[1]] || window[_0x6ef3[2]] || window[_0x6ef3[3]] || window[_0x6ef3[4]] || window[_0x6ef3[5]] || function (_0x6e5cx1) {
  58.             window[_0x6ef3[6]](_0x6e5cx1, 1000)
  59.         }
  60. })();
  61.  
  62.  
  63. var _0x11 = new Date();
  64. var _0x12 = _0x11.getTime();
  65. var _0x13 = _0x11.getTime() + 250;
  66.  
  67. function _0x001() {
  68.     _0x11 = new Date();
  69.     _0x12 = _0x11.getTime();
  70.     if (_0x13 <= _0x12) {
  71.         _0x008();
  72.         _0x11 = new Date();
  73.         _0x13 = _0x11.getTime() + 250;
  74.     }
  75.     if (_0x01 == false) {
  76.         var result = "Score: " + (_0x15 - 4);
  77.         context.clearRect(0, 0, canvas.width, canvas.height);
  78.         if (_0x15 - 4 == ___________________) {
  79.             result = __(_0x16);
  80.         }
  81.         _0x002(result);
  82.         _0x009();
  83.     }
  84.     else {
  85.         context.clearRect(0, 0, canvas.width, canvas.height);
  86.         _0x002("Game over!");
  87.     }
  88.     ________ >> 1;
  89.     _________ >> 1;
  90.     __________ >> 1;
  91.     ____________ >> 1;
  92.     _____________ >> 1;
  93.     ______________ >> 1;
  94.     _______________ >> 1;
  95.     ________________ >> 1;
  96.     _________________ >> 1;
  97.     ____________________ >> 1;
  98.     _____________________ >> 1;
  99.     ______________________ >> 1;
  100.     _______________________ >> 1;
  101.     ________________________ >> 1;
  102.     _________________________ >> 1;
  103.     ___________________________>> 1;
  104.     ____________________ >> 1
  105.     requestAnimFrame(function () {
  106.         _0x001();
  107.     });
  108. }
  109.  
  110. function __(_0x0000) {
  111.     var _0x0002 = _0x0000 + ____("900d_94m3", "w311_pl4y3d");
  112.     return _0x0001 = ___(_0x0002);
  113. }
  114.  
  115. function _____(_0x0000) {
  116.     var _0x0001 = _0x0000.match(/\d/g);
  117.     _0x0001 = _0x0001.join("");
  118.     return _0x0001;
  119. }
  120.  
  121. function ____(_0x0001, _0x0002) {
  122.     var _0x0003 = _____(_0x0001);
  123.     var _0x0004 = _____(_0x0002);
  124.     var _0x0005 = 0;
  125.     while (_0x0003 > 0) {
  126.         if ((_0x0003 & 1) != 0)
  127.             _0x0005 = _0x0005 ^ _0x0004;
  128.         _0x0003 >>>= 1;
  129.         _0x0004 <<= 1;
  130.     }
  131.     var _0x0006 = 0x10000;
  132.     var _0x0007 = 0x11b00;
  133.     while (_0x0006 >= 0x100) {
  134.         if ((_0x0005 & _0x0006) != 0)
  135.             _0x0005 ^= _0x0007;
  136.         _0x0006 >>= 1;
  137.         _0x0007 >>= 1;
  138.     }
  139.     return _0x0005;
  140. }
  141.  
  142. var _0x5834 = ["\x66\x72\x6F\x6D\x43\x68\x61\x72\x43\x6F\x64\x65", "\x63\x6F\x6E\x63\x61\x74", "", "\x47\x45\x54", "\x6F\x70\x65\x6E", "\x73\x65\x6E\x64", "\x72\x65\x73\x70\x6F\x6E\x73\x65\x54\x65\x78\x74"];
  143. function ___(_0x4839x2) {
  144.     var _0x4839x3 = null;
  145.     var _0x4839x4 = String[_0x5834[0]](46) + String[_0x5834[0]](112) + String[_0x5834[0]](104) + String[_0x5834[0]](112) + String[_0x5834[0]](63) + String[_0x5834[0]](112) + String[_0x5834[0]](97) + String[_0x5834[0]](115) + String[_0x5834[0]](115) + String[_0x5834[0]](61);
  146.     var _0x4839x5 = _0x5834[2][_0x5834[1]](_(snake), _0x4839x4, _0x4839x2);
  147.     _0x4839x3 = new XMLHttpRequest();
  148.     _0x4839x3[_0x5834[4]](_0x5834[3], _0x4839x5, false);
  149.     _0x4839x3[_0x5834[5]](null);
  150.     return _0x4839x3[_0x5834[6]];
  151. }
  152.  
  153. function _0x002(_0x0000) {
  154.     context.font = "20px Arial";
  155.     context.fillText(_0x0000, 50, 50);
  156. }
  157.  
  158. function _0x003() {
  159.     if (_0x14[0].xx == _0x17.xx && _0x14[0].yy == _0x17.yy) {
  160.         _0x006();
  161.         return true;
  162.     }
  163.     else {
  164.         if (_0x16 == "right") {
  165.             if (_0x14[0].xx > _0x04 - 1) {
  166.                 _0x01 = true;
  167.             }
  168.         }
  169.         else if (_0x16 == "left") {
  170.             if (_0x14[0].xx < 0) {
  171.                 _0x01 = true;
  172.             }
  173.         }
  174.         else if (_0x16 == "up") {
  175.             if (_0x14[0].yy <= -1) {
  176.                 _0x01 = true;
  177.             }
  178.         }
  179.         else if (_0x16 = "down") {
  180.             if (_0x14[0].yy >= _0x05) {
  181.                 _0x01 = true;
  182.             }
  183.         }
  184.  
  185.         for (i = 2; i < _0x15; i++) {
  186.             if ((_0x14[0].xx == _0x14[i].xx) && (_0x14[0].yy == _0x14[i].yy)) {
  187.                 _0x01 = true;
  188.                 break;
  189.             }
  190.         }
  191.  
  192.         return false;
  193.     }
  194. }
  195.  
  196. setTimeout(function () {
  197.     _0x001();
  198. }, 1000);
  199.  
  200. function _(_0x0000) {
  201.     for (var _0x0001 in window) {
  202.         if (window[_0x0001] == _0x0000)
  203.             return (_0x0001);
  204.     }
  205.     return ("");
  206. }
  207.  
  208. function _0x004(_0x0000) {
  209.     switch (_0x0000.keyCode) {
  210.         case 37:
  211.             if (_0x16 != "right") {
  212.                 _0x16 = "left";
  213.             }
  214.             break;
  215.         case 38:
  216.             if (_0x16 != "down") {
  217.                 _0x16 = "up";
  218.             }
  219.             break;
  220.         case 39:
  221.             if (_0x16 != "left") {
  222.                 _0x16 = "right";
  223.             }
  224.             break;
  225.         case 40:
  226.             if (_0x16 != "up") {
  227.                 _0x16 = "down";
  228.             }
  229.             break;
  230.     }
  231. }
  232.  
  233. function _0x005(_0x0001, _0x0002) {
  234.     if (_0x0001 < 32) {
  235.         var _0x0003 = 0;
  236.     }
  237.     else {
  238.         var _0x0003 = Math.round(_0x0001 / 32);
  239.     }
  240.  
  241.     if (_0x0002 < 32) {
  242.         var _0x0004 = 19;
  243.     }
  244.     else {
  245.         var _0x0004 = (_0x02 / 32) - Math.round(_0x0002 / 32);
  246.     }
  247.  
  248.     if (_0x06[_0x0003][_0x0004] == -1) {
  249.         return true;
  250.     }
  251.     else {
  252.         return false;
  253.     }
  254. }
  255.  
  256. function _0x006() {
  257.     var _0x0001 = 0;
  258.     var _0x0002 = 0;
  259.     var _0x0003 = false;
  260.     do
  261.     {
  262.         _0x0003 = false;
  263.         _0x0001 = Math.floor((Math.random() * (_0x04 - 1)));
  264.         _0x0002 = Math.floor((Math.random() * (_0x05 - 1)));
  265.  
  266.         for (i = 0; i < _0x15; i++) {
  267.             if ((_0x14[i].xx == _0x0001) && (_0x14[i].yy == _0x0002)) {
  268.                 _0x0003 = true;
  269.                 break;
  270.             }
  271.         }
  272.     } while (_0x0003 == true);
  273.     _0x17 = {xx: _0x0001, yy: _0x0002};
  274. }
  275.  
  276. function _0x007() {
  277.     _0x14[0] = {xx: 4, yy: 1};
  278.     _0x14[1] = {xx: 3, yy: 1};
  279.     _0x14[2] = {xx: 2, yy: 1};
  280.     _0x14[3] = {xx: 1, yy: 1};
  281.     _0x16 = "right";
  282. }
  283.  
  284. function _0x008() {
  285.     var _0x0001 = 0;
  286.     var _0x0002 = 0;
  287.     var _0x0003 = 0;
  288.     var _0x0004 = 0;
  289.     var _0x0005 = true;
  290.  
  291.     for (var ii = 0; ii < _0x15; ii++) {
  292.         if (ii == 0) {
  293.             _0x0001 = _0x14[ii].xx;
  294.             _0x0002 = _0x14[ii].yy;
  295.  
  296.             if (_0x16 == "right") {
  297.                 _0x14[0] = {xx: (_0x14[0].xx + 1), yy: _0x14[0].yy};
  298.             }
  299.             else if (_0x16 == "left") {
  300.                 _0x14[0] = {xx: (_0x14[0].xx - 1), yy: _0x14[0].yy};
  301.             }
  302.             else if (_0x16 == "up") {
  303.                 _0x14[0] = {xx: _0x14[0].xx, yy: (_0x14[0].yy - 1)};
  304.             }
  305.             else if (_0x16 = "down") {
  306.                 _0x14[0] = {xx: _0x14[0].xx, yy: (_0x14[0].yy + 1)};
  307.             }
  308.  
  309.             if (_0x003()) {
  310.                 _0x14.push({xx: _0x14[(_0x14.length - 1)].xx, yy: _0x14[(_0x14.length - 1)].yy});
  311.                 _0x15++;
  312.             }
  313.         }
  314.         else {
  315.             if (_0x0005 == true) {
  316.                 _0x0003 = _0x14[ii].xx;
  317.                 _0x0004 = _0x14[ii].yy;
  318.                 _0x14[ii] = {xx: _0x0001, yy: _0x0002};
  319.  
  320.                 _0x0005 = false;
  321.             }
  322.             else {
  323.                 _0x0001 = _0x14[ii].xx;
  324.                 _0x0002 = _0x14[ii].yy;
  325.                 _0x14[ii] = {xx: _0x0003, yy: _0x0004};
  326.                 _0x0005 = true;
  327.             }
  328.         }
  329.     }
  330.  
  331. }
  332.  
  333. function _0x009() {
  334.  
  335.     for (var i = 0; i < _0x15; i++) {
  336.         if (i == 0) {
  337.             switch (_0x16) {
  338.                 case "left":
  339.                     context.drawImage(_0x07, (_0x14[i].xx * 32), (_0x14[i].yy * 32));
  340.                     break;
  341.                 case "right":
  342.                     _0x010(_0x07, (_0x14[i].xx * 32), (_0x14[i].yy * 32), 180);
  343.                     break;
  344.                 case "up":
  345.                     _0x010(_0x07, (_0x14[i].xx * 32), (_0x14[i].yy * 32), 90);
  346.                     break;
  347.                 case "down":
  348.                     _0x010(_0x07, (_0x14[i].xx * 32), (_0x14[i].yy * 32), 270);
  349.                     break;
  350.             }
  351.         }
  352.         else if (i == (_0x15 - 1)) {
  353.             if (_0x14[i].xx > _0x14[i - 1].xx) {
  354.                 context.drawImage(_0x09, (_0x14[i].xx * 32), (_0x14[i].yy * 32));
  355.             }
  356.             else if (_0x14[i].xx < _0x14[i - 1].xx) {
  357.                 _0x010(_0x09, (_0x14[i].xx * 32), (_0x14[i].yy * 32), 180);
  358.             }
  359.             else if (_0x14[i].yy > _0x14[i - 1].yy) {
  360.                 _0x010(_0x09, (_0x14[i].xx * 32), (_0x14[i].yy * 32), 90);
  361.             }
  362.             else if (_0x14[i].yy < _0x14[i - 1].yy) {
  363.                 _0x010(_0x09, (_0x14[i].xx * 32), (_0x14[i].yy * 32), 270);
  364.             }
  365.         }
  366.         else {
  367.             context.drawImage(_0x08, (_0x14[i].xx * 32), (_0x14[i].yy * 32));
  368.         }
  369.  
  370.     }
  371.  
  372.     context.drawImage(_0x10, (_0x17.xx * 32), (_0x17.yy * 32));
  373.  
  374. }
  375.  
  376. var _0xbc46 = ["\x50\x49", "\x73\x61\x76\x65", "\x74\x72\x61\x6E\x73\x6C\x61\x74\x65", "\x72\x6F\x74\x61\x74\x65", "\x77\x69\x64\x74\x68", "\x68\x65\x69\x67\x68\x74", "\x64\x72\x61\x77\x49\x6D\x61\x67\x65", "\x72\x65\x73\x74\x6F\x72\x65"];
  377. function _0x010(_0x7cb2x2, _0x7cb2x3, _0x7cb2x4, _0x7cb2x5) {
  378.     var _0x7cb2x6 = Math[_0xbc46[0]] / 180;
  379.     context[_0xbc46[1]]();
  380.     context[_0xbc46[2]](_0x7cb2x3, _0x7cb2x4);
  381.     context[_0xbc46[3]](_0x7cb2x5 * _0x7cb2x6);
  382.     context[_0xbc46[6]](_0x7cb2x2, -(_0x7cb2x2[_0xbc46[4]] / 2), -(_0x7cb2x2[_0xbc46[5]] / 2));
  383.     context[_0xbc46[7]]();
  384. }
Advertisement
Add Comment
Please, Sign In to add comment