home *** CD-ROM | disk | FTP | other *** search
Wrap
function §\x01\x02§() { return 2986; } var §\x01§ = -2521 + "\x01\x02"(); while(true) { if(eval("\x01") == 465) { set("\x01",eval("\x01") - 347); §§push(true); } else if(eval("\x01") == 220) { set("\x01",eval("\x01") + 117); §§push(eval(function §\x01\x02§() { return 2986; })); } else if(eval("\x01") == 876) { set("\x01",eval("\x01") - 201); var §§pop() = function §\x01\x02§() { return 2986; }; } else if(eval("\x01") == 575) { set("\x01",eval("\x01") + 301); §§push("\x0f"); §§push(1); } else if(eval("\x01") == 208) { set("\x01",eval("\x01") + 367); } else if(eval("\x01") == 842) { set("\x01",eval("\x01") - 796); } else if(eval("\x01") == 118) { set("\x01",eval("\x01") + 387); if(function §\x01\x02§() { return 2986; }) { set("\x01",eval("\x01") - 14); } } else if(eval("\x01") == 675) { set("\x01",eval("\x01") - 455); §§push("\x0f"); } else if(eval("\x01") == 491) { set("\x01",eval("\x01") + 84); } else if(eval("\x01") == 337) { set("\x01",eval("\x01") + 59); §§push(!function §\x01\x02§() { return 2986; }); } else { if(eval("\x01") == 46) { set("\x01",eval("\x01") + 136); startLevel = 1; startFall = function() { clearInterval(timeout); timeout = setInterval(down,speed); }; fastFall = function() { clearInterval(fasttime); fasttime = setInterval(down,10); }; stopFall = function() { clearInterval(timeout); clearInterval(fasttime); }; stopFall(); drawBlock = function(num, blockPos) { b_mc[blockPos].gotoAndStop(num + 1); }; huang_fun = function() { huang_mc.play(); }; addnum = 0; addBlock = function() { if(addnum > 0) { addnum--; huang_fun(); _root.man1.gotoAndPlay("lose"); var _loc4_ = 0; while(_loc4_ <= 17) { var _loc3_ = 0; while(_loc3_ < 10) { var _loc2_ = _loc4_ * 10 + _loc3_; if(_loc4_ == 17) { aab = random(2); if(aab == 1) { flag_array[_loc2_] = 5; } else { flag_array[_loc2_] = 0; } drawBlock(flag_array[_loc2_],_loc2_); } else { drawBlock(flag_array[_loc2_] = flag_array[_loc2_ + 10],_loc2_); } _loc3_ = _loc3_ + 1; } _loc4_ = _loc4_ + 1; } if(addnum > 0) { addBlock(); } } }; drawNextBlock = function(num, blockPos) { next_mc[blockPos].gotoAndStop(num + 1); }; drawThisShape = function() { if(moved) { var _loc1_ = 0; while(_loc1_ < 4) { drawBlock(0,block_array[_loc1_]); _loc1_ = _loc1_ + 1; } } else { moved = true; } _loc1_ = 0; while(_loc1_ < 4) { blockPos = shape_array[thisShape * 16 + rotation * 4 + _loc1_]; block_array[_loc1_] = (blockPos >> 2) * 6 + blockPos + xPos + yPos; drawBlock(thisShape + 1,block_array[_loc1_]); _loc1_ = _loc1_ + 1; } }; drawNextShape = function() { addBlock(); nextShape = int(Math.random() * 7); if(nextShape == 6) { next_mc._x = -166; } else if(nextShape == 0) { next_mc._x = -164; } else { next_mc._x = -158; } var _loc1_ = 0; while(_loc1_ < 11) { drawNextBlock(0,_loc1_); _loc1_ = _loc1_ + 1; } _loc1_ = 0; while(_loc1_ < 4) { drawNextBlock(nextShape + 1,shape_array[nextShape * 16 + _loc1_]); _loc1_ = _loc1_ + 1; } }; collision = function(x, y, rot) { var _loc1_ = 0; while(_loc1_ < 4) { blockPos = shape_array[thisShape * 16 + rot * 4 + _loc1_]; if(flag_array[(blockPos >> 2) * 6 + blockPos + x + y] != 0) { return true; } _loc1_ = _loc1_ + 1; } return false; }; left = function() { var _loc2_ = 0; while(_loc2_ < 4) { var _loc1_ = block_array[_loc2_] - yPos; while(_loc1_ >= 0) { if(_loc1_ == 0) { return undefined; } _loc1_ -= 10; } _loc2_ = _loc2_ + 1; } if(!collision(xPos - 1,yPos,rotation)) { xPos--; drawThisShape(); } }; right = function() { var _loc2_ = 0; while(_loc2_ < 4) { var _loc1_ = block_array[_loc2_] - yPos; while(_loc1_ >= 0) { if(_loc1_ == 9) { return undefined; } _loc1_ -= 10; } _loc2_ = _loc2_ + 1; } if(!collision(xPos + 1,yPos,rotation)) { xPos++; drawThisShape(); } }; rotate = function(clockwise) { testRot = rotation; if(clockwise) { testRot++; } else { testRot--; } if(testRot == 4) { testRot = 0; } else if(testRot == -1) { testRot = 3; } var _loc2_ = 0; while(_loc2_ < 4) { blockPos = shape_array[thisShape * 16 + testRot * 4 + _loc2_]; var _loc1_ = (blockPos >> 2) * 6 + blockPos + xPos; while(_loc1_ >= -1) { if(_loc1_ == -1 && xPos < 0 || _loc1_ == 0 && xPos > 6) { return undefined; } _loc1_ -= 10; } _loc2_ = _loc2_ + 1; } if((blockPos >> 2) * 6 + blockPos + xPos + yPos > 179) { return undefined; } if(!collision(xPos,yPos,testRot)) { rotation = testRot; drawThisShape(); sound_mc.gotoAndPlay("popHi"); } }; down = function() { if(gameOver || simult) { return undefined; } if(block_array[3] - xPos < 170 && !collision(xPos,yPos + 10,rotation)) { yPos += 10; drawThisShape(); } else { clearInterval(fasttime); var _loc3_ = 0; while(_loc3_ < 4) { flag_array[block_array[_loc3_]] = thisShape + 1; _loc3_ = _loc3_ + 1; } simult = 0; var _loc4_ = 0; while(_loc4_ < 180) { var _loc5_ = 0; while(_loc5_ < 10) { if(flag_array[_loc5_ + _loc4_] == 0) { break; } if(_loc5_ == 9) { stopFall(); _loc3_ = 0; while(_loc3_ < 10) { b_mc[_loc3_ + _loc4_].bang_mc.y = _loc4_; b_mc[_loc3_ + _loc4_].bang_mc.play(); _loc3_ = _loc3_ + 1; } simult++; _root.game1.addnum = _root.game1.addnum + 1; lines++; _root.p1lines += 100; _root.p1.nextFrame(); _root.man1.gotoAndPlay("win"); } _loc5_ = _loc5_ + 1; } _loc4_ += 10; } if(simult > 0) { sound_mc.gotoAndPlay("win"); switch(simult) { case 1: score += level * 40; break; case 2: score += level * 100; break; case 3: score += level * 300; break; case 4: score += level * 1200; } } scoreTxt = score; if(collision(xPos,yPos,rotation) && yPos == -10) { gameOver = true; stopFall(); _root.game1.stopFall(); _root.game2.stopFall(); quitGame_mc.gotoAndStop(2); quitGame_mc._visible = true; _root.pgameover = 1; Key.removeListener(this); _root.gotoAndStop("gameover2"); } else { level = int(lines / 10) + startLevel; speed = speed_fun(); xPos = 3; yPos = -10; rotation = 0; moved = false; thisShape = nextShape; if(simult == 0) { drawNextShape(); drawThisShape(); sound_mc.gotoAndPlay("popLo"); } } } updateAfterEvent(); }; this.onEnterFrame = function() { if(gameOver || simult) { return undefined; } var _loc2_ = Key.getCode(); if(!paused) { if(Key.isDown(_root.Acode)) { left(); } if(Key.isDown(_root.Dcode)) { right(); } if(Key.isDown(_root.Scode)) { down(); } } updateAfterEvent(); }; this.onKeyDown = function() { if(gameOver || simult) { return undefined; } var _loc2_ = Key.getCode(); if(!paused) { switch(_loc2_) { case _root.Wcode: rotate(true); break; case _root.Fcode: fastFall(); } } updateAfterEvent(); }; Key.removeListener(this); Key.addListener(this); gameOver = true; paused = moved = false; _root.p1lines = 0; score = scoreTxt = lines = thisShape = nextShape = rotation = 0; level = startLevel; speed_fun = function() { return 500; }; speed = speed_fun(); xPos = 3; yPos = -10; shape_array = new Array(5,6,9,10,5,6,9,10,5,6,9,10,5,6,9,10,4,5,6,9,1,4,5,9,1,4,5,6,1,5,6,9,4,5,9,10,2,5,6,9,4,5,9,10,2,5,6,9,5,6,8,9,1,5,6,10,5,6,8,9,1,5,6,10,4,5,6,8,0,1,5,9,2,4,5,6,1,5,9,10,4,5,6,10,1,5,8,9,0,4,5,6,1,2,5,9,4,5,6,7,1,5,9,13,4,5,6,7,1,5,9,13); block_array = new Array(0,0,0,0); flag_array = new Array(); var i = 18; while(i >= 0) { var j = 0; while(j < 10) { var k = i * 10 + j; b_mc.attachMovie("方块",k,k,{_x:j * 20,_y:i * 20}); flag_array[k] = 0; j++; } i--; } var i = 0; while(i < 3) { var j = 0; while(j < 4) { var k = i * 4 + j; next_mc.attachMovie("方块",k,k,{_x:j * 20,_y:i * 20}); j++; } i++; } b_mc._xscale = 90; b_mc._yscale = 90; break; } if(eval("\x01") == 182) { set("\x01",eval("\x01") - 182); break; } if(eval("\x01") != 396) { if(eval("\x01") == 505) { set("\x01",eval("\x01") - 14); } break; } set("\x01",eval("\x01") + 446); if(function §\x01\x02§() { return 2986; }) { set("\x01",eval("\x01") - 796); } } }