forked from gn-math/assets
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsketch.js
More file actions
1 lines (1 loc) · 25.6 KB
/
sketch.js
File metadata and controls
1 lines (1 loc) · 25.6 KB
1
var _0x22cd58=_0x4d30;(function(_0x4851b2,_0x2b0450){var _0x403571=_0x4d30,_0x5655cc=_0x4851b2();while(!![]){try{var _0x5dbfb1=parseInt(_0x403571(0x1af))/0x1*(-parseInt(_0x403571(0x1ae))/0x2)+-parseInt(_0x403571(0x1d4))/0x3+-parseInt(_0x403571(0x178))/0x4*(parseInt(_0x403571(0x1aa))/0x5)+parseInt(_0x403571(0x16b))/0x6+-parseInt(_0x403571(0x1a4))/0x7*(-parseInt(_0x403571(0x175))/0x8)+-parseInt(_0x403571(0x163))/0x9+parseInt(_0x403571(0x17d))/0xa;if(_0x5dbfb1===_0x2b0450)break;else _0x5655cc['push'](_0x5655cc['shift']());}catch(_0x36d7c7){_0x5655cc['push'](_0x5655cc['shift']());}}}(_0x4444,0xa0ea3));var _0x35fba3=(function(){var _0x6ddb6d=!![];return function(_0x3082c8,_0x4939a8){var _0x4d6262=_0x6ddb6d?function(){var _0xf3741f=_0x4d30;if(_0x4939a8){var _0x8daf07=_0x4939a8[_0xf3741f(0x15f)](_0x3082c8,arguments);return _0x4939a8=null,_0x8daf07;}}:function(){};return _0x6ddb6d=![],_0x4d6262;};}()),_0x18f977=_0x35fba3(this,function(){var _0x44d93a=_0x4d30,_0x32415c;try{var _0x296aea=Function(_0x44d93a(0x1cd)+_0x44d93a(0x1d8)+');');_0x32415c=_0x296aea();}catch(_0x45b401){_0x32415c=window;}var _0x4a2c34=_0x32415c['console']=_0x32415c['console']||{},_0x40182c=['log',_0x44d93a(0x181),_0x44d93a(0x1b9),_0x44d93a(0x19b),_0x44d93a(0x177),'table','trace'];for(var _0x1b8ae5=0x0;_0x1b8ae5<_0x40182c[_0x44d93a(0x1d3)];_0x1b8ae5++){var _0x6bd2ab=_0x35fba3[_0x44d93a(0x1b5)]['prototype'][_0x44d93a(0x171)](_0x35fba3),_0x2b2575=_0x40182c[_0x1b8ae5],_0x352357=_0x4a2c34[_0x2b2575]||_0x6bd2ab;_0x6bd2ab['__proto__']=_0x35fba3[_0x44d93a(0x171)](_0x35fba3),_0x6bd2ab['toString']=_0x352357[_0x44d93a(0x1a7)][_0x44d93a(0x171)](_0x352357),_0x4a2c34[_0x2b2575]=_0x6bd2ab;}});_0x18f977();function HSVtoRGB(_0x258b09,_0x543b2c,_0x227e8e){var _0x17c297=_0x4d30,_0x144ace,_0x440e38,_0x3a7c96,_0x58e37c,_0x5eb92a,_0x19fb97,_0x702531,_0xc25e27;arguments[_0x17c297(0x1d3)]===0x1&&(_0x543b2c=_0x258b09['s'],_0x227e8e=_0x258b09['v'],_0x258b09=_0x258b09['h']);_0x58e37c=Math[_0x17c297(0x1b1)](_0x258b09*0x6),_0x5eb92a=_0x258b09*0x6-_0x58e37c,_0x19fb97=_0x227e8e*(0x1-_0x543b2c),_0x702531=_0x227e8e*(0x1-_0x5eb92a*_0x543b2c),_0xc25e27=_0x227e8e*(0x1-(0x1-_0x5eb92a)*_0x543b2c);switch(_0x58e37c%0x6){case 0x0:_0x144ace=_0x227e8e,_0x440e38=_0xc25e27,_0x3a7c96=_0x19fb97;break;case 0x1:_0x144ace=_0x702531,_0x440e38=_0x227e8e,_0x3a7c96=_0x19fb97;break;case 0x2:_0x144ace=_0x19fb97,_0x440e38=_0x227e8e,_0x3a7c96=_0xc25e27;break;case 0x3:_0x144ace=_0x19fb97,_0x440e38=_0x702531,_0x3a7c96=_0x227e8e;break;case 0x4:_0x144ace=_0xc25e27,_0x440e38=_0x19fb97,_0x3a7c96=_0x227e8e;break;case 0x5:_0x144ace=_0x227e8e,_0x440e38=_0x19fb97,_0x3a7c96=_0x702531;break;}return{'r':Math[_0x17c297(0x1b7)](_0x144ace*0xff),'g':Math[_0x17c297(0x1b7)](_0x440e38*0xff),'b':Math[_0x17c297(0x1b7)](_0x3a7c96*0xff)};}function _0x4d30(_0x4ff507,_0x26913d){var _0xd202c1=_0x4444();return _0x4d30=function(_0x18f977,_0x35fba3){_0x18f977=_0x18f977-0x155;var _0x1fc04d=_0xd202c1[_0x18f977];return _0x1fc04d;},_0x4d30(_0x4ff507,_0x26913d);}var gridBG=[0x18,0x15,0x11],gameBG=[0x44,0x3c,0x33],grid=[],scl=0x4,padding=0x4,columns=0x64,rows=0xa0,buff,t=0x0,playerBlock,nextBlock,vis,fullLine,cleartime=0x0,placed=![],linesCleared=0x0,poopbutt=0x0,RENAMETHIS=0x0,gameOffset=0x4*scl,nextOffset,gameRes,placeSound=0.1,lineSound=0.1,gameMusic=0.1,pixelFont,gameOver=!![],paused=!![],startScreen,pauseScreen,aboutScreen,gameoverScreen,gameoverText,timeText=_0x22cd58(0x19c),levelSlider,levelText,difficulty=0x1,sfxSlider1,sfxSlider2,musSlider1,musSlider2,musicText,lpfilter,vel=0.5,dupChance=0.5,scoreSubmitted=!![];let userId;var lbUrl=_0x22cd58(0x187),btnControls={'fast':![],'rotate':![],'down':![],'left':![],'right':![]};function setButton(_0x927f01,_0x25e4e3){btnControls[_0x927f01]=_0x25e4e3;}function generateScoreHash(_0x50588b,_0xcd8beb,_0x56059f,_0x753d2c,_0x4746ff){var _0x221b53=_0x22cd58;const _0x4fca4f=_0x50588b+':'+_0xcd8beb+':'+_0x56059f+':'+_0x753d2c+':'+_0x4746ff,_0x5c8a1b=new TextEncoder(),_0x53d10e=_0x5c8a1b[_0x221b53(0x180)](_0x4fca4f);return crypto[_0x221b53(0x17b)]['digest'](_0x221b53(0x17c),_0x53d10e)[_0x221b53(0x1ce)](_0x2b282a=>{var _0xa7d600=_0x221b53;const _0x1a0096=Array[_0xa7d600(0x17e)](new Uint8Array(_0x2b282a)),_0x290a96=_0x1a0096[_0xa7d600(0x192)](_0x615307=>_0x615307[_0xa7d600(0x1a7)](0x10)['padStart'](0x2,'0'))['join']('');return _0x290a96+'|'+t;})['catch'](_0x4ab5ea=>{var _0x5a473b=_0x221b53;return console[_0x5a473b(0x19b)](_0x5a473b(0x158),_0x4ab5ea),null;});}function handleReturnMessage(_0x23ffc2){var _0x29784e=_0x22cd58;let _0x52f2e5=document[_0x29784e(0x1b4)](_0x29784e(0x17f));if(_0x23ffc2[_0x29784e(0x15d)]('message')){_0x52f2e5[_0x29784e(0x183)]=_0x23ffc2[_0x29784e(0x1bf)];return;}_0x52f2e5[_0x29784e(0x183)]=_0x23ffc2[_0x29784e(0x19b)],scoreSubmitted=![];}function submitScore(){var _0x3bd1de=_0x22cd58;if(scoreSubmitted)return;scoreSubmitted=!![],responseBox[_0x3bd1de(0x183)]=_0x3bd1de(0x167);const _0x1ad679=document['getElementById'](_0x3bd1de(0x1cc))[_0x3bd1de(0x1b6)],_0x3f47c6=poopbutt,_0x33d36a=timeText,_0x321ca4=new Date()[_0x3bd1de(0x182)]();generateScoreHash(userId,_0x1ad679,_0x3f47c6,_0x33d36a,_0x321ca4)[_0x3bd1de(0x1ce)](_0x55bb40=>{var _0x3c0e21=_0x3bd1de;fetch(lbUrl+'/submit_score',{'method':_0x3c0e21(0x1c7),'headers':{'Content-Type':_0x3c0e21(0x1bd)},'body':JSON[_0x3c0e21(0x189)]({'userId':userId,'name':_0x1ad679,'score':_0x3f47c6,'duration':_0x33d36a,'timestamp':_0x321ca4,'hash':_0x55bb40})})['then'](_0x55f82d=>_0x55f82d['json']())['then'](_0x5eeb4a=>{handleReturnMessage(_0x5eeb4a),loadLeaderboard();})[_0x3c0e21(0x199)](_0x2759fb=>console[_0x3c0e21(0x19b)](_0x2759fb));})[_0x3bd1de(0x199)](_0x51e50a=>console[_0x3bd1de(0x19b)](_0x51e50a));}function loadLeaderboard(){var _0x4b565a=_0x22cd58;fetch(lbUrl+'/leaderboard',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON[_0x4b565a(0x189)]({'userId':userId})})[_0x4b565a(0x1ce)](_0xd655f2=>_0xd655f2[_0x4b565a(0x193)]())['then'](_0x614aec=>{var _0x531bc6=_0x4b565a;const _0x492aee=document[_0x531bc6(0x1b4)](_0x531bc6(0x1b2));_0x492aee[_0x531bc6(0x183)]='',leaderboard=_0x614aec['leaderboard'],bestUserScore=_0x614aec[_0x531bc6(0x172)],leaderboard[_0x531bc6(0x1d7)](_0x1b1325=>{var _0x317252=_0x531bc6;const _0x9673c0=document[_0x317252(0x15e)](_0x317252(0x1c0));_0x9673c0[_0x317252(0x1c6)]=_0x317252(0x1b0)+(_0x1b1325[_0x317252(0x164)]%0x2?_0x317252(0x1a2):_0x317252(0x17a)),_0x9673c0['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<p>'+_0x1b1325[_0x317252(0x164)]+_0x317252(0x191)+_0x1b1325[_0x317252(0x1cc)]+_0x317252(0x18c)+_0x1b1325[_0x317252(0x16d)]+_0x317252(0x1c4),_0x492aee[_0x317252(0x156)](_0x9673c0);const _0x1ccd68=document[_0x317252(0x1b4)](_0x317252(0x179));_0x1ccd68[_0x317252(0x183)]='\x0a\x20\x20\x20\x20\x20\x20\x20\x20<p>'+(bestUserScore['rank']??'?')+_0x317252(0x186)+(bestUserScore[_0x317252(0x1cc)]??_0x317252(0x170))+'</p>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<p>'+(bestUserScore[_0x317252(0x16d)]??_0x317252(0x170))+_0x317252(0x1ab);});})[_0x4b565a(0x199)](_0x38fdc3=>console[_0x4b565a(0x19b)](_0x38fdc3));}function getCookie(_0x489841){var _0x50b538=_0x22cd58;const _0x39d5dc=';\x20'+document[_0x50b538(0x1d5)],_0x39a503=_0x39d5dc['split'](';\x20'+_0x489841+'=');if(_0x39a503[_0x50b538(0x1d3)]===0x2)return _0x39a503['pop']()[_0x50b538(0x195)](';')[_0x50b538(0x159)]();}function _0x4444(){var _0x4e0410=['isPlaying','</p>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20','freq','className','POST','startpage','grid','type','pausepage','name','return\x20(function()\x20','then','stop','sounds/place','newBlock','sprite','length','1632279Rejvnt','cookie','sfx1Slider','forEach','{}.constructor(\x22return\x20this\x22)(\x20)','open','play','appendChild','writeText','Error\x20generating\x20score\x20hash:','shift','clearGrid','mus1Slider','LINES:','hasOwnProperty','createElement','apply','col','fast','aboutpage','9479376PGNcuU','rank','xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx','grav','Sending\x20score...','clipboard','LINES:\x20','rotReset','711552HiVmXC','disconnect','score','Share\x20Text\x20Copied\x20to\x20Clipboard!','pos','???','bind','bestUserScore','connect','Play\x20now\x20at\x20https://sandtris.com/','14856pGFdDo','repeat','exception','4QCTIFE','bestScoreEntry','leaderboard--black','subtle','SHA-256','30677120BXbduW','from','responseBox','encode','warn','toISOString','innerHTML','down','random','.</p>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22namescore\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<p>','https://fanrco.pythonanywhere.com','LEVEL:','stringify','rotate','mus2Slider','</p>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<p>','update','loadPixels','updatePixels','gameoverpage','.</p>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22namescore\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<p>','map','json','log','split','mp3','setVolume','SCORE:\x20','catch','setTime','error','00:00','LEVEL:\x20','userId','Now\x20with\x20more\x20sand!','pixels','static','leaderboard--gray','push','2114MrBBFt','textSize','TIME:\x20','toString','stroke','fill','6195240DUWLtQ','</p>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>','rot','sounds/line','4LwwREl','125803rXtmiw','leaderboard\x20','floor','leaderboard-list','renderBlock','getElementById','constructor','value','round','sfx2Slider','info','cnv','show','loop','application/json','min','message','div','controls','SCORE:'];_0x4444=function(){return _0x4e0410;};return _0x4444();}function setCookie(_0x116ab0,_0x59bb97,_0x3c89d6){var _0xd84de6=_0x22cd58;const _0x28f1d9=new Date();_0x28f1d9[_0xd84de6(0x19a)](_0x28f1d9['getTime']()+_0x3c89d6*0x18*0x3c*0x3c*0x3e8),document[_0xd84de6(0x1d5)]=_0x116ab0+'='+_0x59bb97+';\x20expires='+_0x28f1d9['toUTCString']()+';\x20path=/';}function generateUserId(){var _0x4b953d=_0x22cd58;return _0x4b953d(0x165)['replace'](/[xy]/g,function(_0x163903){var _0x876e66=_0x4b953d,_0x207008=Math[_0x876e66(0x185)]()*0x10|0x0,_0x2b01e9=_0x163903=='x'?_0x207008:_0x207008&0x3|0x8;return _0x2b01e9[_0x876e66(0x1a7)](0x10);});}var brick=[[0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0],[0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x0],[0x0,0x1,0x0,0x0,0x0,0x0,0x1,0x0],[0x0,0x1,0x0,0x2,0x2,0x0,0x1,0x0],[0x0,0x1,0x0,0x2,0x2,0x0,0x1,0x0],[0x0,0x1,0x0,0x0,0x0,0x0,0x1,0x0],[0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x0],[0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0]],staticbrick=[[0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x2],[0x0,0x1,0x2,0x1,0x1,0x2,0x1,0x0],[0x0,0x2,0x1,0x1,0x1,0x1,0x2,0x0],[0x0,0x1,0x1,0x0,0x0,0x1,0x1,0x0],[0x0,0x1,0x1,0x0,0x0,0x1,0x1,0x0],[0x0,0x2,0x1,0x1,0x1,0x1,0x2,0x0],[0x0,0x1,0x2,0x1,0x1,0x2,0x1,0x0],[0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2]],cols=[0x66,0xc4,0x154,0x32],blockType=[[[0x0,0x0,0x0,0x1,0x1,0x0,0x1,0x1],[0x0,0x0,0x0,0x1,0x1,0x0,0x1,0x1],[0x0,0x0,0x0,0x1,0x1,0x0,0x1,0x1],[0x0,0x0,0x0,0x1,0x1,0x0,0x1,0x1]],[[0x0,0x0,0x0,0x1,0x1,0x0,0x0,0x2],[0x0,0x0,0x1,0x0,0x2,0x0,0x2,0x1],[0x0,0x2,0x1,0x2,0x1,0x1,0x1,0x0],[0x0,0x0,0x0,0x1,0x1,0x1,0x2,0x1]],[[0x0,0x0,0x1,0x0,0x1,0x1,0x1,0x2],[0x0,0x1,0x1,0x1,0x2,0x1,0x2,0x0],[0x0,0x0,0x0,0x1,0x0,0x2,0x1,0x2],[0x0,0x0,0x0,0x1,0x1,0x0,0x2,0x0]],[[0x0,0x0,0x1,0x0,0x1,0x1,0x2,0x1],[0x0,0x1,0x0,0x2,0x1,0x1,0x1,0x0],[0x0,0x0,0x1,0x0,0x1,0x1,0x2,0x1],[0x0,0x1,0x0,0x2,0x1,0x1,0x1,0x0]],[[0x0,0x1,0x1,0x1,0x1,0x0,0x2,0x0],[0x0,0x0,0x0,0x1,0x1,0x1,0x1,0x2],[0x0,0x1,0x1,0x1,0x1,0x0,0x2,0x0],[0x0,0x0,0x0,0x1,0x1,0x1,0x1,0x2]],[[0x0,0x0,0x1,0x0,0x2,0x0,0x1,0x1],[0x0,0x1,0x1,0x0,0x1,0x1,0x1,0x2],[0x1,0x0,0x0,0x1,0x1,0x1,0x2,0x1],[0x0,0x0,0x0,0x1,0x0,0x2,0x1,0x1]],[[0x0,0x0,0x1,0x0,0x2,0x0,0x3,0x0],[0x0,0x0,0x0,0x1,0x0,0x2,0x0,0x3],[0x0,0x0,0x1,0x0,0x2,0x0,0x3,0x0],[0x0,0x0,0x0,0x1,0x0,0x2,0x0,0x3]]],blockWidth=[[0x1,0x1,0x1,0x1],[0x1,0x2,0x1,0x2],[0x1,0x2,0x1,0x2],[0x2,0x1,0x2,0x1],[0x2,0x1,0x2,0x1],[0x2,0x1,0x2,0x1],[0x3,0x0,0x3,0x0]],blockHeight=[[0x1,0x1,0x1,0x1],[0x2,0x1,0x2,0x1],[0x2,0x1,0x2,0x1],[0x1,0x2,0x1,0x2],[0x1,0x2,0x1,0x2],[0x1,0x2,0x1,0x2],[0x0,0x3,0x0,0x3]];function preload(){var _0x21f2e8=_0x22cd58;userId=getCookie('userId'),!userId&&(userId=generateUserId(),setCookie(_0x21f2e8(0x19e),userId,0x270f)),soundFormats(_0x21f2e8(0x196),'ogg'),placeSound=loadSound(_0x21f2e8(0x1d0)),lineSound=loadSound(_0x21f2e8(0x1ad)),gameMusic=loadSound('sounds/music'),pixelFont=loadFont('fonts/retroFont.ttf');}function Block(_0x3213cb,_0x25b8ee){var _0xf35d=_0x22cd58;this[_0xf35d(0x16f)]=createVector(0x0,0x0),this['grav']=vel,this[_0xf35d(0x1d2)]=null,this[_0xf35d(0x1c9)]=[],this[_0xf35d(0x1ca)]=0x0,this[_0xf35d(0x160)]=0x0,this[_0xf35d(0x1a1)]=![],this[_0xf35d(0x1ac)]=0x0,this[_0xf35d(0x16a)]=!![],this['clearGrid']=function(){var _0x19d243=_0xf35d;this[_0x19d243(0x1c9)]=[];for(let _0x4b0f18=0x0;_0x4b0f18<0x20;_0x4b0f18++){this[_0x19d243(0x1c9)][_0x19d243(0x1a3)](new Array(0x20)[_0x19d243(0x1a9)](null));}},this[_0xf35d(0x1b3)]=function(){var _0x3ee844=_0xf35d;this[_0x3ee844(0x15a)](),AddBlock(this[_0x3ee844(0x1c9)],0x0,0x1f,blockType[this['type']][this['rot']],this[_0x3ee844(0x160)],this[_0x3ee844(0x1a1)]),renderFromArray(this[_0x3ee844(0x1c9)],this[_0x3ee844(0x1d2)]);},this[_0xf35d(0x1d1)]=function(){var _0x54c5fb=_0xf35d;this[_0x54c5fb(0x1a1)]=![],this[_0x54c5fb(0x1d2)]=createImage(0x20,0x20),this[_0x54c5fb(0x1ca)]=int(random(blockType[_0x54c5fb(0x1d3)])),this['col']=int(random(0x4)),this[_0x54c5fb(0x16f)]=createVector(int(columns/0x2-(blockWidth[this[_0x54c5fb(0x1ca)]][0x0]+0x1)),0x0),this[_0x54c5fb(0x1b3)]();},this['show']=function(){var _0x4156c1=_0xf35d;image(this['sprite'],this[_0x4156c1(0x16f)]['x']*scl,(this[_0x4156c1(0x16f)]['y']-0x20)*scl,0x20*scl,0x20*scl);},this[_0xf35d(0x18d)]=function(){var _0x1bde97=_0xf35d;let _0x21027b=Math['floor'](this[_0x1bde97(0x16f)]['x']),_0x2278cb=Math[_0x1bde97(0x1b1)](this[_0x1bde97(0x16f)]['y']);if(_0x2278cb+0x1>=rows)placed=!![];else for(let _0xdee824=0x0;_0xdee824<0x4;_0xdee824++){let _0x5a682d=_0xdee824*0x2,_0x566852=blockType[this[_0x1bde97(0x1ca)]][this[_0x1bde97(0x1ac)]][_0x5a682d],_0x224794=blockType[this[_0x1bde97(0x1ca)]][this[_0x1bde97(0x1ac)]][_0x5a682d+0x1],_0x596568=int(_0x21027b+_0x566852*0x8),_0x44627e=int(_0x2278cb-_0x224794*0x8);if(_0x44627e<=0x0)continue;for(let _0x57d6b3=0x0;_0x57d6b3<0x8;_0x57d6b3++){grid[_0x44627e+0x1][_0x596568+_0x57d6b3]!=null&&(grid[_0x44627e][_0x596568+_0x57d6b3]&&(this['pos']['y']-=0x1),placed=!![]);}}if(placed){this[_0x1bde97(0x16f)]['y']-0x8*(blockHeight[this[_0x1bde97(0x1ca)]][this[_0x1bde97(0x1ac)]]+0x1)<0x0&&(gameOver=!![],gameOverScore(),gameoverScreen[_0x1bde97(0x1d9)]=!![]);AddBlock(grid,_0x21027b,min(_0x2278cb,rows-0x1),blockType[this[_0x1bde97(0x1ca)]][this[_0x1bde97(0x1ac)]],this[_0x1bde97(0x160)],this[_0x1bde97(0x1a1)]),placeSound[_0x1bde97(0x155)]();return;}this[_0x1bde97(0x16f)]['y']+=this[_0x1bde97(0x166)];},this[_0xf35d(0x18a)]=function(){var _0xc79c58=_0xf35d;this[_0xc79c58(0x1ac)]=(this[_0xc79c58(0x1ac)]+0x1)%0x4,this[_0xc79c58(0x15a)](),this[_0xc79c58(0x1d2)]=createImage(0x20,0x20),AddBlock(this[_0xc79c58(0x1c9)],0x0,0x1f,blockType[this['type']][this[_0xc79c58(0x1ac)]],this[_0xc79c58(0x160)],this[_0xc79c58(0x1a1)]),renderFromArray(this['grid'],this[_0xc79c58(0x1d2)]);let _0x427b1c=blockWidth[this[_0xc79c58(0x1ca)]][this[_0xc79c58(0x1ac)]]+0x1;this[_0xc79c58(0x16f)]['x']>columns-_0x427b1c*0x8&&(this['pos']['x']=columns-_0x427b1c*0x8);},this[_0xf35d(0x1c1)]=function(){var _0x3e7dcf=_0xf35d;let _0xf7e439=0x1;(keyIsDown(0x10)||keyIsDown(0x11)||btnControls[_0x3e7dcf(0x161)]===!![])&&(_0xf7e439=0x2);keyIsDown(UP_ARROW)||btnControls[_0x3e7dcf(0x18a)]===!![]?this[_0x3e7dcf(0x16a)]&&(this['rotate'](),this[_0x3e7dcf(0x16a)]=![]):this['rotReset']=!![];(keyIsDown(LEFT_ARROW)||btnControls['left']===!![])&&(this['pos']['x']-=_0xf7e439,this[_0x3e7dcf(0x16f)]['x']<0x0&&(this[_0x3e7dcf(0x16f)]['x']=0x0));if(keyIsDown(RIGHT_ARROW)||btnControls['right']===!![]){this[_0x3e7dcf(0x16f)]['x']+=_0xf7e439;let _0x5e0aa3=blockWidth[this[_0x3e7dcf(0x1ca)]][this[_0x3e7dcf(0x1ac)]]+0x1;this[_0x3e7dcf(0x16f)]['x']>columns-_0x5e0aa3*0x8&&(this['pos']['x']=columns-_0x5e0aa3*0x8);}(keyIsDown(DOWN_ARROW)||btnControls[_0x3e7dcf(0x184)]===!![])&&(this[_0x3e7dcf(0x16f)]['y']+=0x1,poopbutt+=0x1);};}function resetGame(){var _0x4adccf=_0x22cd58;scoreSubmitted=![];let _0x3e9b1b=document[_0x4adccf(0x1b4)](_0x4adccf(0x17f));_0x3e9b1b[_0x4adccf(0x183)]='',poopbutt=0x0,linesCleared=0x0,staticCount=0x0,t=0x0,lpfilter['freq'](0x2710),placed=![],buff=createImage(columns,rows),grid=[];for(let _0x222a7b=0x0;_0x222a7b<rows;_0x222a7b++){grid[_0x222a7b]=[];for(let _0x3f2233=0x0;_0x3f2233<columns;_0x3f2233++){grid[_0x222a7b]['push'](null);}}playerBlock=new Block(width/0x2-gameOffset,0x0),playerBlock[_0x4adccf(0x1d1)](),nextBlock=new Block(width/0x2-gameOffset,0x0),nextBlock['newBlock']();}function startGame(){var _0x1afbdb=_0x22cd58;resetGame(),paused=![],gameOver=![],startScreen[_0x1afbdb(0x1d9)]=![],gameMusic[_0x1afbdb(0x1cf)]();}function unpauseGame(){var _0x4bbf11=_0x22cd58;lpfilter[_0x4bbf11(0x1c5)](0x2710),paused=![],pauseScreen[_0x4bbf11(0x1d9)]=![];}function newGame(){var _0x44331f=_0x22cd58;pauseScreen[_0x44331f(0x1d9)]=![],gameoverScreen[_0x44331f(0x1d9)]=![],startScreen['open']=!![],gameMusic[_0x44331f(0x1cf)]();}function SFXvolume(_0x33cfc8){var _0x3379d0=_0x22cd58;let _0x1a7e9d=_0x33cfc8/0xa;placeSound['setVolume'](_0x1a7e9d/0x2),lineSound[_0x3379d0(0x197)](_0x1a7e9d/0x2),sfxSlider1[_0x3379d0(0x1b6)]=_0x33cfc8,sfxSlider2[_0x3379d0(0x1b6)]=_0x33cfc8;}function MUSvolume(_0x496050){var _0x123d35=_0x22cd58;let _0x457f1f=_0x496050/0xa;gameMusic[_0x123d35(0x197)](_0x457f1f/0x2),musSlider1[_0x123d35(0x1b6)]=_0x496050,musSlider2[_0x123d35(0x1b6)]=_0x496050;}function toggleAbout(){var _0xb1045e=_0x22cd58;aboutScreen[_0xb1045e(0x1d9)]=!aboutScreen[_0xb1045e(0x1d9)],startScreen[_0xb1045e(0x1d9)]=!startScreen[_0xb1045e(0x1d9)];}function gameOverScore(){var _0x50777e=_0x22cd58;gameoverText[_0x50777e(0x183)]='',gameoverText['innerHTML']+='SCORE:\x20'+poopbutt,gameoverText[_0x50777e(0x183)]+='\x20LINES:\x20'+linesCleared;}function shareText(){var _0x368606=_0x22cd58;let _0xfe62e9='',_0x46f3cb=difficulty[_0x368606(0x1a7)](),_0x2b14e6=linesCleared[_0x368606(0x1a7)](),_0x535d2e=poopbutt['toString']();_0xfe62e9+=_0x368606(0x19d)+_0x46f3cb+'\x20'[_0x368606(0x176)](0x6-_0x46f3cb[_0x368606(0x1d3)])+'|\x20',_0xfe62e9+=_0x368606(0x169)+_0x2b14e6+'\x20'['repeat'](0x6-_0x2b14e6[_0x368606(0x1d3)])+'\x0a',_0xfe62e9+=_0x368606(0x198)+_0x535d2e+'\x20'[_0x368606(0x176)](0x9-_0x535d2e[_0x368606(0x1d3)])+'|\x20',_0xfe62e9+=_0x368606(0x1a6)+timeText+'\x20'['repeat'](0x7-timeText[_0x368606(0x1d3)])+'\x0a',_0xfe62e9+=_0x368606(0x174),navigator[_0x368606(0x168)][_0x368606(0x157)](_0xfe62e9),alert(_0x368606(0x16e));}function setup(){var _0x473406=_0x22cd58;startScreen=document[_0x473406(0x1b4)](_0x473406(0x1c8)),pauseScreen=document['getElementById'](_0x473406(0x1cb)),gameoverScreen=document[_0x473406(0x1b4)](_0x473406(0x190)),aboutScreen=document[_0x473406(0x1b4)](_0x473406(0x162)),sfxSlider1=document[_0x473406(0x1b4)](_0x473406(0x1d6)),sfxSlider2=document[_0x473406(0x1b4)](_0x473406(0x1b8)),musSlider1=document[_0x473406(0x1b4)](_0x473406(0x15b)),musSlider2=document[_0x473406(0x1b4)](_0x473406(0x18b)),gameoverText=document[_0x473406(0x1b4)]('gameoverText'),loadLeaderboard(),gameRes=createVector(columns*scl,rows*scl),nextOffset=gameRes['x']+gameOffset,cnv=createCanvas(gameRes['x']+gameOffset*0xb,gameRes['y']),cnv['parent'](_0x473406(0x1ba)),textFont(pixelFont),frameRate(0x3c),noSmooth(),lpfilter=new p5['LowPass'](),lpfilter['freq'](0x2710),gameMusic[_0x473406(0x16c)](),gameMusic[_0x473406(0x173)](lpfilter),gameMusic[_0x473406(0x197)](0.5),SFXvolume(0x1),MUSvolume(0x1),resetGame(),console[_0x473406(0x194)](_0x473406(0x19f));}function AddBlock(_0x1d2fce,_0x3b96ca,_0xdedac,_0x2a7399,_0x356f16,_0x223b87){for(let _0x1f5d49=0x0;_0x1f5d49<0x4;_0x1f5d49++){AddSingleBrick(_0x1d2fce,_0x3b96ca+_0x2a7399[_0x1f5d49*0x2]*0x8,_0xdedac-_0x2a7399[_0x1f5d49*0x2+0x1]*0x8,_0x356f16,_0x223b87);}}function AddSingleBrick(_0x37fadb,_0x589f28,_0x27da01,_0x234e9b,_0x5a8549){let _0x234263=brick;_0x5a8549&&(_0x234263=staticbrick);for(let _0x11e7b7=0x0;_0x11e7b7<0x8;_0x11e7b7++){for(let _0xc7639e=0x0;_0xc7639e<0x8;_0xc7639e++){if(_0x27da01-_0x11e7b7<0x0)continue;let _0x560b10=HSVtoRGB(cols[_0x234e9b]/0x168,0.9-_0x5a8549/0x3,map(_0x234263[_0x11e7b7][_0xc7639e],0x0,0x2,0.6,0x1));_0x37fadb[_0x27da01-_0x11e7b7][_0x589f28+_0xc7639e]=[_0x234e9b,_0x560b10['r'],_0x560b10['g'],_0x560b10['b'],0x0,_0x5a8549];}}}function renderFromArray(_0x11b33a,_0x158c70){var _0x1b0e6f=_0x22cd58;let _0xa4e96d=_0x11b33a[_0x1b0e6f(0x1d3)],_0x20e288=_0x11b33a[0x0][_0x1b0e6f(0x1d3)];_0x158c70[_0x1b0e6f(0x18e)]();for(let _0xde07d=0x0;_0xde07d<_0xa4e96d;_0xde07d++){for(let _0x14a522=0x0;_0x14a522<_0x20e288;_0x14a522++){let _0x35b9d4=(_0xde07d*_0x20e288+_0x14a522)*0x4;if(_0x11b33a[_0xde07d][_0x14a522]==null){_0x158c70[_0x1b0e6f(0x1a0)][_0x35b9d4]=0x0,_0x158c70[_0x1b0e6f(0x1a0)][_0x35b9d4+0x1]=0x0,_0x158c70[_0x1b0e6f(0x1a0)][_0x35b9d4+0x2]=0x0,_0x158c70['pixels'][_0x35b9d4+0x3]=0x0;continue;}_0x158c70[_0x1b0e6f(0x1a0)][_0x35b9d4]=_0x11b33a[_0xde07d][_0x14a522][0x1],_0x158c70['pixels'][_0x35b9d4+0x1]=_0x11b33a[_0xde07d][_0x14a522][0x2],_0x158c70[_0x1b0e6f(0x1a0)][_0x35b9d4+0x2]=_0x11b33a[_0xde07d][_0x14a522][0x3],_0x158c70[_0x1b0e6f(0x1a0)][_0x35b9d4+0x3]=0xff;}}_0x158c70[_0x1b0e6f(0x18f)]();}function updateLogic(_0x1680ad,_0x2d6ef6){if(grid[_0x2d6ef6][_0x1680ad]==null)return;grid[_0x2d6ef6][_0x1680ad][0x4]=0x0;if(_0x2d6ef6>=rows-0x1)return;if(grid[_0x2d6ef6+0x1][_0x1680ad]==null){grid[_0x2d6ef6+0x1][_0x1680ad]=grid[_0x2d6ef6][_0x1680ad],grid[_0x2d6ef6][_0x1680ad]=null;return;}if(grid[_0x2d6ef6][_0x1680ad][0x5])return;let _0x283ea8=_0x1680ad>0x0&&grid[_0x2d6ef6+0x1][_0x1680ad-0x1]==null,_0x2337b5=_0x1680ad<columns-0x1&&grid[_0x2d6ef6+0x1][_0x1680ad+0x1]==null;if(_0x283ea8&&_0x2337b5){if(random()<0.5){grid[_0x2d6ef6+0x1][_0x1680ad-0x1]=grid[_0x2d6ef6][_0x1680ad],grid[_0x2d6ef6][_0x1680ad]=null;return;}grid[_0x2d6ef6+0x1][_0x1680ad+0x1]=grid[_0x2d6ef6][_0x1680ad],grid[_0x2d6ef6][_0x1680ad]=null;return;}if(_0x283ea8){grid[_0x2d6ef6+0x1][_0x1680ad-0x1]=grid[_0x2d6ef6][_0x1680ad],grid[_0x2d6ef6][_0x1680ad]=null;return;}if(_0x2337b5){grid[_0x2d6ef6+0x1][_0x1680ad+0x1]=grid[_0x2d6ef6][_0x1680ad],grid[_0x2d6ef6][_0x1680ad]=null;return;}}function updateGrid(){if(t%0x4==0x0){for(let _0x3cbdb=rows-0x1;_0x3cbdb>=0x0;_0x3cbdb--){for(let _0x193425=0x0;_0x193425<columns;_0x193425++){updateLogic(_0x193425,_0x3cbdb);}}return;}if(t%0x4==0x2)for(let _0x35348e=rows-0x1;_0x35348e>=0x0;_0x35348e--){for(let _0x5bebc2=columns-0x1;_0x5bebc2>=0x0;_0x5bebc2--){updateLogic(_0x5bebc2,_0x35348e);}}}function checkLine(){vis=[];for(let _0x265cae=0x0;_0x265cae<rows;_0x265cae++){vis=[],fullLine=![];if(grid[_0x265cae][0x0]==null||grid[_0x265cae][0x0][0x4]==0x1)continue;floodFill(0x0,_0x265cae,grid[_0x265cae][0x0][0x0]);if(!fullLine)continue;return;}}function floodFill(_0x10f679,_0x3966c8,_0x55d456){var _0x39c85d=_0x22cd58;if(_0x10f679<0x0||_0x10f679>=columns||_0x3966c8<0x0||_0x3966c8>=rows||grid[_0x3966c8][_0x10f679]==null||grid[_0x3966c8][_0x10f679][0x4]==0x1||grid[_0x3966c8][_0x10f679][0x0]!=_0x55d456)return;_0x10f679==columns-0x1&&(fullLine=!![]),grid[_0x3966c8][_0x10f679][0x4]=0x1,vis[_0x39c85d(0x1a3)]([_0x10f679,_0x3966c8]),floodFill(_0x10f679+0x1,_0x3966c8,_0x55d456),floodFill(_0x10f679-0x1,_0x3966c8,_0x55d456),floodFill(_0x10f679,_0x3966c8+0x1,_0x55d456),floodFill(_0x10f679,_0x3966c8-0x1,_0x55d456);}function setLineColor(_0x5aa98b){let _0x4afd55=0xff;_0x5aa98b%0xa<0x5&&(_0x4afd55=0x0);for(let _0xe6f106 of vis){grid[_0xe6f106[0x1]][_0xe6f106[0x0]][0x1]=_0x4afd55,grid[_0xe6f106[0x1]][_0xe6f106[0x0]][0x2]=_0x4afd55,grid[_0xe6f106[0x1]][_0xe6f106[0x0]][0x3]=_0x4afd55;}}function deleteLine(_0x48f9ac){var _0x119746=_0x22cd58;for(let _0x48f196 of vis){grid[_0x48f196[0x1]][_0x48f196[0x0]]=null;}poopbutt+=vis[_0x119746(0x1d3)],vis=[];}function UI(){var _0x360fc0=_0x22cd58;renderFromArray(grid,buff),noStroke(),background(gameBG[0x0],gameBG[0x1],gameBG[0x2]),fill(gridBG[0x0],gridBG[0x1],gridBG[0x2]),rect(0x0,0x0,columns*scl,rows*scl),image(buff,0x0,0x0,columns*scl,rows*scl);!gameOver&&!placed&&playerBlock[_0x360fc0(0x1bb)]();fill(gridBG[0x0],gridBG[0x1],gridBG[0x2]),rect(nextOffset,gameOffset*0x2,gameOffset*0xa,gameOffset*0xa),image(nextBlock[_0x360fc0(0x1d2)],nextOffset+(0x5-(blockWidth[nextBlock['type']][0x0]+0x1))*gameOffset,(0x5-(0x6-blockHeight[nextBlock[_0x360fc0(0x1ca)]][0x0])+0x1)*gameOffset,0x20*scl,0x20*scl);let _0x3b68cc=Math[_0x360fc0(0x1b1)](t/0xe10),_0x5dcccf=Math[_0x360fc0(0x1b1)](t/0x3c)%0x3c;_0x3b68cc<0xa&&(_0x3b68cc='0'+_0x3b68cc),_0x5dcccf<0xa&&(_0x5dcccf='0'+_0x5dcccf),timeText=_0x3b68cc+':'+_0x5dcccf,fill(0xe6)[_0x360fc0(0x1a8)](0x0)['strokeWeight'](0x8)[_0x360fc0(0x1a5)](0x20),text(timeText,nextOffset-0x2,gameOffset*0x10),text(_0x360fc0(0x15c),nextOffset-0x2,gameOffset*0x13),text(linesCleared,nextOffset-0x2,gameOffset*0x15),text(_0x360fc0(0x1c2),nextOffset-0x2,gameOffset*0x18),text(poopbutt,nextOffset-0x2,gameOffset*0x1a),text(_0x360fc0(0x188),nextOffset-0x2,gameOffset*0x1d),text(difficulty,nextOffset-0x2,gameOffset*0x1f);}function keyPressed(){var _0x7a3135=_0x22cd58;if(keyCode===0x50){if(gameOver)return;paused?lpfilter[_0x7a3135(0x1c5)](0x2710):lpfilter[_0x7a3135(0x1c5)](0xc8),paused=!paused,pauseScreen[_0x7a3135(0x1d9)]=!pauseScreen[_0x7a3135(0x1d9)];}}function GameLogic(){var _0x427768=_0x22cd58;if(paused)return;if(gameOver){gameMusic[_0x427768(0x1cf)]();return;}if(fullLine){cleartime==0x0&&(linesCleared+=0x1,lineSound[_0x427768(0x155)]());cleartime+=0x1,setLineColor(cleartime);cleartime>0x1e&&(deleteLine(),cleartime=0x0,fullLine=![]);return;}placed&&(!gameMusic[_0x427768(0x1c3)]()&&gameMusic[_0x427768(0x1bc)](),playerBlock=nextBlock,nextBlock=new Block(width/0x2,0x0),nextBlock[_0x427768(0x1d1)](),playerBlock[_0x427768(0x160)]==nextBlock[_0x427768(0x160)]&&(random()<dupChance&&(nextBlock[_0x427768(0x160)]=(nextBlock[_0x427768(0x160)]+0x1)%0x4,nextBlock[_0x427768(0x1b3)]())),placed=![]),difficulty=Math[_0x427768(0x1be)](Math['floor'](linesCleared/0xa),0x9)+0x1,vel=0.5+difficulty*0.1,dupChance=0.5+difficulty*0.02,updateGrid(),playerBlock[_0x427768(0x18d)](),playerBlock[_0x427768(0x1c1)](),checkLine(),t+=0x1;}function draw(){UI(),GameLogic();}