1 line
No EOL
19 KiB
JavaScript
1 line
No EOL
19 KiB
JavaScript
var _0x5b5d9f=_0x2ddf;(function(_0x8f4bfd,_0x5caa96){var _0x1e4ea7=_0x2ddf,_0x1bc82d=_0x8f4bfd();while(!![]){try{var _0xfe408c=parseInt(_0x1e4ea7(0x1a4))/0x1*(parseInt(_0x1e4ea7(0x1b6))/0x2)+-parseInt(_0x1e4ea7(0x1ab))/0x3+-parseInt(_0x1e4ea7(0x1b3))/0x4+parseInt(_0x1e4ea7(0x18b))/0x5+parseInt(_0x1e4ea7(0x195))/0x6*(parseInt(_0x1e4ea7(0x1cb))/0x7)+parseInt(_0x1e4ea7(0x1b8))/0x8+-parseInt(_0x1e4ea7(0x1a3))/0x9;if(_0xfe408c===_0x5caa96)break;else _0x1bc82d['push'](_0x1bc82d['shift']());}catch(_0x5204a2){_0x1bc82d['push'](_0x1bc82d['shift']());}}}(_0x457c,0xe8e7d));function HSVtoRGB(_0x1dd6da,_0x492c39,_0x47b8ee){var _0x366c4d=_0x2ddf,_0x2c4953,_0x2be2fe,_0x50f4be,_0x16f928,_0x369737,_0x247d51,_0x59dd75,_0x42a48a;arguments['length']===0x1&&(_0x492c39=_0x1dd6da['s'],_0x47b8ee=_0x1dd6da['v'],_0x1dd6da=_0x1dd6da['h']);_0x16f928=Math[_0x366c4d(0x18f)](_0x1dd6da*0x6),_0x369737=_0x1dd6da*0x6-_0x16f928,_0x247d51=_0x47b8ee*(0x1-_0x492c39),_0x59dd75=_0x47b8ee*(0x1-_0x369737*_0x492c39),_0x42a48a=_0x47b8ee*(0x1-(0x1-_0x369737)*_0x492c39);switch(_0x16f928%0x6){case 0x0:_0x2c4953=_0x47b8ee,_0x2be2fe=_0x42a48a,_0x50f4be=_0x247d51;break;case 0x1:_0x2c4953=_0x59dd75,_0x2be2fe=_0x47b8ee,_0x50f4be=_0x247d51;break;case 0x2:_0x2c4953=_0x247d51,_0x2be2fe=_0x47b8ee,_0x50f4be=_0x42a48a;break;case 0x3:_0x2c4953=_0x247d51,_0x2be2fe=_0x59dd75,_0x50f4be=_0x47b8ee;break;case 0x4:_0x2c4953=_0x42a48a,_0x2be2fe=_0x247d51,_0x50f4be=_0x47b8ee;break;case 0x5:_0x2c4953=_0x47b8ee,_0x2be2fe=_0x247d51,_0x50f4be=_0x59dd75;break;}return{'r':Math[_0x366c4d(0x19d)](_0x2c4953*0xff),'g':Math[_0x366c4d(0x19d)](_0x2be2fe*0xff),'b':Math[_0x366c4d(0x19d)](_0x50f4be*0xff)};}var gridBG=[0x18,0x15,0x11],gameBG=[0x44,0x3c,0x33],grid=[],scl=0x4,padding=0x4,columns=0x50,rows=0xa0,buff,t=0x0,playerBlock,nextBlock,vis,fullLine,cleartime=0x0,placed=![],staticCount=0x0,linesCleared=0x0,score=0x0,gameOffset=0x4*scl,nextOffset,gameRes,placeSound,lineSound,gameMusic,pixelFont,gameOver=!![],paused=!![],startScreen,pauseScreen,aboutScreen,gameoverScreen,gameoverText,timeText=_0x5b5d9f(0x18a),levelSlider,levelText,difficulty=0x1,sfxSlider1,sfxSlider2,musSlider1,musSlider2,filter,speed=0.5,staticChance=0x8,dupChance=0.5,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 _0xdb31c8=_0x5b5d9f;soundFormats(_0xdb31c8(0x1c8),_0xdb31c8(0x19a)),placeSound=loadSound(_0xdb31c8(0x1c9)),lineSound=loadSound(_0xdb31c8(0x1aa)),gameMusic=loadSound(_0xdb31c8(0x18e)),pixelFont=loadFont('fonts/retroFont.ttf');}function swiped(_0x4cc387){}function Block(_0x5745fc,_0x33aa98){var _0x958f9=_0x5b5d9f;this[_0x958f9(0x18c)]=createVector(0x0,0x0),this[_0x958f9(0x1c1)]=speed,this['sprite']=null,this['grid']=[],this[_0x958f9(0x196)]=0x0,this[_0x958f9(0x1ac)]=0x0,this['static']=![],this[_0x958f9(0x190)]=0x0,this[_0x958f9(0x1c7)]=!![],this[_0x958f9(0x1be)]=function(){var _0x935cc4=_0x958f9;this[_0x935cc4(0x1a9)]=[];for(let _0xaaf92=0x0;_0xaaf92<0x20;_0xaaf92++){this[_0x935cc4(0x1a9)]['push'](new Array(0x20)[_0x935cc4(0x189)](null));}},this[_0x958f9(0x1b0)]=function(){var _0x2f0cbf=_0x958f9;this['clearGrid'](),AddBlock(this[_0x2f0cbf(0x1a9)],0x0,0x1f,blockType[this[_0x2f0cbf(0x196)]][this[_0x2f0cbf(0x190)]],this[_0x2f0cbf(0x1ac)],this['static']),renderFromArray(this[_0x2f0cbf(0x1a9)],this['sprite']);},this[_0x958f9(0x1c2)]=function(){var _0x597714=_0x958f9;this[_0x597714(0x1af)]=![],this[_0x597714(0x1a7)]=createImage(0x20,0x20),this[_0x597714(0x196)]=int(random(blockType[_0x597714(0x1c0)])),this[_0x597714(0x1ac)]=int(random(0x4)),this[_0x597714(0x18c)]=createVector(int(columns/0x2-(blockWidth[this[_0x597714(0x196)]][0x0]+0x1)),0x0),staticCount+=0x1,staticCount==staticChance&&(this[_0x597714(0x1af)]=!![],staticCount=0x0),this[_0x597714(0x1b0)]();},this[_0x958f9(0x1bd)]=function(){var _0x25c795=_0x958f9;image(this['sprite'],this[_0x25c795(0x18c)]['x']*scl+gameOffset,(this[_0x25c795(0x18c)]['y']-0x20)*scl,0x20*scl,0x20*scl);},this[_0x958f9(0x184)]=function(){var _0x1e4ff4=_0x958f9;let _0x539f5e=Math[_0x1e4ff4(0x18f)](this[_0x1e4ff4(0x18c)]['x']),_0x17a282=Math['floor'](this['pos']['y']);if(_0x17a282+0x1>=rows)placed=!![];else for(let _0x2f250a=0x0;_0x2f250a<0x4;_0x2f250a++){let _0x487b10=_0x2f250a*0x2,_0x400e6a=blockType[this[_0x1e4ff4(0x196)]][this[_0x1e4ff4(0x190)]][_0x487b10],_0x107380=blockType[this[_0x1e4ff4(0x196)]][this[_0x1e4ff4(0x190)]][_0x487b10+0x1],_0x5cbf87=int(_0x539f5e+_0x400e6a*0x8),_0x4f19d9=int(_0x17a282-_0x107380*0x8);if(_0x4f19d9<=0x0)continue;for(let _0x40cdde=0x0;_0x40cdde<0x8;_0x40cdde++){grid[_0x4f19d9+0x1][_0x5cbf87+_0x40cdde]!=null&&(grid[_0x4f19d9][_0x5cbf87+_0x40cdde]&&(this[_0x1e4ff4(0x18c)]['y']-=0x1),placed=!![]);}}if(placed){this[_0x1e4ff4(0x18c)]['y']-0x8*(blockHeight[this[_0x1e4ff4(0x196)]][this[_0x1e4ff4(0x190)]]+0x1)<0x0&&(gameOver=!![],gameOverScore(),gameoverScreen[_0x1e4ff4(0x194)]=!![]);AddBlock(grid,_0x539f5e,min(_0x17a282,rows-0x1),blockType[this[_0x1e4ff4(0x196)]][this[_0x1e4ff4(0x190)]],this[_0x1e4ff4(0x1ac)],this['static']),placeSound['play']();return;}this[_0x1e4ff4(0x18c)]['y']+=this['grav'];},this[_0x958f9(0x1bb)]=function(){var _0x1325ab=_0x958f9;this['rot']=(this[_0x1325ab(0x190)]+0x1)%0x4,this[_0x1325ab(0x1be)](),this[_0x1325ab(0x1a7)]=createImage(0x20,0x20),AddBlock(this[_0x1325ab(0x1a9)],0x0,0x1f,blockType[this[_0x1325ab(0x196)]][this[_0x1325ab(0x190)]],this['col'],this[_0x1325ab(0x1af)]),renderFromArray(this[_0x1325ab(0x1a9)],this[_0x1325ab(0x1a7)]);let _0x1052b3=blockWidth[this[_0x1325ab(0x196)]][this[_0x1325ab(0x190)]]+0x1;this[_0x1325ab(0x18c)]['x']>columns-_0x1052b3*0x8&&(this[_0x1325ab(0x18c)]['x']=columns-_0x1052b3*0x8);},this['controls']=function(_0x2b3f9c=-0x1){var _0x382557=_0x958f9;keyIsDown(UP_ARROW)||_0x2b3f9c==0x8?this[_0x382557(0x1c7)]&&(this['rotate'](),this['rotReset']=![]):this[_0x382557(0x1c7)]=!![];(keyIsDown(LEFT_ARROW)||_0x2b3f9c==0x2)&&(this[_0x382557(0x18c)]['x']-=0x1,this['pos']['x']<0x0&&(this['pos']['x']=0x0));if(keyIsDown(RIGHT_ARROW)||_0x2b3f9c==0x4){this[_0x382557(0x18c)]['x']+=0x1;let _0x1fdaca=blockWidth[this[_0x382557(0x196)]][this['rot']]+0x1;this[_0x382557(0x18c)]['x']>columns-_0x1fdaca*0x8&&(this['pos']['x']=columns-_0x1fdaca*0x8);}(keyIsDown(DOWN_ARROW)||_0x2b3f9c==0x10)&&(this[_0x382557(0x18c)]['y']+=0x1,score+=0x1);};}function resetGame(){var _0x22751c=_0x5b5d9f;score=0x0,linesCleared=0x0,staticCount=0x0,t=0x0,filter[_0x22751c(0x1b1)](0x2710),placed=![],buff=createImage(columns,rows),grid=[];for(let _0x570282=0x0;_0x570282<rows;_0x570282++){grid[_0x570282]=[];for(let _0x1d29ee=0x0;_0x1d29ee<columns;_0x1d29ee++){grid[_0x570282][_0x22751c(0x18d)](null);}}playerBlock=new Block(width/0x2-gameOffset,0x0),playerBlock[_0x22751c(0x1c2)](),nextBlock=new Block(width/0x2-gameOffset,0x0),nextBlock[_0x22751c(0x1c2)]();}function startGame(){var _0x1a1063=_0x5b5d9f;resetGame(),paused=![],gameOver=![],startScreen[_0x1a1063(0x194)]=![],gameMusic[_0x1a1063(0x1ca)]();}function _0x457c(){var _0x5bed3f=['clearGrid','connect','length','grav','newBlock','parent','LINES:\x20','setVolume','LEVEL:\x20','rotReset','mp3','sounds/place','stop','9767233gWkgmC','pixels','SCORE:\x20','sfx1Slider','startpage','clipboard','update','set','get','cnv','isPlaying','fill','00:00','9516045lXxKuR','pos','push','sounds/music','floor','rot','strokeWeight','repeat','play','open','6aitTOr','type','body','<br/>LINES:<br/>','disconnect','ogg','LowPass','gameoverpage','round','loop','getElementById','innerHTML','toString','lvlSlider','9834534vLqeOJ','343bEZXyG','Share\x20Text\x20Copied\x20to\x20Clipboard!','aboutpage','sprite','loadPixels','grid','sounds/line','5377149DFrBTM','col','LEVEL:','mus1Slider','static','renderBlock','freq','Deleting','728228KEiWnX','TIME:\x20','Play\x20now\x20at\x20https://sandtris.com/','1634PYTvVu','value','3539104JlWmAb','LINE\x20AT\x20','log','rotate','swipe','show'];_0x457c=function(){return _0x5bed3f;};return _0x457c();}function unpauseGame(){var _0x6be267=_0x5b5d9f;filter[_0x6be267(0x1b1)](0x2710),paused=![],pauseScreen[_0x6be267(0x194)]=![];}function newGame(){var _0x2b75e7=_0x5b5d9f;pauseScreen[_0x2b75e7(0x194)]=![],gameoverScreen[_0x2b75e7(0x194)]=![],startScreen[_0x2b75e7(0x194)]=!![],gameMusic[_0x2b75e7(0x1ca)]();}function SFXvolume(_0x2db540){var _0x101ee0=_0x5b5d9f;let _0x496c81=_0x2db540/0xa;placeSound[_0x101ee0(0x1c5)](_0x496c81/0x2),lineSound[_0x101ee0(0x1c5)](_0x496c81/0x2),sfxSlider1[_0x101ee0(0x1b7)]=_0x2db540,sfxSlider2[_0x101ee0(0x1b7)]=_0x2db540;}function MUSvolume(_0x33e8b6){var _0x1c3ec9=_0x5b5d9f;let _0x2569fa=_0x33e8b6/0xa;gameMusic[_0x1c3ec9(0x1c5)](_0x2569fa/0x2),musSlider1[_0x1c3ec9(0x1b7)]=_0x33e8b6,musSlider2[_0x1c3ec9(0x1b7)]=_0x33e8b6;}function toggleAbout(){aboutScreen['open']=!aboutScreen['open'],startScreen['open']=!startScreen['open'];}function adjustDifficulty(){var _0x528048=_0x5b5d9f;difficulty=levelSlider[_0x528048(0x1b7)],speed=0.5+map(difficulty,0x1,0xa,0x0,0x3)/0x2,staticChance=Math['floor'](map(difficulty,0x1,0xa,0x10,0x4)),dupChance=map(difficulty,0x0,0x1,0x1,0.1);}function gameOverScore(){var _0x15c6c8=_0x5b5d9f;gameoverText[_0x15c6c8(0x1a0)]='',gameoverText[_0x15c6c8(0x1a0)]+='SCORE:<br/>'+score,gameoverText[_0x15c6c8(0x1a0)]+=_0x15c6c8(0x198)+linesCleared;}function shareText(){var _0x27f7a1=_0x5b5d9f;let _0x5b78ff='',_0x2e1d26=difficulty['toString'](),_0x2d704a=linesCleared[_0x27f7a1(0x1a1)](),_0x55c3c0=score['toString']();_0x5b78ff+=_0x27f7a1(0x1c6)+_0x2e1d26+'\x20'[_0x27f7a1(0x192)](0x6-_0x2e1d26[_0x27f7a1(0x1c0)])+'|\x20',_0x5b78ff+=_0x27f7a1(0x1c4)+_0x2d704a+'\x20'[_0x27f7a1(0x192)](0x6-_0x2d704a[_0x27f7a1(0x1c0)])+'\x0a',_0x5b78ff+=_0x27f7a1(0x180)+_0x55c3c0+'\x20'[_0x27f7a1(0x192)](0x9-_0x55c3c0[_0x27f7a1(0x1c0)])+'|\x20',_0x5b78ff+=_0x27f7a1(0x1b4)+timeText+'\x20'[_0x27f7a1(0x192)](0x7-timeText['length'])+'\x0a',_0x5b78ff+=_0x27f7a1(0x1b5),navigator[_0x27f7a1(0x183)]['writeText'](_0x5b78ff),alert(_0x27f7a1(0x1a5));}function setup(){var _0x2c4861=_0x5b5d9f;startScreen=document[_0x2c4861(0x19f)](_0x2c4861(0x182)),pauseScreen=document[_0x2c4861(0x19f)]('pausepage'),gameoverScreen=document[_0x2c4861(0x19f)](_0x2c4861(0x19c)),aboutScreen=document[_0x2c4861(0x19f)](_0x2c4861(0x1a6)),levelSlider=document['getElementById'](_0x2c4861(0x1a2)),levelSlider[_0x2c4861(0x1b7)]=0x1,levelText=document[_0x2c4861(0x19f)]('levelText'),sfxSlider1=document[_0x2c4861(0x19f)](_0x2c4861(0x181)),sfxSlider2=document[_0x2c4861(0x19f)]('sfx2Slider'),sfxSlider1[_0x2c4861(0x1b7)]=0xa,sfxSlider2['value']=0xa,musSlider1=document[_0x2c4861(0x19f)](_0x2c4861(0x1ae)),musSlider2=document['getElementById']('mus2Slider'),musSlider1[_0x2c4861(0x1b7)]=0xa,musSlider2['value']=0xa,gameoverText=document[_0x2c4861(0x19f)]('gameoverText'),gameRes=createVector(columns*scl,rows*scl),nextOffset=gameRes['x']+gameOffset*0x4,cnv=createCanvas(gameRes['x']+gameOffset*0x11,gameRes['y']),cnv[_0x2c4861(0x1c3)](_0x2c4861(0x187)),textFont(pixelFont),frameRate(0x3c),noSmooth(),filter=new p5[(_0x2c4861(0x19b))](),filter[_0x2c4861(0x1b1)](0x2710),gameMusic[_0x2c4861(0x199)](),gameMusic[_0x2c4861(0x1bf)](filter),gameMusic[_0x2c4861(0x1c5)](0.5);var _0x18d1a9={'preventDefault':!![]},_0x1ba574=new Hammer(document[_0x2c4861(0x197)],_0x18d1a9);_0x1ba574[_0x2c4861(0x186)](_0x2c4861(0x1bc))[_0x2c4861(0x185)]({'direction':Hammer['DIRECTION_ALL']}),_0x1ba574['on']('swipe',swiped),resetGame();}function AddBlock(_0x20b2d7,_0x101913,_0x2112e4,_0x267150,_0x3d9eb6,_0x2c1f5a){for(let _0x14b0f2=0x0;_0x14b0f2<0x4;_0x14b0f2++){AddSingleBrick(_0x20b2d7,_0x101913+_0x267150[_0x14b0f2*0x2]*0x8,_0x2112e4-_0x267150[_0x14b0f2*0x2+0x1]*0x8,_0x3d9eb6,_0x2c1f5a);}}function AddSingleBrick(_0x3cc19a,_0x2df6cb,_0x3e974a,_0x23c9fd,_0x45f4db){var _0x12c333=_0x5b5d9f;let _0x183967=brick;_0x45f4db&&(_0x183967=staticbrick);console[_0x12c333(0x1ba)](_0x23c9fd);for(let _0x172fc7=0x0;_0x172fc7<0x8;_0x172fc7++){for(let _0x1aadfe=0x0;_0x1aadfe<0x8;_0x1aadfe++){if(_0x3e974a-_0x172fc7<0x0)continue;let _0x290336=HSVtoRGB(cols[_0x23c9fd]/0x168,0.9-_0x45f4db/0x3,map(_0x183967[_0x172fc7][_0x1aadfe],0x0,0x2,0.6,0x1));_0x3cc19a[_0x3e974a-_0x172fc7][_0x2df6cb+_0x1aadfe]=[_0x23c9fd,_0x290336['r'],_0x290336['g'],_0x290336['b'],0x0,_0x45f4db];}}}function renderFromArray(_0xe1e435,_0x1214b5){var _0x418002=_0x5b5d9f;let _0x5ced2b=_0xe1e435[_0x418002(0x1c0)],_0x162dbc=_0xe1e435[0x0][_0x418002(0x1c0)];_0x1214b5[_0x418002(0x1a8)]();for(let _0x3a483b=0x0;_0x3a483b<_0x5ced2b;_0x3a483b++){for(let _0x24f6b3=0x0;_0x24f6b3<_0x162dbc;_0x24f6b3++){let _0x6e3d51=(_0x3a483b*_0x162dbc+_0x24f6b3)*0x4;if(_0xe1e435[_0x3a483b][_0x24f6b3]==null){_0x1214b5[_0x418002(0x1cc)][_0x6e3d51]=0x0,_0x1214b5['pixels'][_0x6e3d51+0x1]=0x0,_0x1214b5[_0x418002(0x1cc)][_0x6e3d51+0x2]=0x0,_0x1214b5['pixels'][_0x6e3d51+0x3]=0x0;continue;}_0x1214b5[_0x418002(0x1cc)][_0x6e3d51]=_0xe1e435[_0x3a483b][_0x24f6b3][0x1],_0x1214b5['pixels'][_0x6e3d51+0x1]=_0xe1e435[_0x3a483b][_0x24f6b3][0x2],_0x1214b5[_0x418002(0x1cc)][_0x6e3d51+0x2]=_0xe1e435[_0x3a483b][_0x24f6b3][0x3],_0x1214b5[_0x418002(0x1cc)][_0x6e3d51+0x3]=0xff;}}_0x1214b5['updatePixels']();}function updateLogic(_0x2189c9,_0x17b7e6){if(grid[_0x17b7e6][_0x2189c9]==null)return;grid[_0x17b7e6][_0x2189c9][0x4]=0x0;if(_0x17b7e6>=rows-0x1)return;if(grid[_0x17b7e6+0x1][_0x2189c9]==null){grid[_0x17b7e6+0x1][_0x2189c9]=grid[_0x17b7e6][_0x2189c9],grid[_0x17b7e6][_0x2189c9]=null;return;}if(grid[_0x17b7e6][_0x2189c9][0x5])return;let _0x1b4457=_0x2189c9>0x0&&grid[_0x17b7e6+0x1][_0x2189c9-0x1]==null,_0xd1739c=_0x2189c9<columns-0x1&&grid[_0x17b7e6+0x1][_0x2189c9+0x1]==null;if(_0x1b4457&&_0xd1739c){if(random()<0.5){grid[_0x17b7e6+0x1][_0x2189c9-0x1]=grid[_0x17b7e6][_0x2189c9],grid[_0x17b7e6][_0x2189c9]=null;return;}grid[_0x17b7e6+0x1][_0x2189c9+0x1]=grid[_0x17b7e6][_0x2189c9],grid[_0x17b7e6][_0x2189c9]=null;return;}if(_0x1b4457){grid[_0x17b7e6+0x1][_0x2189c9-0x1]=grid[_0x17b7e6][_0x2189c9],grid[_0x17b7e6][_0x2189c9]=null;return;}if(_0xd1739c){grid[_0x17b7e6+0x1][_0x2189c9+0x1]=grid[_0x17b7e6][_0x2189c9],grid[_0x17b7e6][_0x2189c9]=null;return;}}function updateGrid(){if(t%0x4==0x0){for(let _0x3cf6ea=rows-0x1;_0x3cf6ea>=0x0;_0x3cf6ea--){for(let _0x5b0a77=0x0;_0x5b0a77<columns;_0x5b0a77++){updateLogic(_0x5b0a77,_0x3cf6ea);}}return;}if(t%0x4==0x2)for(let _0x13e00c=rows-0x1;_0x13e00c>=0x0;_0x13e00c--){for(let _0x4033e0=columns-0x1;_0x4033e0>=0x0;_0x4033e0--){updateLogic(_0x4033e0,_0x13e00c);}}}function checkLine(){var _0x350a4f=_0x5b5d9f;vis=[];for(let _0x36fe17=0x0;_0x36fe17<rows;_0x36fe17++){vis=[],fullLine=![];if(grid[_0x36fe17][0x0]==null||grid[_0x36fe17][0x0][0x4]==0x1)continue;floodFill(0x0,_0x36fe17,grid[_0x36fe17][0x0][0x0]);if(!fullLine)continue;console[_0x350a4f(0x1ba)](_0x350a4f(0x1b9),_0x36fe17);return;}}function floodFill(_0x21af48,_0x35c5c3,_0x38982b){var _0x228eb1=_0x5b5d9f;if(_0x21af48<0x0||_0x21af48>=columns||_0x35c5c3<0x0||_0x35c5c3>=rows||grid[_0x35c5c3][_0x21af48]==null||grid[_0x35c5c3][_0x21af48][0x4]==0x1||grid[_0x35c5c3][_0x21af48][0x0]!=_0x38982b)return;_0x21af48==columns-0x1&&(fullLine=!![]),grid[_0x35c5c3][_0x21af48][0x4]=0x1,vis[_0x228eb1(0x18d)]([_0x21af48,_0x35c5c3]),floodFill(_0x21af48+0x1,_0x35c5c3,_0x38982b),floodFill(_0x21af48-0x1,_0x35c5c3,_0x38982b),floodFill(_0x21af48,_0x35c5c3+0x1,_0x38982b),floodFill(_0x21af48,_0x35c5c3-0x1,_0x38982b);}function setLineColor(_0x4ff3aa){let _0x22a171=0xff;_0x4ff3aa%0xa<0x5&&(_0x22a171=0x0);for(let _0x51c0db of vis){grid[_0x51c0db[0x1]][_0x51c0db[0x0]][0x1]=_0x22a171,grid[_0x51c0db[0x1]][_0x51c0db[0x0]][0x2]=_0x22a171,grid[_0x51c0db[0x1]][_0x51c0db[0x0]][0x3]=_0x22a171;}}function deleteLine(_0x374a6f){var _0x339c83=_0x5b5d9f;for(let _0x375a7f of vis){grid[_0x375a7f[0x1]][_0x375a7f[0x0]]=null;}score+=vis[_0x339c83(0x1c0)],vis=[];}function _0x2ddf(_0x38dd44,_0x4a6892){var _0x457c7e=_0x457c();return _0x2ddf=function(_0x2ddf6c,_0x48c1bf){_0x2ddf6c=_0x2ddf6c-0x180;var _0x5dd9c2=_0x457c7e[_0x2ddf6c];return _0x5dd9c2;},_0x2ddf(_0x38dd44,_0x4a6892);}function UI(){var _0x415b40=_0x5b5d9f;renderFromArray(grid,buff),noStroke(),background(gameBG[0x0],gameBG[0x1],gameBG[0x2]),fill(gridBG[0x0],gridBG[0x1],gridBG[0x2]),rect(gameOffset,0x0,columns*scl,rows*scl),image(buff,gameOffset,0x0,columns*scl,rows*scl);!gameOver&&!placed&&playerBlock['show']();fill(gridBG[0x0],gridBG[0x1],gridBG[0x2]),rect(nextOffset,gameOffset*0x2,gameOffset*0xa,gameOffset*0xa),image(nextBlock['sprite'],nextOffset+(0x5-(blockWidth[nextBlock[_0x415b40(0x196)]][0x0]+0x1))*gameOffset,(0x5-(0x6-blockHeight[nextBlock['type']][0x0])+0x1)*gameOffset,0x20*scl,0x20*scl);let _0x294de0=Math[_0x415b40(0x18f)](t/0xe10),_0x243772=Math[_0x415b40(0x18f)](t/0x3c)%0x3c;_0x294de0<0xa&&(_0x294de0='0'+_0x294de0),_0x243772<0xa&&(_0x243772='0'+_0x243772),timeText=_0x294de0+':'+_0x243772,fill(0xe6)[_0x415b40(0x191)](0x1)['textSize'](0x20),text(timeText,nextOffset-0x2,gameOffset*0x10),text('LINES:',nextOffset-0x2,gameOffset*0x13),text(linesCleared,nextOffset-0x2,gameOffset*0x15),text('SCORE:',nextOffset-0x2,gameOffset*0x18),text(score,nextOffset-0x2,gameOffset*0x1a),text(_0x415b40(0x1ad),nextOffset-0x2,gameOffset*0x1d),text(difficulty,nextOffset-0x2,gameOffset*0x1f),levelText[_0x415b40(0x1a0)]=_0x415b40(0x1c6)+levelSlider[_0x415b40(0x1b7)];}function keyPressed(){var _0x28333b=_0x5b5d9f;if(keyCode===0x50){if(gameOver)return;paused?filter[_0x28333b(0x1b1)](0x2710):filter['freq'](0xc8),paused=!paused,pauseScreen['open']=!pauseScreen[_0x28333b(0x194)];}}function GameLogic(){var _0x8edfa2=_0x5b5d9f;if(paused)return;if(gameOver){gameMusic['stop']();return;}if(fullLine){cleartime==0x0&&(linesCleared+=0x1,lineSound[_0x8edfa2(0x193)]());cleartime+=0x1,setLineColor(cleartime);cleartime>0x1e&&(console['log'](_0x8edfa2(0x1b2)),deleteLine(),cleartime=0x0,fullLine=![]);return;}placed&&(!gameMusic[_0x8edfa2(0x188)]()&&gameMusic[_0x8edfa2(0x19e)](),playerBlock=nextBlock,nextBlock=new Block(width/0x2,0x0),nextBlock[_0x8edfa2(0x1c2)](),playerBlock['col']==nextBlock[_0x8edfa2(0x1ac)]&&(random()<dupChance&&(nextBlock[_0x8edfa2(0x1ac)]=(nextBlock[_0x8edfa2(0x1ac)]+0x1)%0x4,nextBlock[_0x8edfa2(0x1b0)]())),placed=![]),updateGrid(),playerBlock[_0x8edfa2(0x184)](),playerBlock['controls'](),checkLine(),t+=0x1;}function draw(){UI(),GameLogic();} |