STORY LOOP FURRY PORN GAMES C SERVICES [?] [R] RND POPULAR | Archived flashes: 228129 |
/disc/ · /res/ — /show/ · /fap/ · /gg/ · /swf/ | P0001 · P2561 · P5121 |
This is the info page for Flash #90273 |
assets |
Paused |
Press Spacebar to resume playing. |
Press Spacebar to resume playing. |
Paused |
audio : |
audio : |
all |
all |
effects |
effects |
music |
music |
none |
none |
Welcome to Gravibounce, where your objective is to reclaim all of the power gems without falling from the construct. Use the left and right directional buttons to move your ball and collect all of the blue gems. |
Well done! The glowing orb on this construct is a Gravishift Orb. Move your ball to it to activate its powers and shift gravity. Notice the arrows on the construct change to reflect the direction you will bounce. Collect all of the blue gems to advance. |
Great! On this construct, you'll notice that some blocks have two arrows. These are known as Spring Blocks and will bounce your ball twice as high as their single-arrow counterparts. Also notice that you can pass through the sides and bottom of any block on the construct. |
Excellent! This construct contains special power gems in addition to the normal ones you've encountered. While they are not required to complete a construct, it is still a good idea to collect them if you can. They power the Energy Net, which may prevent an otherwise-fatal fall from the construct. |
Impressive! It's time to switch things up a bit. On this construct, you'll find Horizontal Gravishift Orbs. When gravity is horizontal, you'll need the up and down directional buttons to move your ball. The particles falling from the Gravishift Orbs should clue you in as to which direction they shift gravity. |
You're a quick study! On some constructs, you'll have to make a sacrifice in order to get ahead. Take a leap of faith and let the energy net bounce you to your destination. Here are some special power gems, collecting five of them will give your Energy Net an extra charge. Your net will fail if you run out of charges. |
Magnificent! Let's see how you fare with managing both Horizontal and Verticle Gravishift Orbs on this construct. Remember to look for the particles falling from the orbs. |
Outstanding! You've learned all there is to know about the different types of objects in Gravibounce. From here on out, you're on your own. Best of luck to you... |
Concept, Programming and Production Epic Shadow Entertainment Prince Porter Productions Music Cobalt Blue Sphere by PianoForte Sound Effects SoundSnap.com |
Concept, Programming and Production Epic Shadow Entertainment Prince Porter Productions Music Cobalt Blue Sphere by PianoForte Sound Effects SoundSnap.com |
Gravibounce |
Gravibounce |
WASD Keys to move. Spacebar to select. Q toggles Quality. M toggles Sound. |
WASD Keys to move. Spacebar to select. Q toggles Quality. M toggles Sound. |
video : |
video : |
best |
best |
high |
high |
med |
med |
low |
low |
submit |
submit |
sounds |
epic shadow |
ENTERTAINMENT |
AND |
prince porter |
PRODUCTIONS |
ActionScript [AS3]
Section 1//MD5 (com.adobe.crypto.MD5) package com.adobe.crypto { import com.adobe.utils.*; public class MD5 { private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function createBlocks(_arg1:String):Array{ var _local2:Array; var _local3:int; var _local4:int; var _local5:int; _local2 = new Array(); _local3 = (_arg1.length * 8); _local4 = 0xFF; _local5 = 0; while (_local5 < _local3) { _local2[(_local5 >> 5)] = (_local2[(_local5 >> 5)] | ((_arg1.charCodeAt((_local5 / 8)) & _local4) << (_local5 % 32))); _local5 = (_local5 + 8); }; _local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32))); _local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3; return (_local2); } private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function f(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg2) | (~(_arg1) & _arg3))); } private static function g(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg3) | (_arg2 & ~(_arg3)))); } private static function h(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 ^ _arg2) ^ _arg3)); } private static function i(_arg1:int, _arg2:int, _arg3:int):int{ return ((_arg2 ^ (_arg1 | ~(_arg3)))); } private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{ var _local9:int; _local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8); return ((IntUtil.rol(_local9, _arg7) + _arg3)); } private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } public static function hash(_arg1:String):String{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:Array; var _local11:int; var _local12:int; _local2 = 1732584193; _local3 = -271733879; _local4 = -1732584194; _local5 = 271733878; _local10 = createBlocks(_arg1); _local11 = _local10.length; _local12 = 0; while (_local12 < _local11) { _local6 = _local2; _local7 = _local3; _local8 = _local4; _local9 = _local5; _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 7, -680876936); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 1)], 12, -389564586); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 17, 606105819); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 3)], 22, -1044525330); _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 7, -176418897); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 5)], 12, 1200080426); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 17, -1473231341); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 7)], 22, -45705983); _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 7, 1770035416); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 9)], 12, -1958414417); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 17, -42063); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 11)], 22, -1990404162); _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 7, 1804603682); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 13)], 12, -40341101); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 17, -1502002290); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 15)], 22, 1236535329); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 5, -165796510); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 6)], 9, -1069501632); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 14, 643717713); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 0)], 20, -373897302); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 5, -701558691); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 10)], 9, 38016083); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 14, -660478335); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 4)], 20, -405537848); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 5, 568446438); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 14)], 9, -1019803690); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 14, -187363961); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 8)], 20, 1163531501); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 5, -1444681467); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 2)], 9, -51403784); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 14, 1735328473); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 12)], 20, -1926607734); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 4, -378558); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 8)], 11, -2022574463); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 16, 1839030562); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 14)], 23, -35309556); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 4, -1530992060); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 4)], 11, 1272893353); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 16, -155497632); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 10)], 23, -1094730640); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 4, 681279174); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 0)], 11, -358537222); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 16, -722521979); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 6)], 23, 76029189); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 4, -640364487); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 12)], 11, -421815835); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 16, 530742520); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 2)], 23, -995338651); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 6, -198630844); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 7)], 10, 1126891415); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 15, -1416354905); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 5)], 21, -57434055); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 6, 1700485571); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 3)], 10, -1894986606); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 15, -1051523); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 1)], 21, -2054922799); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 6, 1873313359); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 15)], 10, -30611744); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 15, -1560198380); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 13)], 21, 1309151649); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 6, -145523070); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 11)], 10, -1120210379); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 15, 718787259); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 9)], 21, -343485551); _local2 = (_local2 + _local6); _local3 = (_local3 + _local7); _local4 = (_local4 + _local8); _local5 = (_local5 + _local9); _local12 = (_local12 + 16); }; return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5))); } private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } } }//package com.adobe.cryptoSection 2//IntUtil (com.adobe.utils.IntUtil) package com.adobe.utils { public class IntUtil { private static var hexChars:String = "0123456789abcdef"; public static function toHex(_arg1:int, _arg2:Boolean=false):String{ var _local3:String; var _local4:int; var _local5:int; _local3 = ""; if (_arg2){ _local4 = 0; while (_local4 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15)))); _local4++; }; } else { _local5 = 0; while (_local5 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15)))); _local5++; }; }; return (_local3); } public static function ror(_arg1:int, _arg2:int):uint{ var _local3:int; _local3 = (32 - _arg2); return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3)))); } public static function rol(_arg1:int, _arg2:int):int{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } } }//package com.adobe.utilsSection 3//AssetHolder_17 (Gravibounce_fla.AssetHolder_17) package Gravibounce_fla { import flash.display.*; public dynamic class AssetHolder_17 extends MovieClip { public function AssetHolder_17(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Gravibounce_flaSection 4//bomb_preloader_2 (Gravibounce_fla.bomb_preloader_2) package Gravibounce_fla { import flash.display.*; public dynamic class bomb_preloader_2 extends MovieClip { public var loaderbar:MovieClip; public function bomb_preloader_2(){ addFrameScript(0, frame1, 206, frame207); } function frame207(){ stop(); } function frame1(){ stop(); } } }//package Gravibounce_flaSection 5//bomb_smoker3_14 (Gravibounce_fla.bomb_smoker3_14) package Gravibounce_fla { import flash.display.*; public dynamic class bomb_smoker3_14 extends MovieClip { public var sm:MovieClip; } }//package Gravibounce_flaSection 6//bomb_smoker4_13 (Gravibounce_fla.bomb_smoker4_13) package Gravibounce_fla { import flash.display.*; public dynamic class bomb_smoker4_13 extends MovieClip { public var sm:MovieClip; public function bomb_smoker4_13(){ addFrameScript(30, frame31); } function frame31(){ stop(); } } }//package Gravibounce_flaSection 7//MainTimeline (Gravibounce_fla.MainTimeline) package Gravibounce_fla { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.text.*; import flash.media.*; import flash.filters.*; import flash.system.*; import flash.net.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; public dynamic class MainTimeline extends MovieClip { public var maxReached:Boolean; public var preloader:Preloader; public var fade:Number; public var advance:Boolean; public var gameLoaded:Boolean; public var shownMax:int; public var shownTime:int; public var epicShadowLogo:EpicShadowLogo; public function MainTimeline(){ addFrameScript(0, frame1, 4, frame5, 5, frame6); } public function handleLogo(_arg1:Event):void{ if (advance){ removeEventListener(Event.ENTER_FRAME, handleLogo); removeEventListener(MouseEvent.MOUSE_DOWN, splashClick); gotoAndPlay((currentFrame + 1)); } else { if (!maxReached){ epicShadowLogo.alpha = (epicShadowLogo.alpha + fade); if (epicShadowLogo.alpha >= 1){ epicShadowLogo.alpha = 1; maxReached = true; }; } else { if (shownTime < shownMax){ shownTime++; } else { epicShadowLogo.alpha = (epicShadowLogo.alpha - fade); if (epicShadowLogo.alpha <= 0){ advance = true; }; }; }; }; } function frame6(){ stop(); addChild(new Main(stage)); } function frame1(){ gameLoaded = false; this.stop(); preloader.stop(); preloader.logo_mc.stop(); preloader.logo_mc.loaderbar.stop(); preloader.addEventListener(Event.ENTER_FRAME, updatePreloader, false, 0, true); preloader.link_btn.addEventListener(MouseEvent.MOUSE_DOWN, gotoArc, false); } public function splashClick(_arg1:Event):void{ navigateToURL(new URLRequest("http://www.epicshadow.com/gravibounce.php"), "_blank"); } function frame5(){ stop(); advance = false; maxReached = false; fade = 0.05; shownTime = 0; shownMax = 64; epicShadowLogo.alpha = 0; epicShadowLogo.buttonMode = true; addEventListener(Event.ENTER_FRAME, handleLogo); addEventListener(MouseEvent.MOUSE_DOWN, splashClick); } public function updatePreloader(_arg1:Event):void{ var _local2:Number; _local2 = ((this.loaderInfo.bytesLoaded / this.loaderInfo.bytesTotal) * 100); if (_local2 != 100){ preloader.logo_mc.loaderbar.gotoAndStop(int(_local2)); } else { if (!gameLoaded){ gameLoaded = true; preloader.logo_mc.play(); }; if (preloader.logo_mc.currentFrame == preloader.logo_mc.totalFrames){ preloader.logo_mc.gotoAndStop(preloader.logo_mc.totalFrames); preloader.removeEventListener(Event.ENTER_FRAME, updatePreloader, false); this.gotoAndPlay(2); }; }; } public function gotoArc(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.arcadebomb.com"), "_blank"); } } }//package Gravibounce_flaSection 8//SoundHolder_38 (Gravibounce_fla.SoundHolder_38) package Gravibounce_fla { import flash.display.*; public dynamic class SoundHolder_38 extends MovieClip { public function SoundHolder_38(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Gravibounce_flaSection 9//ArcadeBombButton (ArcadeBombButton) package { import flash.display.*; import flash.filters.*; import flash.net.*; public class ArcadeBombButton extends Sprite { private var glow:GlowFilter; public function ArcadeBombButton():void{ glow = new GlowFilter(4160, 1, 6, 6, 2, 1, false, false); } private function handleClick():void{ if (!Global.GAMEMUTED){ Global.SOUNDARCADEBOMBBUTTON.play(); }; navigateToURL(new URLRequest("http://www.arcadebomb.com"), "_blank"); } public function run():void{ filters = new Array(); if ((((((((Control.MOUSEPOINT.x >= x)) && ((Control.MOUSEPOINT.x <= ((x + width) - 1))))) && ((Control.MOUSEPOINT.y >= y)))) && ((Control.MOUSEPOINT.y <= ((y + height) - 1))))){ filters = new Array(glow); }; if (((((Control.MOUSEDOWN) && ((Control.MOUSEDOWNPOINT.x >= x)))) && ((Control.MOUSEDOWNPOINT.x <= ((x + width) - 1))))){ if ((((Control.MOUSEDOWNPOINT.y >= y)) && ((Control.MOUSEDOWNPOINT.y <= ((y + height) - 1))))){ handleClick(); Control.setMouseDown(false); }; }; } } }//packageSection 10//AudioToggle (AudioToggle) package { import flash.display.*; import flash.filters.*; public class AudioToggle extends MovieClip { private var glow:GlowFilter; public function AudioToggle():void{ glow = new GlowFilter(0xFFFFFF, 1, 4, 4, 2, 1, false, false); } private function handleClick():void{ Global.modifyAudio(); } public function run():void{ gotoAndStop(Global.AUDIOSTATE); filters = new Array(); if ((((Control.MOUSEPOINT.x >= x)) && ((Control.MOUSEPOINT.x <= ((x + width) - 1))))){ if ((((Control.MOUSEPOINT.y >= y)) && ((Control.MOUSEPOINT.y <= ((y + height) - 1))))){ filters = new Array(glow); }; }; if (((((Control.MOUSEDOWN) && ((Control.MOUSEDOWNPOINT.x >= x)))) && ((Control.MOUSEDOWNPOINT.x <= ((x + width) - 1))))){ if ((((Control.MOUSEDOWNPOINT.y >= y)) && ((Control.MOUSEDOWNPOINT.y <= ((y + height) - 1))))){ handleClick(); Control.setMouseDown(false); }; }; } } }//packageSection 11//Background (Background) package { import flash.display.*; public dynamic class Background extends Sprite { } }//packageSection 12//BackgroundText (BackgroundText) package { import flash.display.*; public dynamic class BackgroundText extends MovieClip { } }//packageSection 13//Ball (Ball) package { import flash.display.*; public class Ball extends Sprite { public var bouncing:Boolean;// = false private var dy:int;// = 0 public var vel:int;// = 0 private var spd:int;// = 8 private var tvel:int;// = 11 private var dx:int;// = 0 private var ease:int;// = 8 public function Ball():void{ dx = 0; dy = 0; ease = 8; spd = 8; vel = 0; tvel = 11; bouncing = false; super(); } public function bounce(_arg1:int):void{ bouncing = true; if (Global.GRAVITY.x == 0){ vel = ((-(Global.GRAVITY.y) * tvel) * _arg1); } else { vel = ((-(Global.GRAVITY.x) * tvel) * _arg1); }; } public function setPos(_arg1:int, _arg2:int):void{ x = (dx = _arg1); y = (dy = _arg2); } public function run():void{ if (Global.GRAVITY.x == 0){ if (((Control.isKeyDown(Control.LEFT)) || (Control.isKeyDown(Control.LEFT2)))){ dx = (dx - spd); }; if (((Control.isKeyDown(Control.RIGHT)) || (Control.isKeyDown(Control.RIGHT2)))){ dx = (dx + spd); }; vel = (vel + Global.GRAVITY.y); y = (y + vel); dy = y; x = (x + ((dx - x) / ease)); if ((((Global.GRAVITY.y < 0)) && ((vel > 0)))){ bouncing = false; }; if ((((Global.GRAVITY.y > 0)) && ((vel < 0)))){ bouncing = false; }; } else { if (((Control.isKeyDown(Control.UP)) || (Control.isKeyDown(Control.UP2)))){ dy = (dy - spd); }; if (((Control.isKeyDown(Control.DOWN)) || (Control.isKeyDown(Control.DOWN2)))){ dy = (dy + spd); }; vel = (vel + Global.GRAVITY.x); dx = x; x = (x + vel); y = (y + ((dy - y) / ease)); if ((((Global.GRAVITY.x < 0)) && ((vel > 0)))){ bouncing = false; }; if ((((Global.GRAVITY.x > 0)) && ((vel < 0)))){ bouncing = false; }; }; if (vel > tvel){ vel--; }; if (vel < -(tvel)){ vel++; }; } public function hang():void{ vel = 0; dx = x; dy = y; } } }//packageSection 14//BallRing (BallRing) package { import flash.display.*; import flash.filters.*; public class BallRing extends Sprite { public var ballGraphic:Ball; public function BallRing():void{ filters = new Array(new DropShadowFilter(0)); } public function run():void{ visible = false; x = Global.BALL.x; y = Global.BALL.y; if (x <= 32){ x = 32; }; if (x >= (Global.GAMEW - 32)){ x = (Global.GAMEW - 32); }; if (y <= (Global.OFFSETY + 16)){ y = (Global.OFFSETY + 16); }; if (y >= (Global.GAMEH - 32)){ y = (Global.GAMEH - 32); }; if ((((((((Global.BALL.x < 0)) || ((Global.BALL.x > Global.GAMEW)))) || ((Global.BALL.y < (Global.OFFSETY - 8))))) || ((Global.BALL.y > Global.GAMEH)))){ visible = true; }; rotation = ((Math.atan2((y - Global.BALL.y), (x - Global.BALL.x)) * (180 / Math.PI)) - 90); ballGraphic.rotation = -(rotation); } } }//packageSection 15//Block (Block) package { public class Block extends GameObject { public function Block():void{ updateArrows(); } override public function run():void{ updateArrows(); } private function updateArrows():void{ if (Global.GRAVITY.x == 0){ if (Global.GRAVITY.y < 0){ gotoAndStop(4); } else { gotoAndStop(3); }; } else { if (Global.GRAVITY.x < 0){ gotoAndStop(2); } else { gotoAndStop(1); }; }; } } }//packageSection 16//BonusCollectible (BonusCollectible) package { public class BonusCollectible extends GameObject { public function BonusCollectible():void{ } override public function run():void{ if (Toolkit.randomInt(0, 500) < 1){ new ShineParticle((x + (Global.BLOCKW / 2)), (y + (Global.BLOCKH / 2)), 0xFFFFFF, 0, 0, 0.15); }; } } }//packageSection 17//Collision (Collision) package { import flash.display.*; import flash.geom.*; public class Collision { public static function getCollisionRect(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:DisplayObjectContainer, _arg4:Boolean=false, _arg5:Number=0):Rectangle{ var _local6:Rectangle; var _local7:Rectangle; var _local8:Rectangle; var _local9:BitmapData; var _local10:BitmapData; var _local11:uint; var _local12:Rectangle; var _local13:int; _local6 = _arg1.getBounds(_arg3); _local7 = _arg2.getBounds(_arg3); _local8 = _local6.intersection(_local7); if (_local8.size.length > 0){ if (_arg4){ _local8.width = Math.ceil(_local8.width); _local8.height = Math.ceil(_local8.height); _local9 = getAlphaMap(_arg1, _local8, BitmapDataChannel.RED, _arg3); _local10 = getAlphaMap(_arg2, _local8, BitmapDataChannel.GREEN, _arg3); _local9.draw(_local10, null, null, BlendMode.LIGHTEN); if (_arg5 <= 0){ _local11 = 65792; } else { if (_arg5 > 1){ _arg5 = 1; }; _local13 = Math.round((_arg5 * 0xFF)); _local11 = (((_local13 << 16) | (_local13 << 8)) | 0); }; _local12 = _local9.getColorBoundsRect(_local11, _local11); _local9.getColorBoundsRect(_local11, _local11).x = (_local12.x + _local8.x); _local12.y = (_local12.y + _local8.y); return (_local12); } else { return (_local8); }; //unresolved jump }; return (null); } public static function isColliding(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:DisplayObjectContainer, _arg4:Boolean=false, _arg5:Number=0):Boolean{ var _local6:Rectangle; _local6 = getCollisionRect(_arg1, _arg2, _arg3, _arg4, _arg5); if (((!((_local6 == null))) && ((_local6.size.length > 0)))){ return (true); }; return (false); } public static function getCollisionPoint(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:DisplayObjectContainer, _arg4:Boolean=false, _arg5:Number=0):Point{ var _local6:Rectangle; var _local7:Number; var _local8:Number; _local6 = getCollisionRect(_arg1, _arg2, _arg3, _arg4, _arg5); if (((!((_local6 == null))) && ((_local6.size.length > 0)))){ _local7 = ((_local6.left + _local6.right) / 2); _local8 = ((_local6.top + _local6.bottom) / 2); return (new Point(_local7, _local8)); }; return (null); } private static function getAlphaMap(_arg1:DisplayObject, _arg2:Rectangle, _arg3:uint, _arg4:DisplayObjectContainer):BitmapData{ var _local5:Matrix; var _local6:Matrix; var _local7:BitmapData; var _local8:BitmapData; _local5 = _arg4.transform.concatenatedMatrix.clone(); _local5.invert(); _local6 = _arg1.transform.concatenatedMatrix.clone(); _local6.concat(_local5); _local6.translate(-(_arg2.x), -(_arg2.y)); _local7 = new BitmapData(_arg2.width, _arg2.height, true, 0); _local7.draw(_arg1, _local6); _local8 = new BitmapData(_arg2.width, _arg2.height, false, 0); _local8.copyChannel(_local7, _local7.rect, new Point(0, 0), BitmapDataChannel.ALPHA, _arg3); return (_local8); } } }//packageSection 18//Control (Control) package { import flash.events.*; import flash.geom.*; import flash.media.*; public class Control { public static var LEFT:int = 65; public static var MOUSEPOINT:Point; public static var MOUSEPOS:Point; public static var VIDEOHELD:Boolean = false; public static var LEFT2:int = 37; public static var MOUSEUPPOINT:Point; public static var UP:int = 87; public static var CONFIRM:int = 32; public static var MOUSEDOWNPOINT:Point; public static var MOUSEDOWNPOS:Point; public static var MOUSEDOWN:Boolean; public static var DOWN:int = 83; private static var main:Main; public static var RIGHT2:int = 39; public static var LOOPCHANNEL:SoundChannel; public static var VIDEOBUTTON:int = 81; public static var DOWN2:int = 40; public static var CONFIRMHELD:Boolean = false; public static var MOUSEUPPOS:Point; public static var AUDIOBUTTON:int = 77; public static var LOOPPLAYING:Boolean = false; public static var AUDIOHELD:Boolean = false; public static var UP2:int = 38; public static var CANCEL:int = 90; private static var keys:Array = new Array(); public static var RIGHT:int = 68; private static function mouseDownHandler(_arg1:MouseEvent):void{ MOUSEDOWN = true; MOUSEDOWNPOINT = new Point(_arg1.stageX, _arg1.stageY); } private static function mouseUpHandler(_arg1:MouseEvent):void{ MOUSEDOWN = false; MOUSEUPPOINT = new Point(_arg1.stageX, _arg1.stageY); } public static function setVideoHeld(_arg1:Boolean):void{ VIDEOHELD = _arg1; } public static function init(_arg1:Main):void{ main = _arg1; main.gameStage.addEventListener(Event.ENTER_FRAME, run); main.gameStage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); main.gameStage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); main.gameStage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); main.gameStage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); main.gameStage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); MOUSEDOWN = false; MOUSEPOINT = new Point(); MOUSEDOWNPOINT = new Point(); MOUSEUPPOINT = new Point(); } private static function run(_arg1:Event):void{ main.run(); if (Global.MUSICMUTED){ LOOPCHANNEL.stop(); LOOPPLAYING = false; }; if (((!(Global.MUSICMUTED)) && (!(LOOPPLAYING)))){ LOOPCHANNEL = Global.SOUNDBACKGROUNDLOOP.play(0, 999999); LOOPPLAYING = true; }; } public static function setMouseDown(_arg1:Boolean):void{ MOUSEDOWN = _arg1; } public static function isKeyDown(_arg1:Number):Boolean{ if ((((keys[_arg1] == undefined)) || ((keys[_arg1] == null)))){ return (false); }; return (keys[_arg1]); } private static function keyUpHandler(_arg1:KeyboardEvent):void{ keys[_arg1.keyCode] = false; } public static function resetFocus():void{ main.gameStage.focus = main.gameStage; } public static function setConfirmHeld(_arg1:Boolean):void{ CONFIRMHELD = _arg1; } public static function clearMousePoints():void{ MOUSEDOWN = false; MOUSEDOWNPOINT = new Point(); MOUSEUPPOINT = new Point(); } private static function mouseMoveHandler(_arg1:MouseEvent):void{ MOUSEPOINT = new Point(_arg1.stageX, _arg1.stageY); } private static function keyDownHandler(_arg1:KeyboardEvent):void{ keys[_arg1.keyCode] = true; } public static function setAudioHeld(_arg1:Boolean):void{ AUDIOHELD = _arg1; } public static function setScreen(_arg1:int):void{ main.setScreen(_arg1); } } }//packageSection 19//CreditsGraphic (CreditsGraphic) package { import flash.display.*; public dynamic class CreditsGraphic extends Sprite { } }//packageSection 20//CreditsScreen (CreditsScreen) package { public class CreditsScreen extends GameScreen { private var bg:Background; private var cursor:GravitySwitch; private var menuGradient:MenuGradient; private var backText:GameText; private var creditsGraphic:CreditsGraphic; public function CreditsScreen():void{ addChild((bg = new Background())); addChild((creditsGraphic = new CreditsGraphic())); addChild((menuGradient = new MenuGradient())); menuGradient.x = 264; menuGradient.y = 380; addChild((backText = new GameText("Go Back"))); backText.x = 280; backText.y = 480; addChild((cursor = new GravitySwitch(1))); cursor.x = 0x0100; cursor.y = (backText.y + 2); menuGradient.y = cursor.y; addChild(Global.PARTICLELAYER); Control.setConfirmHeld(true); } override public function run():void{ var _local1:int; cursor.run(); _local1 = 0; while (_local1 < Global.PARTICLES.length) { if (Global.PARTICLES[_local1] != null){ Global.PARTICLES[_local1].run(); }; _local1++; }; if (Control.isKeyDown(Control.CONFIRM)){ if (!Control.CONFIRMHELD){ Control.setConfirmHeld(true); if (!Global.GAMEMUTED){ Global.SOUNDMENUSELECT.play(); }; Control.setScreen(Global.TITLESCREEN); }; } else { Control.setConfirmHeld(false); }; if ((((((((Control.MOUSEPOINT.x > 280)) && ((Control.MOUSEPOINT.x < 480)))) && ((Control.MOUSEPOINT.y > 480)))) && ((Control.MOUSEPOINT.y < 496)))){ if ((((Control.MOUSEPOINT.y > 480)) && ((Control.MOUSEPOINT.y < 496)))){ }; if (Control.MOUSEDOWN){ if (!Global.GAMEMUTED){ Global.SOUNDMENUSELECT.play(); }; Control.setScreen(Global.TITLESCREEN); Control.setMouseDown(false); Control.resetFocus(); }; }; } } }//packageSection 21//EpicShadowLogo (EpicShadowLogo) package { import flash.display.*; public dynamic class EpicShadowLogo extends Sprite { } }//packageSection 22//GameFont (GameFont) package { import flash.text.*; public dynamic class GameFont extends Font { } }//packageSection 23//GameObject (GameObject) package { import flash.display.*; public class GameObject extends MovieClip { public var cooldown:Boolean;// = false public function GameObject():void{ cooldown = false; super(); } public function setCoolDown():void{ } public function run():void{ } } }//packageSection 24//GameOverScreen (GameOverScreen) package { public class GameOverScreen extends GameScreen { private var bg:Background; private var cursor:GravitySwitch; private var titleGraphic:TitleGraphic; private var continueText:GameText; private var cursorOffset:int;// = 2 private var cursorPosition:int;// = 0 private var menuItems:Array; private var arcadeBombButton:ArcadeBombButton; private var endText:GameText; private var menuGradient:MenuGradient; private var holdingKey:Boolean;// = false private var scoreText:GameText; public function GameOverScreen():void{ cursorPosition = 0; cursorOffset = 2; holdingKey = false; super(); addChild((bg = new Background())); addChild((titleGraphic = new TitleGraphic())); addChild((scoreText = new GameText(("Score: " + Global.SCORE)))); scoreText.setTextSize(32); scoreText.x = ((Global.GAMEW - scoreText.width) / 2); scoreText.y = 192; addChild((menuGradient = new MenuGradient())); menuGradient.x = 264; menuGradient.y = 380; menuItems = new Array(); addChild((continueText = new GameText("Continue (Half Score)"))); continueText.x = 280; continueText.y = 460; menuItems.push(continueText); addChild((endText = new GameText("End Game"))); endText.x = 280; endText.y = 480; menuItems.push(endText); addChild((cursor = new GravitySwitch(1))); cursor.x = 0x0100; cursor.y = (menuItems[cursorPosition].y + cursorOffset); menuGradient.y = cursor.y; addChild((arcadeBombButton = new ArcadeBombButton())); arcadeBombButton.x = 356; arcadeBombButton.y = 0x0202; addChild(Global.PARTICLELAYER); Control.setConfirmHeld(true); } override public function run():void{ var _local1:int; cursor.run(); arcadeBombButton.run(); _local1 = 0; while (_local1 < Global.PARTICLES.length) { if (Global.PARTICLES[_local1] != null){ Global.PARTICLES[_local1].run(); }; _local1++; }; if (((Control.isKeyDown(Control.UP)) || (Control.isKeyDown(Control.UP2)))){ if (!holdingKey){ holdingKey = true; cursorPosition--; if (!Global.GAMEMUTED){ Global.SOUNDMENUMOVEMENT.play(); }; }; } else { if (((Control.isKeyDown(Control.DOWN)) || (Control.isKeyDown(Control.DOWN2)))){ if (!holdingKey){ holdingKey = true; cursorPosition++; if (!Global.GAMEMUTED){ Global.SOUNDMENUMOVEMENT.play(); }; }; } else { holdingKey = false; }; }; if (Control.isKeyDown(Control.CONFIRM)){ if (!Control.CONFIRMHELD){ Control.setConfirmHeld(true); if (!Global.GAMEMUTED){ Global.SOUNDMENUSELECT.play(); }; switch (cursorPosition){ case 0: if (Global.CURRENTSTAGE == 0){ Global.resetGlobals(Global.CURRENTDIFFICULTY); } else { Global.retryStage(); }; Control.setScreen(Global.PLAYSCREEN); break; case 1: Control.setScreen(Global.TITLESCREEN); break; }; }; } else { Control.setConfirmHeld(false); }; if ((((((((Control.MOUSEPOINT.x > 280)) && ((Control.MOUSEPOINT.x < 480)))) && ((Control.MOUSEPOINT.y > 460)))) && ((Control.MOUSEPOINT.y < 496)))){ if ((((Control.MOUSEPOINT.y > 460)) && ((Control.MOUSEPOINT.y < 476)))){ if (((!((cursorPosition == 0))) && (!(Global.GAMEMUTED)))){ Global.SOUNDMENUMOVEMENT.play(); }; cursorPosition = 0; }; if ((((Control.MOUSEPOINT.y > 480)) && ((Control.MOUSEPOINT.y < 496)))){ if (((!((cursorPosition == 1))) && (!(Global.GAMEMUTED)))){ Global.SOUNDMENUMOVEMENT.play(); }; cursorPosition = 1; }; if (Control.MOUSEDOWN){ if (!Global.GAMEMUTED){ Global.SOUNDMENUSELECT.play(); }; switch (cursorPosition){ case 0: if (Global.CURRENTSTAGE == 0){ Global.resetGlobals(Global.CURRENTDIFFICULTY); } else { Global.retryStage(); }; Control.setScreen(Global.PLAYSCREEN); break; case 1: Control.setScreen(Global.TITLESCREEN); break; }; Control.setMouseDown(false); Control.resetFocus(); }; }; if (cursorPosition < 0){ cursorPosition = (menuItems.length - 1); }; if (cursorPosition > (menuItems.length - 1)){ cursorPosition = 0; }; cursor.y = (menuItems[cursorPosition].y + cursorOffset); menuGradient.y = cursor.y; } } }//packageSection 25//GameScreen (GameScreen) package { import flash.display.*; public class GameScreen extends Sprite { public function GameScreen():void{ } public function run():void{ } } }//packageSection 26//GameText (GameText) package { import flash.display.*; import flash.text.*; import flash.filters.*; public class GameText extends Sprite { private var format:TextFormat; private var field:TextField; public function GameText(_arg1:String):void{ addChild((field = new TextField())); field.selectable = false; field.autoSize = TextFieldAutoSize.LEFT; field.embedFonts = true; format = new TextFormat(); format.color = 0xFFFFFF; format.bold = true; format.font = new GameFont().fontName; format.size = 16; setText(_arg1); filters = new Array(new DropShadowFilter(1)); } public function setTextSize(_arg1:int):void{ format.size = _arg1; field.setTextFormat(format); } public function setText(_arg1:String):void{ field.text = _arg1; field.setTextFormat(format); } } }//packageSection 27//Global (Global) package { import flash.display.*; import flash.geom.*; import flash.system.*; public class Global { public static var VIDEOSTATE:int = 1; public static var SOUNDREQUIREDCOLLECTIBLE:SoundRequiredCollectible = new SoundRequiredCollectible(); public static var SOUNDLEVELCOMPLETE:SoundLevelComplete = new SoundLevelComplete(); public static var CURRENTSTAGE:int = 0; public static var OFFSETY:int = 64; public static var GRAVITY:Point = new Point(0, 1); public static var SOUNDSPRINGBLOCK:SoundSpringBlock = new SoundSpringBlock(); public static var OFFSETX:int = 16; public static var SOUNDGRAVITYSWITCH:SoundGravitySwitch = new SoundGravitySwitch(); public static var SOUNDARCADEBOMBBUTTON:SoundArcadeBombButton = new SoundArcadeBombButton(); public static var STAGE01:Array = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0], [0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0], [0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0]]; public static var STAGE02:Array = [[0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 2, 2, 2, 2, 0, 0, 0, 8, 0, 0, 0, 2, 2, 2, 0, 0, 8, 8, 8, 8, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0], [0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0], [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0]]; public static var STAGE03:Array = [[0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0], [0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], [0, 0, 8, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 8, 0, 0], [0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3], [3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 3, 3, 2, 2, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 2, 2, 3, 3, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; public static var STAGE04:Array = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0], [2, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 8, 0, 0, 8, 0, 0, 8, 0, 0, 8, 0], [0, 9, 0, 0, 0, 8, 8, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 8, 8, 0, 0, 0, 8, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 8, 0, 0, 0, 8, 8, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 8, 8, 0, 0, 0, 9, 0], [0, 8, 0, 0, 8, 0, 0, 8, 0, 0, 8, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 2], [0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; public static var STAGE05:Array = [[2, 2, 2, 2, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 2, 2, 2, 2], [2, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 2], [2, 8, 0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0, 8, 2], [2, 5, 0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0, 4, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2, 0], [0, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2, 0], [0, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0], [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2, 0], [0, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2, 0], [0, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 5, 0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0, 4, 2], [2, 8, 0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0, 8, 2], [2, 8, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 2], [2, 2, 2, 2, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 2, 2, 2, 2]]; public static var STAGE06:Array = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 9, 0, 0, 0], [0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 9], [7, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 6], [9, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0], [0, 0, 1, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; public static var STAGE07:Array = [[2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [2, 0, 5, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 7, 0, 2], [2, 0, 8, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 8, 0, 2], [2, 0, 8, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 8, 0, 2], [2, 0, 8, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 8, 0, 2], [0, 0, 8, 0, 2, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 2, 0, 8, 0, 0], [0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0], [0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2], [2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0], [0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0], [0, 0, 8, 0, 2, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 2, 0, 8, 0, 0], [2, 0, 8, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 8, 0, 2], [2, 0, 8, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 8, 0, 2], [2, 0, 8, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 8, 0, 2], [2, 0, 6, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 4, 0, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2]]; public static var STAGE08:Array = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 8, 8, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 8, 8, 0, 0, 0], [0, 8, 8, 2, 2, 8, 8, 2, 2, 8, 0, 0, 0, 0, 8, 2, 2, 8, 8, 2, 2, 8, 8, 0], [0, 2, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 2, 2, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 0, 0, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 0], [0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0], [0, 0, 0, 8, 8, 0, 0, 2, 2, 0, 0, 8, 8, 0, 0, 2, 2, 0, 0, 8, 8, 0, 0, 0], [0, 8, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0], [0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; public static var STAGE09:Array = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0, 0, 0, 8, 8, 0, 0, 6, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 2, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 2, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 3, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; public static var PARTICLELAYER:Sprite; public static var CREDITSSCREEN:int = 1; public static var SCORE:int = 0; public static var MUSICMUTED:Boolean = false; public static var STAGEDIFFICULTIES:Array = [STAGESEASY, STAGESMEDIUM, STAGESHARD, STAGESINSANE]; public static var BLOCKH:int = 20; public static var HIGHSCORESCREEN:int = 2; public static var STAGE10:Array = [[2, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 0, 0, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6], [2, 0, 8, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, 0, 8, 0, 0, 0, 7, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 7, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 3, 0, 0, 3, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 2], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 2], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 2], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 2]]; public static var STAGE11:Array = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0], [0, 5, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 8, 0], [0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 8, 0, 0, 2, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 2, 0, 0, 8, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 0, 0, 2, 0, 0, 0, 1, 0, 0, 2, 0, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 8, 0, 0, 2, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 2, 0, 0, 8, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0], [0, 8, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0], [0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; public static var STAGE12:Array = [[2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2], [8, 8, 8, 2, 8, 8, 2, 8, 8, 0, 0, 8, 8, 0, 0, 8, 8, 2, 8, 8, 2, 8, 8, 8], [0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0], [0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], [0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0], [6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6], [7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7], [0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 1, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], [0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], [0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0], [8, 8, 8, 2, 8, 8, 2, 8, 8, 0, 0, 8, 8, 0, 0, 8, 8, 2, 8, 8, 2, 8, 8, 8], [2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2]]; public static var STAGE13:Array = [[0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 2, 2, 2, 2, 0, 3, 0, 2, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 8, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 8, 0, 0], [2, 8, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 8, 2], [0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0], [3, 8, 8, 8, 8, 8, 8, 8, 4, 0, 0, 0, 0, 0, 0, 6, 8, 8, 8, 8, 8, 8, 8, 3], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, 8, 8, 8, 8, 8, 8, 8, 7, 0, 0, 0, 0, 0, 0, 5, 8, 8, 8, 8, 8, 8, 8, 3], [0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0], [2, 8, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 8, 2], [0, 0, 8, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 8, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 0, 1, 0, 0, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 2, 2, 2, 2, 0, 3, 0, 2, 0, 0, 0, 0, 0, 0]]; public static var STAGE14:Array = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0], [0, 0, 0, 0, 9, 3, 9, 0, 8, 8, 8, 0, 0, 8, 8, 8, 0, 9, 3, 9, 0, 0, 0, 0], [0, 0, 0, 0, 0, 9, 0, 8, 2, 2, 2, 8, 8, 2, 2, 2, 8, 0, 9, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 8, 5, 8, 8, 8, 0, 0, 8, 8, 8, 7, 8, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 2, 8, 0, 0, 0, 2, 2, 0, 0, 0, 8, 2, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 2, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 2, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 8, 0, 0, 2, 8, 0, 0, 8, 2, 0, 0, 8, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 8, 0, 0, 2, 8, 0, 1, 8, 2, 0, 0, 8, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 2, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 2, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 2, 8, 0, 0, 0, 2, 2, 0, 0, 0, 8, 2, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 8, 6, 8, 8, 8, 0, 0, 8, 8, 8, 4, 8, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 9, 0, 8, 2, 2, 2, 8, 8, 2, 2, 2, 8, 0, 9, 0, 0, 0, 0, 0], [0, 0, 0, 0, 9, 3, 9, 0, 8, 8, 8, 0, 0, 8, 8, 8, 0, 9, 3, 9, 0, 0, 0, 0], [0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; public static var STAGE15:Array = [[7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4], [8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 8], [8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8], [8, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 8, 8, 0, 2, 2, 2, 2, 2, 2, 2, 0, 0, 8], [8, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 8], [8, 0, 0, 2, 0, 9, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 9, 0, 2, 0, 0, 8], [8, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 8], [8, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 8], [8, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 8], [8, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 8], [8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8], [8, 5, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 8], [8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 8], [8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8], [8, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 8], [8, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 8], [8, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 8], [8, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 8], [8, 0, 0, 2, 0, 9, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 9, 0, 2, 0, 0, 8], [8, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 8, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 8], [8, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 8, 8, 0, 2, 2, 2, 2, 2, 2, 2, 0, 0, 8], [8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8], [8, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 8], [5, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6]]; public static var STAGE16:Array = [[7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 4], [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 4], [0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 9, 0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 8, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 8, 8, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 3, 0, 0, 8, 8, 0, 0], [5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2, 2, 8, 0, 2, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 2, 0, 8, 2, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4], [0, 0, 8, 8, 0, 0, 3, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 8, 8, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 8, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0, 9, 9], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0], [5, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], [5, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6]]; public static var STAGE17:Array = [[2, 2, 2, 3, 8, 8, 8, 8, 8, 8, 2, 2, 2, 2, 8, 8, 8, 8, 8, 8, 3, 2, 2, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [5, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 4], [0, 0, 0, 0, 0, 0, 0, 0, 8, 2, 8, 0, 0, 8, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0], [5, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 4], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [5, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 4], [0, 0, 0, 0, 0, 0, 0, 0, 8, 2, 8, 0, 0, 8, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0], [5, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 4], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 2, 2, 3, 8, 8, 8, 8, 8, 8, 2, 2, 2, 2, 8, 8, 8, 8, 8, 8, 3, 2, 2, 2]]; public static var STAGE18:Array = [[2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [8, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 8], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], [2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 5, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 4, 0, 0, 8, 0], [0, 8, 0, 0, 5, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 4, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 8, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2], [0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [8, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 8], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 2]]; public static var STAGE19:Array = [[7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0], [0, 0, 8, 2, 2, 8, 0, 0, 0, 0, 8, 2, 2, 8, 0, 0, 0, 0, 8, 2, 2, 8, 0, 0], [0, 0, 8, 2, 2, 8, 0, 0, 0, 0, 8, 2, 2, 8, 0, 0, 0, 0, 8, 2, 2, 8, 0, 0], [0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0], [0, 0, 8, 2, 2, 8, 0, 0, 0, 0, 8, 2, 2, 8, 0, 0, 0, 0, 8, 2, 2, 8, 0, 0], [0, 0, 8, 2, 2, 8, 0, 0, 0, 0, 8, 2, 2, 8, 0, 0, 0, 0, 8, 2, 2, 8, 0, 0], [0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0], [0, 0, 8, 2, 2, 8, 0, 0, 0, 0, 8, 2, 2, 8, 0, 0, 0, 0, 8, 2, 2, 8, 0, 0], [0, 0, 8, 2, 2, 8, 0, 0, 0, 0, 8, 2, 2, 8, 0, 0, 0, 0, 8, 2, 2, 8, 0, 0], [0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6]]; public static var ENERGY:int = 0; public static var BLOCKW:int = 20; public static var SOUNDEXTRANET:SoundExtraNet = new SoundExtraNet(); public static var SOUNDMENUMOVEMENT:SoundMenuMovement = new SoundMenuMovement(); public static var PARTICLES:Array; public static var AUDIOSTATE:int = 1; public static var GAMEH:int; public static var GAMEMUTED:Boolean = false; public static var STAGE20:Array = [[2, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 3], [2, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 8, 2], [2, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 8, 2], [0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 7, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 2, 2, 8, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 0, 0, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 7, 0, 0, 0, 0, 0, 0, 2, 2, 8, 2, 2, 0, 0, 0, 8, 0, 0, 2, 0, 0, 0, 0], [0, 9, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 2, 0, 0], [9, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 8, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 8, 2], [2, 2, 2, 0, 0, 0, 0, 0, 3, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2]]; public static var STAGE21:Array = [[2, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 2, 2], [2, 7, 8, 8, 8, 8, 8, 8, 8, 8, 4, 8, 8, 5, 8, 8, 8, 8, 8, 8, 8, 8, 7, 2], [0, 8, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 8, 0], [3, 8, 8, 8, 8, 8, 8, 6, 0, 0, 0, 8, 8, 0, 0, 0, 6, 8, 8, 8, 8, 8, 8, 3], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 8, 8, 5, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2], [2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 8, 8, 5, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0], [3, 8, 8, 8, 8, 8, 8, 7, 0, 0, 0, 8, 8, 0, 0, 0, 7, 8, 8, 8, 8, 8, 8, 3], [0, 8, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 8, 0, 0, 0, 1, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 8, 0], [0, 8, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 8, 0], [2, 5, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 6, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 2], [2, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 2, 2]]; public static var STAGE22:Array = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0], [9, 9, 9, 9, 9, 8, 4, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 3], [3, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 5, 8, 9, 9, 9, 9, 9], [0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; public static var STAGE23:Array = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0], [0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 8, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 2, 8, 0, 0, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 6, 6, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2, 0, 0, 0], [0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], [3, 0, 8, 0, 0, 0, 4, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 5, 0, 0, 0, 8, 0, 3], [3, 0, 8, 0, 0, 0, 4, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 5, 0, 0, 0, 8, 0, 3], [0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], [0, 0, 0, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2, 0, 0, 0], [0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 7, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 2, 8, 0, 0, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 8, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0], [0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; public static var STAGE24:Array = [[0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9], [0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0], [0, 0, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 8, 0, 0], [8, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 8], [8, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 8], [8, 0, 0, 0, 0, 0, 0, 3, 2, 2, 2, 8, 8, 2, 2, 2, 3, 0, 0, 0, 0, 0, 0, 8], [2, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 2], [2, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0], [0, 0, 2, 2, 3, 0, 0, 0, 8, 8, 8, 4, 5, 8, 8, 8, 0, 0, 0, 3, 2, 2, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0], [3, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 3], [0, 0, 2, 2, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 2, 2, 0, 0], [0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0]]; public static var STAGE25:Array = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4], [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2], [2, 9, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 8, 8, 0, 8, 8, 2, 8, 8, 8, 2], [2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [2, 0, 0, 2, 0, 0, 0, 2, 8, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2], [2, 8, 8, 2, 8, 8, 8, 2, 8, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2], [2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 0, 0, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2], [2, 9, 9, 2, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 2, 0, 0, 2, 0, 0, 0, 2], [2, 9, 9, 2, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 2, 0, 0, 2, 8, 8, 8, 2], [2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 9, 2, 9, 2, 2, 3, 2, 0, 0, 2, 2, 2, 2, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [2, 0, 0, 3, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [2, 8, 8, 2, 8, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 3, 2, 2, 2], [2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2]]; public static var STAGE26:Array = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 3, 3, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 2], [2, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 3, 3, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 9, 9, 9, 0, 3, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 0, 9, 9, 9, 2]]; public static var STAGE27:Array = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 7, 0, 0, 0, 0, 8, 0, 0, 0, 9, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 7, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 4, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 8, 8, 8, 8, 8, 8, 3, 8, 8, 8, 8, 8, 8, 8, 8, 3, 8, 8, 8, 8, 8, 8, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 8, 8, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 9, 5, 0, 0, 0, 0, 8, 8, 8, 8, 3, 3, 8, 8, 8, 8, 0, 0, 0, 0, 4, 9, 0], [0, 9, 5, 0, 0, 0, 0, 8, 8, 8, 8, 3, 3, 8, 8, 8, 8, 0, 0, 0, 0, 4, 9, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 8, 0, 8, 8, 0, 8, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 8, 8, 8, 8, 8, 8, 3, 8, 8, 8, 8, 8, 8, 8, 8, 3, 8, 8, 8, 8, 8, 8, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 5, 0, 0, 0, 0, 0, 8, 0, 0, 0, 6, 6, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 9, 9, 0, 0, 0, 8, 0, 0, 0, 0, 6, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; public static var TITLESCREEN:int = 0; public static var STAGE29:Array = [[0, 0, 0, 0, 0, 0, 8, 8, 8, 2, 0, 0, 0, 0, 8, 8, 8, 2, 0, 0, 8, 0, 0, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 2], [5, 0, 8, 8, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 2, 0, 0, 8, 0, 0, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0], [3, 0, 0, 0, 0, 2, 2, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4], [0, 0, 0, 0, 0, 2, 2, 2, 8, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2, 2, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 9, 9, 9, 9, 8, 8, 8, 5, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2, 2, 2, 9, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 8, 0, 0, 2, 3], [0, 0, 0, 0, 0, 2, 2, 2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2, 2, 2, 9, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8], [2, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 3, 2, 9, 2, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8], [0, 0, 0, 0, 0, 0, 2, 2, 2, 8, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 8], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 2, 2, 0, 3, 0, 9, 9, 9, 9, 9, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; public static var STAGESINSANE:Array = [STAGE25, STAGE26, STAGE27, STAGE28, STAGE29, STAGE30, STAGE31, STAGE32]; public static var STAGESHARD:Array = [STAGE17, STAGE18, STAGE19, STAGE20, STAGE21, STAGE22, STAGE23, STAGE24]; public static var STAGE28:Array = [[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7], [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 2, 0, 8, 0, 8, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 8, 8, 8, 2, 0, 0, 0, 0, 2, 2, 0, 8, 0, 8, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 8, 0, 8, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 2, 0, 2, 8, 2, 0, 2, 0, 0, 0, 0, 0], [0, 8, 8, 8, 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0], [9, 0, 0, 0, 0, 8, 8, 8, 5, 0, 0, 8, 8, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [6, 2, 2, 2, 2, 2, 2, 2, 8, 2, 2, 2, 2, 2, 2, 8, 2, 2, 2, 2, 2, 2, 2, 2], [2, 2, 2, 2, 2, 2, 3, 2, 8, 2, 2, 2, 2, 2, 2, 8, 2, 2, 2, 2, 2, 2, 2, 7], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 2, 2, 0, 0, 0, 0, 0, 0, 2, 8, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 8, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 8, 8, 0, 0, 4, 8, 8, 8, 8, 8, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 8, 0, 0, 0], [0, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 8, 0, 0, 0], [0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 8, 0, 0, 0, 8, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 8, 8, 0, 0, 0, 0], [0, 8, 0, 0, 0, 8, 0, 0, 8, 8, 8, 2, 2, 0, 0, 0, 9, 3, 8, 8, 8, 8, 8, 8], [0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, 8, 8, 0, 0, 0, 0], [0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [6, 0, 8, 8, 8, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4]]; public static var GAMEW:int; public static var SOUNDBACKGROUNDLOOP:SoundBackgroundLoop = new SoundBackgroundLoop(); public static var PLAYSCREEN:int = 3; public static var GAMEOVERSCREEN:int = 4; public static var SOUNDGAMEOVER:SoundGameOver = new SoundGameOver(); public static var STAGESEASY:Array = [STAGE01, STAGE02, STAGE03, STAGE04, STAGE05, STAGE06, STAGE07, STAGE08]; private static var main:Main; public static var STAGE30:Array = [[0, 0, 0, 8, 8, 8, 8, 8, 8, 3, 9, 9, 9, 9, 3, 8, 8, 8, 8, 8, 8, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], [5, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 7, 7, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 4], [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], [8, 8, 8, 8, 8, 3, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3, 8, 8, 8, 8, 8], [0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0], [6, 0, 0, 0, 0, 4, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 5, 0, 0, 0, 0, 7], [0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0], [8, 8, 8, 8, 8, 3, 8, 8, 8, 8, 1, 0, 0, 0, 8, 8, 8, 8, 3, 8, 8, 8, 8, 8], [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], [5, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 6, 6, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 4], [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 8, 8, 8, 8, 8, 8, 3, 9, 9, 9, 9, 3, 8, 8, 8, 8, 8, 8, 0, 0, 0]]; public static var STAGE31:Array = [[5, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 3, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 8, 8], [0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 2, 2, 2, 2], [0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0], [0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], [0, 9, 0, 0, 2, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 9, 0, 0, 2, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 7, 8], [0, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 8, 0, 8], [0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 8], [0, 0, 0, 0, 8, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 8], [5, 0, 0, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 0, 8], [0, 1, 0, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3, 8, 8, 8], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 2, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6]]; public static var STAGE32:Array = [[5, 5, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 9, 0, 9, 0, 0, 0, 0, 0, 0, 0, 7], [0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 8], [0, 0, 0, 0, 5, 8, 8, 8, 0, 0, 0, 9, 9, 0, 0, 0, 8, 8, 8, 7, 0, 0, 0, 8], [0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8], [0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8], [9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 8, 0], [0, 0, 0, 8, 0, 0, 0, 0, 5, 0, 9, 0, 8, 8, 8, 7, 0, 0, 8, 0, 0, 0, 8, 0], [0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0], [9, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 8, 0, 0], [0, 0, 8, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 9, 0, 8, 0, 0], [0, 0, 8, 0, 9, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 9, 0, 8, 0, 0], [0, 0, 8, 0, 0, 0, 8, 0, 9, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 9], [0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0], [0, 8, 0, 0, 0, 8, 0, 0, 6, 8, 8, 8, 0, 9, 0, 4, 0, 0, 0, 0, 8, 0, 0, 9], [0, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0], [8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0], [8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0], [8, 0, 0, 0, 6, 8, 8, 8, 0, 0, 0, 9, 9, 0, 0, 0, 8, 8, 8, 4, 0, 0, 0, 1], [8, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0], [6, 0, 0, 0, 0, 0, 0, 9, 0, 9, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 4, 4]]; public static var POLICYLOADED:Boolean = false; public static var CURRENTDIFFICULTY:int = 0; public static var VICTORYSCREEN:int = 5; public static var SOUNDMENUSELECT:SoundMenuSelect = new SoundMenuSelect(); public static var SOUNDBLOCK:SoundBlock = new SoundBlock(); public static var SOUNDENERGYNET:SoundEnergyNet = new SoundEnergyNet(); public static var LIVES:int = 3; public static var STAGESMEDIUM:Array = [STAGE09, STAGE10, STAGE11, STAGE12, STAGE13, STAGE14, STAGE15, STAGE16]; public static var SOUNDBONUSCOLLECTIBLE:SoundBonusCollectible = new SoundBonusCollectible(); public static var BALL:Ball; public static function init(_arg1:Main):void{ main = _arg1; GAMEH = main.gameStage.stageHeight; GAMEW = main.gameStage.stageWidth; PARTICLES = new Array(); PARTICLELAYER = new Sprite(); } public static function removeParticle(_arg1:Particle):void{ var _local2:int; _local2 = 0; while (_local2 < PARTICLES.length) { if (PARTICLES[_local2] == _arg1){ PARTICLELAYER.removeChild(_arg1); PARTICLES[_local2] = null; _local2 = PARTICLES.length; }; _local2++; }; PARTICLES = Toolkit.cleanArray(PARTICLES); } public static function retryStage():void{ ENERGY = 0; LIVES = 3; SCORE = Math.ceil((SCORE / 2)); } public static function modifyAudio():void{ AUDIOSTATE++; if (AUDIOSTATE > 4){ AUDIOSTATE = 1; }; switch (AUDIOSTATE){ case 1: GAMEMUTED = false; MUSICMUTED = false; break; case 2: GAMEMUTED = false; MUSICMUTED = true; break; case 3: GAMEMUTED = true; MUSICMUTED = false; break; case 4: GAMEMUTED = true; MUSICMUTED = true; break; }; } public static function addParticle(_arg1:Particle):void{ PARTICLES.push(_arg1); PARTICLELAYER.addChild(_arg1); } public static function modifyScore(_arg1:int):void{ SCORE = (SCORE + _arg1); if (SCORE < 0){ SCORE = 0; }; } public static function modifyLives(_arg1:int):void{ LIVES = (LIVES + _arg1); } public static function setGravity(_arg1:int, _arg2:int):void{ GRAVITY = new Point(_arg1, _arg2); } public static function loadPolicy():void{ if (!POLICYLOADED){ Security.allowDomain("*"); Security.loadPolicyFile("http://hiscore.arcadebomb.com/crossdomain.xml"); }; } public static function setBall(_arg1:Ball):void{ BALL = _arg1; } public static function resetGlobals(_arg1:int):void{ CURRENTDIFFICULTY = _arg1; CURRENTSTAGE = 0; ENERGY = 0; LIVES = 3; SCORE = 0; } public static function modifyEnergy(_arg1:int):void{ ENERGY = (ENERGY + _arg1); if (ENERGY >= 5){ ENERGY = (ENERGY - 5); LIVES = (LIVES + 1); if (!GAMEMUTED){ SOUNDEXTRANET.play(); }; }; } public static function modifyVideo():void{ VIDEOSTATE++; if (VIDEOSTATE > 4){ VIDEOSTATE = 1; }; switch (VIDEOSTATE){ case 1: main.gameStage.quality = "BEST"; break; case 2: main.gameStage.quality = "HIGH"; break; case 3: main.gameStage.quality = "MEDIUM"; break; case 4: main.gameStage.quality = "LOW"; break; }; } public static function incrementStage():void{ CURRENTSTAGE++; } } }//packageSection 28//GlowParticle (GlowParticle) package { import flash.filters.*; public class GlowParticle extends Particle { private var diry:Number; private var dirx:Number; private var decay:Number; public function GlowParticle(_arg1:int, _arg2:int, _arg3:uint, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):void{ x = _arg1; y = _arg2; graphics.beginFill(_arg3, _arg4); graphics.drawCircle(0, 0, _arg5); filters = new Array(new GlowFilter(_arg3)); dirx = _arg6; diry = _arg7; decay = _arg8; Global.addParticle(this); } override public function run():void{ x = (x + dirx); y = (y + diry); scaleX = (scaleY = (scaleY - decay)); if (scaleX < 0){ Global.removeParticle(this); }; } } }//packageSection 29//GravitySwitch (GravitySwitch) package { import flash.filters.*; public class GravitySwitch extends GameObject { private var cooldownTimer:int;// = 0 public var diry:int;// = 0 public var dirx:int;// = 0 private var cooldownMax:int;// = 32 public function GravitySwitch(_arg1:int):void{ cooldownTimer = 0; cooldownMax = 32; dirx = 0; diry = 0; super(); switch (_arg1){ case 1: dirx = -1; break; case 2: dirx = 1; break; case 3: diry = -1; break; case 4: diry = 1; break; }; } override public function setCoolDown():void{ cooldown = true; cooldownTimer = cooldownMax; } override public function run():void{ filters = new Array(new GlowFilter(0xFFFFFF, 1, 6, 6, 2)); if (cooldown){ cooldownTimer--; if (cooldownTimer < 0){ cooldown = false; }; } else { if (Toolkit.randomInt(1, 100) > 80){ new GlowParticle(((x + 4) + Toolkit.randomInt(0, width)), ((y + 4) + Toolkit.randomInt(0, height)), 0xFFFFFF, 1, Toolkit.randomDec(1, 4, 2), dirx, diry, 0.025); }; }; } } }//packageSection 30//HeadsUpDisplay (HeadsUpDisplay) package { import flash.display.*; public dynamic class HeadsUpDisplay extends Sprite { } }//packageSection 31//HighScoreScreen (HighScoreScreen) package { import flash.events.*; import flash.display.*; import flash.net.*; public class HighScoreScreen extends GameScreen { private var modes:Array; private var numbersArray:Array; private var bg:Background; private var mediumText:GameText; private var cursor:GravitySwitch; private var scoreTable:Sprite; private var easyText:GameText; private var titleGraphic:TitleGraphic; private var cursorOffset:int;// = 2 private var mainText:GameText; private var insaneText:GameText; private var cursorPosition:int;// = 0 private var menuItems:Array; private var arcadeBombButton:ArcadeBombButton; private var menuGradient:MenuGradient; private var currentMode:int;// = 0 private var hardText:GameText; private var holdingKey:Boolean;// = false private var scoresArray:Array; private var scoreText:GameText; private var namesArray:Array; public function HighScoreScreen():void{ var _local1:int; cursorPosition = 0; cursorOffset = 2; holdingKey = false; currentMode = 0; modes = new Array("Easy", "Medium", "Hard", "Insane"); numbersArray = new Array(); namesArray = new Array(); scoresArray = new Array(); super(); Global.loadPolicy(); addChild((bg = new Background())); addChild((titleGraphic = new TitleGraphic())); addChild((scoreText = new GameText("High Scores: Easy Mode"))); scoreText.setTextSize(24); scoreText.x = ((Global.GAMEW - scoreText.width) / 2); scoreText.y = 168; addChild((menuGradient = new MenuGradient())); menuGradient.x = 264; menuGradient.y = 380; menuItems = new Array(); addChild((easyText = new GameText("Easy Mode"))); easyText.x = 280; easyText.y = 380; menuItems.push(easyText); addChild((mediumText = new GameText("Medium Mode"))); mediumText.x = 280; mediumText.y = 400; menuItems.push(mediumText); addChild((hardText = new GameText("Hard Mode"))); hardText.x = 280; hardText.y = 420; menuItems.push(hardText); addChild((insaneText = new GameText("Insane Mode"))); insaneText.x = 280; insaneText.y = 440; menuItems.push(insaneText); addChild((mainText = new GameText("Main Menu"))); mainText.x = 280; mainText.y = 480; menuItems.push(mainText); addChild((cursor = new GravitySwitch(1))); cursor.x = 0x0100; cursor.y = (menuItems[cursorPosition].y + cursorOffset); menuGradient.y = cursor.y; addChild((arcadeBombButton = new ArcadeBombButton())); arcadeBombButton.x = 356; arcadeBombButton.y = 0x0202; addChild(Global.PARTICLELAYER); addChild((scoreTable = new Sprite())); scoreTable.x = 32; scoreTable.y = 260; scoreTable.visible = false; Control.setConfirmHeld(true); _local1 = 0; while (_local1 < 10) { numbersArray.push(new GameText((String((_local1 + 1)) + "."))); scoreTable.addChild(numbersArray[_local1]); numbersArray[_local1].y = (_local1 * 20); namesArray.push(new GameText("loading...")); scoreTable.addChild(namesArray[_local1]); namesArray[_local1].x = 32; namesArray[_local1].y = (_local1 * 20); scoresArray.push(new GameText("--")); scoreTable.addChild(scoresArray[_local1]); scoresArray[_local1].x = 144; scoresArray[_local1].y = (_local1 * 20); _local1++; }; getScores(0); } public function getScores(_arg1:int):void{ var _local2:int; var _local3:URLRequest; var _local4:URLLoader; if (!scoreTable.visible){ scoreTable.visible = true; }; currentMode = _arg1; scoreText.setText((("High Scores: " + modes[currentMode]) + " Mode")); _local2 = 0; while (_local2 < 10) { namesArray[_arg1].setText("loading..."); scoresArray[_arg1].setText("--"); _local2++; }; _local3 = new URLRequest((("http://hiscore.arcadebomb.com/gravi_get_" + String((currentMode + 1))) + ".php")); _local4 = new URLLoader(); _local4.dataFormat = URLLoaderDataFormat.VARIABLES; _local3.method = URLRequestMethod.POST; _local4.addEventListener(Event.COMPLETE, updateScores); _local4.addEventListener(IOErrorEvent.IO_ERROR, onIOError); _local4.load(_local3); } public function updateScores(_arg1:Event):void{ var _local2:URLLoader; var _local3:int; _local2 = URLLoader(_arg1.target); _local3 = 0; while (_local3 < 10) { namesArray[_local3].setText(_local2.data[("name" + String((_local3 + 1)))]); scoresArray[_local3].setText(_local2.data[("score" + String((_local3 + 1)))]); _local3++; }; } override public function run():void{ var _local1:int; cursor.run(); arcadeBombButton.run(); scoreText.x = ((Global.GAMEW - scoreText.width) / 2); _local1 = 0; while (_local1 < Global.PARTICLES.length) { if (Global.PARTICLES[_local1] != null){ Global.PARTICLES[_local1].run(); }; _local1++; }; if (((Control.isKeyDown(Control.UP)) || (Control.isKeyDown(Control.UP2)))){ if (!holdingKey){ holdingKey = true; cursorPosition--; if (!Global.GAMEMUTED){ Global.SOUNDMENUMOVEMENT.play(); }; }; } else { if (((Control.isKeyDown(Control.DOWN)) || (Control.isKeyDown(Control.DOWN2)))){ if (!holdingKey){ holdingKey = true; cursorPosition++; if (!Global.GAMEMUTED){ Global.SOUNDMENUMOVEMENT.play(); }; }; } else { holdingKey = false; }; }; if (Control.isKeyDown(Control.CONFIRM)){ if (!Control.CONFIRMHELD){ Control.setConfirmHeld(true); if (!Global.GAMEMUTED){ Global.SOUNDMENUSELECT.play(); }; switch (cursorPosition){ case 0: getScores(0); break; case 1: getScores(1); break; case 2: getScores(2); break; case 3: getScores(3); break; case 4: Control.setScreen(Global.TITLESCREEN); break; }; }; } else { Control.setConfirmHeld(false); }; if ((((((((Control.MOUSEPOINT.x > 280)) && ((Control.MOUSEPOINT.x < 480)))) && ((Control.MOUSEPOINT.y > 380)))) && ((Control.MOUSEPOINT.y < 496)))){ if ((((Control.MOUSEPOINT.y > 380)) && ((Control.MOUSEPOINT.y < 396)))){ if (((!((cursorPosition == 0))) && (!(Global.GAMEMUTED)))){ Global.SOUNDMENUMOVEMENT.play(); }; cursorPosition = 0; }; if ((((Control.MOUSEPOINT.y > 400)) && ((Control.MOUSEPOINT.y < 416)))){ if (((!((cursorPosition == 1))) && (!(Global.GAMEMUTED)))){ Global.SOUNDMENUMOVEMENT.play(); }; cursorPosition = 1; }; if ((((Control.MOUSEPOINT.y > 420)) && ((Control.MOUSEPOINT.y < 436)))){ if (((!((cursorPosition == 2))) && (!(Global.GAMEMUTED)))){ Global.SOUNDMENUMOVEMENT.play(); }; cursorPosition = 2; }; if ((((Control.MOUSEPOINT.y > 440)) && ((Control.MOUSEPOINT.y < 456)))){ if (((!((cursorPosition == 3))) && (!(Global.GAMEMUTED)))){ Global.SOUNDMENUMOVEMENT.play(); }; cursorPosition = 3; }; if ((((Control.MOUSEPOINT.y > 480)) && ((Control.MOUSEPOINT.y < 496)))){ if (((!((cursorPosition == 4))) && (!(Global.GAMEMUTED)))){ Global.SOUNDMENUMOVEMENT.play(); }; cursorPosition = 4; }; if (Control.MOUSEDOWN){ if (!Global.GAMEMUTED){ Global.SOUNDMENUSELECT.play(); }; switch (cursorPosition){ case 0: getScores(0); break; case 1: getScores(1); break; case 2: getScores(2); break; case 3: getScores(3); break; case 4: Control.setScreen(Global.TITLESCREEN); break; }; Control.setMouseDown(false); Control.resetFocus(); }; }; if (cursorPosition < 0){ cursorPosition = (menuItems.length - 1); }; if (cursorPosition > (menuItems.length - 1)){ cursorPosition = 0; }; cursor.y = (menuItems[cursorPosition].y + cursorOffset); menuGradient.y = cursor.y; } public function onIOError(_arg1:IOErrorEvent):void{ var _local2:int; _local2 = 0; while (_local2 < 10) { namesArray[_local2].setText("load error..."); scoresArray[_local2].setText("--"); _local2++; }; } } }//packageSection 32//Main (Main) package { import flash.display.*; public class Main extends Sprite { public var gameStage:Stage; private var screen:GameScreen; public function Main(_arg1:Stage):void{ gameStage = _arg1; Control.init(this); Global.init(this); setScreen(Global.TITLESCREEN); } public function setScreen(_arg1:Number):void{ if (screen != null){ removeChild(screen); }; switch (_arg1){ case Global.TITLESCREEN: screen = new TitleScreen(); break; case Global.CREDITSSCREEN: screen = new CreditsScreen(); break; case Global.HIGHSCORESCREEN: screen = new HighScoreScreen(); break; case Global.PLAYSCREEN: screen = new PlayScreen(); break; case Global.GAMEOVERSCREEN: screen = new GameOverScreen(); break; case Global.VICTORYSCREEN: screen = new VictoryScreen(); break; }; addChild(screen); } public function run():void{ if (((!((screen == null))) && (!(Toolkit.SITELOCKED)))){ screen.run(); if (Control.isKeyDown(Control.AUDIOBUTTON)){ if (!Control.AUDIOHELD){ Control.setAudioHeld(true); Global.modifyAudio(); }; } else { Control.setAudioHeld(false); }; if (Control.isKeyDown(Control.VIDEOBUTTON)){ if (!Control.VIDEOHELD){ Control.setVideoHeld(true); Global.modifyVideo(); }; } else { Control.setVideoHeld(false); }; }; } } }//packageSection 33//MenuGradient (MenuGradient) package { import flash.display.*; public dynamic class MenuGradient extends Sprite { } }//packageSection 34//Particle (Particle) package { import flash.display.*; public class Particle extends Sprite { public function Particle():void{ } public function run():void{ } } }//packageSection 35//PauseGraphic (PauseGraphic) package { import flash.display.*; public dynamic class PauseGraphic extends Sprite { } }//packageSection 36//PlayScreen (PlayScreen) package { import flash.display.*; import flash.geom.*; import flash.filters.*; public class PlayScreen extends GameScreen { private var gems:Array; private var pauseGraphic:PauseGraphic; private var stageArray:Array; private var completionText:GameText; private var bg:Background; private var stageText:GameText; private var stageCompleting:Boolean;// = false private var headsUpDisplay:HeadsUpDisplay; private var netText:GameText; private var backgroundText:BackgroundText; private var requiredCollectibles:int;// = 0 private var gamePaused:Boolean;// = false private var soundBlock:Boolean;// = false private var requiredCollectiblesMax:int;// = 0 private var ballRing:BallRing; private var gemLocations:Array; private var bouncePenalty:Boolean;// = false private var scoreText:GameText; private var titleScreen:Boolean;// = false private var soundSpringBlock:Boolean;// = false private var ball:Ball; public function PlayScreen():void{ ballRing = new BallRing(); requiredCollectibles = 0; requiredCollectiblesMax = 0; stageCompleting = false; titleScreen = false; soundBlock = false; soundSpringBlock = false; bouncePenalty = false; gemLocations = new Array(); gems = new Array(); gamePaused = false; super(); gemLocations.push(new Point(214, 26)); gemLocations.push(new Point(226, 38)); gemLocations.push(new Point(246, 42)); gemLocations.push(new Point(266, 38)); gemLocations.push(new Point(278, 26)); addChild((bg = new Background())); if (Global.CURRENTDIFFICULTY == 0){ addChild((backgroundText = new BackgroundText())); backgroundText.y = (Global.OFFSETY - Global.OFFSETX); backgroundText.gotoAndStop((Global.CURRENTSTAGE + 1)); backgroundText.filters = new Array(new DropShadowFilter()); }; if (Global.CURRENTSTAGE >= 8){ titleScreen = true; } else { buildStage(Global.STAGEDIFFICULTIES[Global.CURRENTDIFFICULTY][Global.CURRENTSTAGE]); }; addChild((ballRing = new BallRing())); addChild((stageText = new GameText(("Construct " + String(((Global.CURRENTSTAGE + 1) + (8 * Global.CURRENTDIFFICULTY))))))); stageText.x = 24; stageText.y = 12; addChild((scoreText = new GameText(("Score: " + Global.SCORE)))); scoreText.x = ((Global.GAMEW - scoreText.width) - 24); scoreText.y = 12; addChild((netText = new GameText(String(Global.LIVES)))); netText.setTextSize(32); netText.x = ((Global.GAMEW - netText.width) / 2); netText.y = 4; addChild((pauseGraphic = new PauseGraphic())); pauseGraphic.visible = false; } private function createEnergyPaddle(_arg1:int, _arg2:int, _arg3:int, _arg4:int):void{ var _local5:int; var _local6:int; var _local7:int; var _local8:Number; var _local9:Number; _local5 = 0; while (_local5 < 64) { _local6 = (_arg1 + (Toolkit.randomInt(-(Global.BLOCKW), Global.BLOCKW) * Math.abs(_arg4))); _local7 = (_arg2 + (Toolkit.randomInt(-(Global.BLOCKH), Global.BLOCKH) * Math.abs(_arg3))); _local8 = Toolkit.randomDec(-1, 1, 1); _local9 = Toolkit.randomDec(-1, 1, 1); new GlowParticle(_local6, _local7, 0xFFFFFF, 1, Toolkit.randomDec(1, 3, 2), _local8, _local9, 0.025); _local5++; }; } private function buildStage(_arg1:Array):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:GameObject; stageArray = Toolkit.create2DArray(_arg1.length, _arg1[0].length); ball = new Ball(); Global.setBall(ball); Global.setGravity(0, 1); _local2 = 0; while (_local2 < _arg1.length) { _local4 = 0; while (_local4 < _arg1[_local2].length) { if (_arg1[_local2][_local4] != 0){ if (_arg1[_local2][_local4] == 1){ ball.setPos(((_local4 * Global.BLOCKW) + Global.OFFSETX), ((_local2 * Global.BLOCKH) + Global.OFFSETY)); } else { switch (_arg1[_local2][_local4]){ case 2: _local5 = new Block(); break; case 3: _local5 = new SpringBlock(); break; case 4: _local5 = new GravitySwitch(1); break; case 5: _local5 = new GravitySwitch(2); break; case 6: _local5 = new GravitySwitch(3); break; case 7: _local5 = new GravitySwitch(4); break; case 8: _local5 = new RequiredCollectible(); requiredCollectiblesMax++; break; case 9: _local5 = new BonusCollectible(); break; }; _local5.x = ((_local4 * Global.BLOCKW) + Global.OFFSETX); _local5.y = ((_local2 * Global.BLOCKH) + Global.OFFSETY); addChild(_local5); stageArray[_local2][_local4] = _local5; }; }; _local4++; }; _local2++; }; addChild(ball); addChild((headsUpDisplay = new HeadsUpDisplay())); addChild(Global.PARTICLELAYER); _local3 = 0; while (_local3 < gemLocations.length) { gems[_local3] = new BonusCollectible(); gems[_local3].visible = false; gems[_local3].x = gemLocations[_local3].x; gems[_local3].y = gemLocations[_local3].y; gems[_local3].filters = new Array(new GlowFilter(0xFFFFFF)); addChild(gems[_local3]); _local3++; }; } private function createBurstEffect(_arg1:int, _arg2:int){ var _local3:int; var _local4:Number; var _local5:Number; _local3 = 0; while (_local3 < 32) { _local4 = Toolkit.randomDec(-1, 1, 1); _local5 = Toolkit.randomDec(-1, 1, 1); new GlowParticle(_arg1, _arg2, 0xFFFFFF, 1, Toolkit.randomDec(1, 3, 2), _local4, _local5, 0.025); _local3++; }; } override public function run():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:int; var _local5:Boolean; var _local6:Sprite; soundBlock = false; soundSpringBlock = false; bouncePenalty = false; if (Global.CURRENTSTAGE < 8){ if (!gamePaused){ ball.run(); ballRing.run(); _local1 = 0; while (_local1 < Global.PARTICLES.length) { if (Global.PARTICLES[_local1] != null){ Global.PARTICLES[_local1].run(); }; _local1++; }; _local2 = 0; while (_local2 < stageArray.length) { _local3 = 0; while (_local3 < stageArray[_local2].length) { if (stageArray[_local2][_local3] != null){ stageArray[_local2][_local3].run(); if (Collision.isColliding(ball, stageArray[_local2][_local3], this, true, 0.5)){ switch (stageArray[_local2][_local3].toString()){ case "[object Block]": if (((!(Global.GAMEMUTED)) && (!(soundBlock)))){ Global.SOUNDBLOCK.play(); soundBlock = true; }; if (((!(stageCompleting)) && (!(bouncePenalty)))){ Global.modifyScore(-5); bouncePenalty = true; }; ball.bounce(1); break; case "[object SpringBlock]": if (((!(Global.GAMEMUTED)) && (!(soundSpringBlock)))){ Global.SOUNDSPRINGBLOCK.play(); soundSpringBlock = true; }; if (((!(stageCompleting)) && (!(bouncePenalty)))){ Global.modifyScore(-10); bouncePenalty = true; }; ball.bounce(2); break; case "[object RequiredCollectible]": if (!Global.GAMEMUTED){ Global.SOUNDREQUIREDCOLLECTIBLE.play(); }; new ShineParticle((stageArray[_local2][_local3].x + (Global.BLOCKW / 2)), (stageArray[_local2][_local3].y + (Global.BLOCKH / 2)), 0xFFFFFF, 0, 0, 0.15); removeChild(stageArray[_local2][_local3]); stageArray[_local2][_local3] = null; requiredCollectibles++; Global.modifyScore(100); break; case "[object BonusCollectible]": if (!stageCompleting){ if (!Global.GAMEMUTED){ Global.SOUNDBONUSCOLLECTIBLE.play(); }; new ShineParticle((stageArray[_local2][_local3].x + (Global.BLOCKW / 2)), (stageArray[_local2][_local3].y + (Global.BLOCKH / 2)), 0xFFFFFF, 0, 0, 0.15); createBurstEffect((gems[Global.ENERGY].x + (Global.BLOCKW / 2)), (gems[Global.ENERGY].y + (Global.BLOCKH / 2))); removeChild(stageArray[_local2][_local3]); stageArray[_local2][_local3] = null; Global.modifyScore(500); if (Global.ENERGY == 4){ createBurstEffect((Global.GAMEW / 2), 24); _local4 = 0; while (_local4 < (gems.length - 1)) { createBurstEffect((gems[_local4].x + (Global.BLOCKW / 2)), (gems[_local4].y + (Global.BLOCKH / 2))); _local4++; }; }; Global.modifyEnergy(1); }; break; case "[object GravitySwitch]": if (!stageArray[_local2][_local3].cooldown){ if (!Global.GAMEMUTED){ Global.SOUNDGRAVITYSWITCH.play(); }; Global.setGravity(stageArray[_local2][_local3].dirx, stageArray[_local2][_local3].diry); if (!stageCompleting){ Global.modifyScore(-25); }; ball.hang(); stageArray[_local2][_local3].setCoolDown(); }; break; }; }; }; _local3++; }; _local3 = 0; while (_local3 < gems.length) { gems[_local3].visible = false; _local3++; }; _local3 = 0; while (_local3 < Global.ENERGY) { gems[_local3].visible = true; _local3++; }; if ((((Global.LIVES > 0)) && (!(ball.bouncing)))){ _local5 = false; if ((((Global.GRAVITY.x < 0)) && ((ball.x < (Global.OFFSETX * 0.75))))){ _local5 = true; }; if ((((Global.GRAVITY.x > 0)) && ((ball.x > (Global.GAMEW - (Global.OFFSETX * 0.75)))))){ _local5 = true; }; if ((((Global.GRAVITY.y < 0)) && ((ball.y < (Global.OFFSETY - (Global.OFFSETX * 0.25)))))){ _local5 = true; }; if ((((Global.GRAVITY.y > 0)) && ((ball.y > (Global.GAMEH - (Global.OFFSETX * 0.75)))))){ _local5 = true; }; if (_local5){ ball.bounce(2.5); if (!Global.GAMEMUTED){ Global.SOUNDENERGYNET.play(); }; createEnergyPaddle(ball.x, ball.y, Global.GRAVITY.x, Global.GRAVITY.y); if (!stageCompleting){ Global.modifyScore(-150); Global.modifyLives(-1); }; }; }; _local2++; }; if (!stageCompleting){ if (requiredCollectibles >= requiredCollectiblesMax){ stageCompleting = true; if (!Global.GAMEMUTED){ Global.SOUNDLEVELCOMPLETE.play(); }; _local6 = new Sprite(); addChild(_local6); _local6.graphics.beginFill(0, 0.75); _local6.graphics.drawRect(0, 0, Global.GAMEW, Global.GAMEH); addChild((completionText = new GameText("Construct Completed!"))); completionText.setTextSize(32); completionText.x = Global.GAMEW; completionText.y = ((Global.GAMEH - completionText.height) / 2); }; if ((((((((ball.x < -(Global.GAMEW))) || ((ball.x > (Global.GAMEW * 2))))) || ((ball.y < -(Global.GAMEH))))) || ((ball.y > (Global.GAMEH * 2))))){ if (!Global.GAMEMUTED){ Global.SOUNDGAMEOVER.play(); }; Control.setScreen(Global.GAMEOVERSCREEN); }; } else { if ((completionText.x + completionText.width) < 0){ Global.incrementStage(); Control.setScreen(Global.PLAYSCREEN); }; completionText.x = (completionText.x - 8); }; stageText.setText(("Construct " + String(((Global.CURRENTSTAGE + 1) + (8 * Global.CURRENTDIFFICULTY))))); scoreText.setText(("Score: " + Global.SCORE)); netText.setText(String(Global.LIVES)); scoreText.x = ((Global.GAMEW - scoreText.width) - 24); netText.x = ((Global.GAMEW - netText.width) / 2); }; if (Control.isKeyDown(Control.CONFIRM)){ if (!Control.CONFIRMHELD){ if (gamePaused){ gamePaused = false; pauseGraphic.visible = false; } else { gamePaused = true; pauseGraphic.visible = true; }; Control.setConfirmHeld(true); }; } else { Control.setConfirmHeld(false); }; }; if (titleScreen){ Control.setScreen(Global.VICTORYSCREEN); }; } } }//packageSection 37//Preloader (Preloader) package { import flash.display.*; public dynamic class Preloader extends MovieClip { public var link_btn:SimpleButton; public var logo_mc:MovieClip; public function Preloader(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//packageSection 38//RequiredCollectible (RequiredCollectible) package { public class RequiredCollectible extends GameObject { public function RequiredCollectible():void{ } override public function run():void{ if (Toolkit.randomInt(0, 500) < 1){ new ShineParticle((x + (Global.BLOCKW / 2)), (y + (Global.BLOCKH / 2)), 0xFFFFFF, 0, 0, 0.15); }; } } }//packageSection 39//ShineParticle (ShineParticle) package { import flash.filters.*; public class ShineParticle extends Particle { private var diry:Number; private var dirx:Number; private var decay:Number; public function ShineParticle(_arg1:int, _arg2:int, _arg3:uint, _arg4:Number, _arg5:Number, _arg6:Number):void{ x = _arg1; y = _arg2; filters = new Array(new GlowFilter(_arg3)); dirx = _arg4; diry = _arg5; decay = _arg6; Global.addParticle(this); } override public function run():void{ x = (x + dirx); y = (y + diry); rotation = (rotation + 10); scaleX = (scaleY = (scaleY - decay)); if (scaleX < 0){ Global.removeParticle(this); }; } } }//packageSection 40//SoundArcadeBombButton (SoundArcadeBombButton) package { import flash.media.*; public dynamic class SoundArcadeBombButton extends Sound { } }//packageSection 41//SoundBackgroundLoop (SoundBackgroundLoop) package { import flash.media.*; public dynamic class SoundBackgroundLoop extends Sound { } }//packageSection 42//SoundBlock (SoundBlock) package { import flash.media.*; public dynamic class SoundBlock extends Sound { } }//packageSection 43//SoundBonusCollectible (SoundBonusCollectible) package { import flash.media.*; public dynamic class SoundBonusCollectible extends Sound { } }//packageSection 44//SoundEnergyNet (SoundEnergyNet) package { import flash.media.*; public dynamic class SoundEnergyNet extends Sound { } }//packageSection 45//SoundExtraNet (SoundExtraNet) package { import flash.media.*; public dynamic class SoundExtraNet extends Sound { } }//packageSection 46//SoundGameOver (SoundGameOver) package { import flash.media.*; public dynamic class SoundGameOver extends Sound { } }//packageSection 47//SoundGravitySwitch (SoundGravitySwitch) package { import flash.media.*; public dynamic class SoundGravitySwitch extends Sound { } }//packageSection 48//SoundLevelComplete (SoundLevelComplete) package { import flash.media.*; public dynamic class SoundLevelComplete extends Sound { } }//packageSection 49//SoundMenuMovement (SoundMenuMovement) package { import flash.media.*; public dynamic class SoundMenuMovement extends Sound { } }//packageSection 50//SoundMenuSelect (SoundMenuSelect) package { import flash.media.*; public dynamic class SoundMenuSelect extends Sound { } }//packageSection 51//SoundRequiredCollectible (SoundRequiredCollectible) package { import flash.media.*; public dynamic class SoundRequiredCollectible extends Sound { } }//packageSection 52//SoundSpringBlock (SoundSpringBlock) package { import flash.media.*; public dynamic class SoundSpringBlock extends Sound { } }//packageSection 53//SpringBlock (SpringBlock) package { public class SpringBlock extends GameObject { public function SpringBlock():void{ updateArrows(); } override public function run():void{ updateArrows(); } private function updateArrows():void{ if (Global.GRAVITY.x == 0){ if (Global.GRAVITY.y < 0){ gotoAndStop(4); } else { gotoAndStop(3); }; } else { if (Global.GRAVITY.x < 0){ gotoAndStop(2); } else { gotoAndStop(1); }; }; } } }//packageSection 54//SubmitPanel (SubmitPanel) package { import flash.display.*; import flash.text.*; public class SubmitPanel extends Sprite { public var submitField:TextField; public function SubmitPanel():void{ } public function getPlayerName():String{ return (submitField.text); } } }//packageSection 55//SubmitPanelButton (SubmitPanelButton) package { import flash.display.*; import flash.filters.*; public class SubmitPanelButton extends Sprite { public var clicked:Boolean;// = false private var glow:GlowFilter; public function SubmitPanelButton():void{ clicked = false; super(); glow = new GlowFilter(0xFFFFFF, 1, 6, 6, 2, 1, false, false); } private function handleClick():void{ if (!Global.GAMEMUTED){ Global.SOUNDARCADEBOMBBUTTON.play(); }; clicked = true; } public function run():void{ filters = new Array(); if ((((((((Control.MOUSEPOINT.x >= x)) && ((Control.MOUSEPOINT.x <= ((x + width) - 1))))) && ((Control.MOUSEPOINT.y >= y)))) && ((Control.MOUSEPOINT.y <= ((y + height) - 1))))){ filters = new Array(glow); }; if (((((Control.MOUSEDOWN) && ((Control.MOUSEDOWNPOINT.x >= x)))) && ((Control.MOUSEDOWNPOINT.x <= ((x + width) - 1))))){ if ((((Control.MOUSEDOWNPOINT.y >= y)) && ((Control.MOUSEDOWNPOINT.y <= ((y + height) - 1))))){ handleClick(); Control.setMouseDown(false); }; }; } } }//packageSection 56//TitleGraphic (TitleGraphic) package { import flash.display.*; public dynamic class TitleGraphic extends Sprite { } }//packageSection 57//TitleScreen (TitleScreen) package { import flash.net.*; public class TitleScreen extends GameScreen { private var highScoresText:GameText; private var bg:Background; private var mediumText:GameText; private var cursor:GravitySwitch; private var easyText:GameText; private var titleGraphic:TitleGraphic; private var cursorOffset:int;// = 2 private var insaneText:GameText; private var menuItems:Array; private var arcadeBombButton:ArcadeBombButton; private var cursorPosition:int;// = 0 private var menuGradient:MenuGradient; private var moreGamesText:GameText; private var holdingKey:Boolean;// = false private var hardText:GameText; private var audioToggle:AudioToggle; private var videoToggle:VideoToggle; private var creditsText:GameText; public function TitleScreen():void{ cursorPosition = 0; cursorOffset = 2; holdingKey = false; super(); addChild((bg = new Background())); addChild((titleGraphic = new TitleGraphic())); addChild((menuGradient = new MenuGradient())); menuGradient.x = 264; menuGradient.y = 340; menuItems = new Array(); addChild((easyText = new GameText("Easy (Constructs 1-8)"))); easyText.x = 280; easyText.y = 340; menuItems.push(easyText); addChild((mediumText = new GameText("Medium (Constructs 9-16)"))); mediumText.x = 280; mediumText.y = 360; menuItems.push(mediumText); addChild((hardText = new GameText("Hard (Constructs 17-24)"))); hardText.x = 280; hardText.y = 380; menuItems.push(hardText); addChild((insaneText = new GameText("Insane (Constructs 25-32)"))); insaneText.x = 280; insaneText.y = 400; menuItems.push(insaneText); addChild((highScoresText = new GameText("High Scores"))); highScoresText.x = 280; highScoresText.y = 440; menuItems.push(highScoresText); addChild((moreGamesText = new GameText("More Games"))); moreGamesText.x = 280; moreGamesText.y = 460; menuItems.push(moreGamesText); addChild((creditsText = new GameText("Credits"))); creditsText.x = 280; creditsText.y = 480; menuItems.push(creditsText); addChild((audioToggle = new AudioToggle())); audioToggle.x = 8; audioToggle.y = 0x0200; audioToggle.gotoAndStop(1); addChild((videoToggle = new VideoToggle())); videoToggle.x = 8; videoToggle.y = 536; videoToggle.gotoAndStop(1); addChild((cursor = new GravitySwitch(1))); cursor.x = 0x0100; cursor.y = (menuItems[cursorPosition].y + cursorOffset); menuGradient.y = cursor.y; addChild((arcadeBombButton = new ArcadeBombButton())); arcadeBombButton.x = 356; arcadeBombButton.y = 0x0202; addChild(Global.PARTICLELAYER); Control.setConfirmHeld(true); } override public function run():void{ var _local1:int; cursor.run(); audioToggle.run(); videoToggle.run(); arcadeBombButton.run(); _local1 = 0; while (_local1 < Global.PARTICLES.length) { if (Global.PARTICLES[_local1] != null){ Global.PARTICLES[_local1].run(); }; _local1++; }; if (((Control.isKeyDown(Control.UP)) || (Control.isKeyDown(Control.UP2)))){ if (!holdingKey){ holdingKey = true; cursorPosition--; if (!Global.GAMEMUTED){ Global.SOUNDMENUMOVEMENT.play(); }; }; } else { if (((Control.isKeyDown(Control.DOWN)) || (Control.isKeyDown(Control.DOWN2)))){ if (!holdingKey){ holdingKey = true; cursorPosition++; if (!Global.GAMEMUTED){ Global.SOUNDMENUMOVEMENT.play(); }; }; } else { holdingKey = false; }; }; if (Control.isKeyDown(Control.CONFIRM)){ if (!Control.CONFIRMHELD){ Control.setConfirmHeld(true); if (!Global.GAMEMUTED){ Global.SOUNDMENUSELECT.play(); }; switch (cursorPosition){ case 0: Global.resetGlobals(0); Control.setScreen(Global.PLAYSCREEN); break; case 1: Global.resetGlobals(1); Control.setScreen(Global.PLAYSCREEN); break; case 2: Global.resetGlobals(2); Control.setScreen(Global.PLAYSCREEN); break; case 3: Global.resetGlobals(3); Control.setScreen(Global.PLAYSCREEN); break; case 4: Control.setScreen(Global.HIGHSCORESCREEN); break; case 5: navigateToURL(new URLRequest("http://www.arcadebomb.com"), "_blank"); break; case 6: Control.setScreen(Global.CREDITSSCREEN); break; }; }; } else { Control.setConfirmHeld(false); }; if ((((((((Control.MOUSEPOINT.x > 280)) && ((Control.MOUSEPOINT.x < 480)))) && ((Control.MOUSEPOINT.y > 340)))) && ((Control.MOUSEPOINT.y < 496)))){ if ((((Control.MOUSEPOINT.y > 340)) && ((Control.MOUSEPOINT.y < 356)))){ if (((!((cursorPosition == 0))) && (!(Global.GAMEMUTED)))){ Global.SOUNDMENUMOVEMENT.play(); }; cursorPosition = 0; }; if ((((Control.MOUSEPOINT.y > 360)) && ((Control.MOUSEPOINT.y < 376)))){ if (((!((cursorPosition == 1))) && (!(Global.GAMEMUTED)))){ Global.SOUNDMENUMOVEMENT.play(); }; cursorPosition = 1; }; if ((((Control.MOUSEPOINT.y > 380)) && ((Control.MOUSEPOINT.y < 396)))){ if (((!((cursorPosition == 2))) && (!(Global.GAMEMUTED)))){ Global.SOUNDMENUMOVEMENT.play(); }; cursorPosition = 2; }; if ((((Control.MOUSEPOINT.y > 400)) && ((Control.MOUSEPOINT.y < 416)))){ if (((!((cursorPosition == 3))) && (!(Global.GAMEMUTED)))){ Global.SOUNDMENUMOVEMENT.play(); }; cursorPosition = 3; }; if ((((Control.MOUSEPOINT.y > 440)) && ((Control.MOUSEPOINT.y < 456)))){ if (((!((cursorPosition == 4))) && (!(Global.GAMEMUTED)))){ Global.SOUNDMENUMOVEMENT.play(); }; cursorPosition = 4; }; if ((((Control.MOUSEPOINT.y > 460)) && ((Control.MOUSEPOINT.y < 476)))){ if (((!((cursorPosition == 5))) && (!(Global.GAMEMUTED)))){ Global.SOUNDMENUMOVEMENT.play(); }; cursorPosition = 5; }; if ((((Control.MOUSEPOINT.y > 480)) && ((Control.MOUSEPOINT.y < 496)))){ if (((!((cursorPosition == 6))) && (!(Global.GAMEMUTED)))){ Global.SOUNDMENUMOVEMENT.play(); }; cursorPosition = 6; }; if (Control.MOUSEDOWN){ if (!Global.GAMEMUTED){ Global.SOUNDMENUSELECT.play(); }; switch (cursorPosition){ case 0: Global.resetGlobals(0); Control.setScreen(Global.PLAYSCREEN); break; case 1: Global.resetGlobals(1); Control.setScreen(Global.PLAYSCREEN); break; case 2: Global.resetGlobals(2); Control.setScreen(Global.PLAYSCREEN); break; case 3: Global.resetGlobals(3); Control.setScreen(Global.PLAYSCREEN); break; case 4: Control.setScreen(Global.HIGHSCORESCREEN); break; case 5: navigateToURL(new URLRequest("http://www.arcadebomb.com"), "_blank"); break; case 6: Control.setScreen(Global.CREDITSSCREEN); break; }; Control.setMouseDown(false); Control.resetFocus(); }; }; if (cursorPosition < 0){ cursorPosition = (menuItems.length - 1); }; if (cursorPosition > (menuItems.length - 1)){ cursorPosition = 0; }; cursor.y = (menuItems[cursorPosition].y + cursorOffset); menuGradient.y = cursor.y; } } }//packageSection 58//Toolkit (Toolkit) package { import flash.display.*; import flash.net.*; public class Toolkit { public static var SITELOCKED:Boolean = false; public static function cleanArray(_arg1:Array):Array{ var _local2:*; var _local3:int; _local2 = new Array(); _local3 = 0; while (_local3 < _arg1.length) { if (_arg1[_local3] != null){ _local2.push(_arg1[_local3]); }; _local3++; }; return (_local2); } public static function copyArray(_arg1:Array):Array{ var _local2:*; var _local3:int; _local2 = new Array(); _local3 = 0; while (_local3 < _arg1.length) { _local2.push(_arg1[_local3]); _local3++; }; return (_local2); } public static function siteLock(_arg1:Stage, _arg2:String, _arg3:Array):void{ var _local4:String; var _local5:int; var _local6:int; var _local7:String; var _local8:int; var _local9:int; var _local10:int; SITELOCKED = true; _local4 = _arg1.loaderInfo.url; _local5 = (_local4.indexOf("://") + 3); _local6 = _local4.indexOf("/", _local5); _local7 = _local4.substring(_local5, _local6); _local8 = (_local7.lastIndexOf(".") - 1); _local9 = (_local7.lastIndexOf(".", _local8) + 1); _local7 = _local7.substring(_local9, _local7.length); _local10 = 0; while (_local10 < _arg3.length) { if (_local7 == _arg3[_local10]){ SITELOCKED = false; return; }; _local10++; }; if (SITELOCKED){ navigateToURL(new URLRequest(_arg2), "_top"); }; } public static function create2DArray(_arg1:Number, _arg2:Number):Array{ var _local3:*; var _local4:int; _local3 = new Array(_arg2); _local4 = 0; while (_local4 < _arg2) { _local3[_local4] = new Array(_arg1); _local4++; }; return (_local3); } public static function randomInt(_arg1:Number, _arg2:Number):Number{ return (Math.round((_arg1 + (Math.random() * (_arg2 - _arg1))))); } public static function randomDec(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number; var _local5:int; _local4 = 1; _local5 = 0; while (_local5 < _arg3) { _local4 = (_local4 * 10); _local5++; }; return ((Math.round(((_arg1 + (Math.random() * (_arg2 - _arg1))) * _local4)) / _local4)); } } }//packageSection 59//VictoryScreen (VictoryScreen) package { import flash.display.*; import com.adobe.crypto.*; import flash.net.*; public class VictoryScreen extends GameScreen { private var submitPanelButton:SubmitPanelButton; private var overLay:Sprite; private var bg:Background; private var cursor:GravitySwitch; private var scoreFocus:Boolean;// = false private var titleGraphic:TitleGraphic; private var submitText:GameText; private var cursorOffset:int;// = 2 private var mainText:GameText; private var menuItems:Array; private var arcadeBombButton:ArcadeBombButton; private var cursorPosition:int;// = 0 private var menuGradient:MenuGradient; private var moreGamesText:GameText; private var holdingKey:Boolean;// = false private var submitPanel:SubmitPanel; private var scoreText:GameText; public function VictoryScreen():void{ cursorPosition = 0; cursorOffset = 2; holdingKey = false; scoreFocus = false; submitPanel = new SubmitPanel(); submitPanelButton = new SubmitPanelButton(); super(); addChild((bg = new Background())); addChild((titleGraphic = new TitleGraphic())); addChild((scoreText = new GameText(("Score: " + Global.SCORE)))); scoreText.setTextSize(32); scoreText.x = ((Global.GAMEW - scoreText.width) / 2); scoreText.y = 192; addChild((menuGradient = new MenuGradient())); menuGradient.x = 264; menuGradient.y = 440; menuItems = new Array(); addChild((submitText = new GameText("Submit Score"))); submitText.x = 280; submitText.y = 440; menuItems.push(submitText); addChild((moreGamesText = new GameText("More Games"))); moreGamesText.x = 280; moreGamesText.y = 460; menuItems.push(moreGamesText); addChild((mainText = new GameText("Main Menu"))); mainText.x = 280; mainText.y = 480; menuItems.push(mainText); addChild((cursor = new GravitySwitch(1))); cursor.x = 0x0100; cursor.y = (menuItems[cursorPosition].y + cursorOffset); menuGradient.y = cursor.y; addChild((arcadeBombButton = new ArcadeBombButton())); arcadeBombButton.x = 356; arcadeBombButton.y = 0x0202; addChild(Global.PARTICLELAYER); addChild((overLay = new Sprite())); Control.setConfirmHeld(true); } private function showSubmitScreen():void{ if (!scoreFocus){ scoreFocus = true; overLay.graphics.beginFill(0, 0.75); overLay.graphics.drawRect(0, 0, Global.GAMEW, Global.GAMEH); overLay.addChild((submitPanel = new SubmitPanel())); submitPanel.x = ((Global.GAMEW - submitPanel.width) / 2); submitPanel.y = ((Global.GAMEH - submitPanel.height) / 2); overLay.addChild((submitPanelButton = new SubmitPanelButton())); submitPanelButton.x = (submitPanel.x + 232); submitPanelButton.y = (submitPanel.y + 8); }; } override public function run():void{ var _local1:int; var _local2:*; var _local3:URLVariables; var _local4:URLRequest; var _local5:URLLoader; cursor.run(); arcadeBombButton.run(); _local1 = 0; while (_local1 < Global.PARTICLES.length) { if (Global.PARTICLES[_local1] != null){ Global.PARTICLES[_local1].run(); }; _local1++; }; if (!scoreFocus){ if (((Control.isKeyDown(Control.UP)) || (Control.isKeyDown(Control.UP2)))){ if (!holdingKey){ holdingKey = true; cursorPosition--; if (!Global.GAMEMUTED){ Global.SOUNDMENUMOVEMENT.play(); }; }; } else { if (((Control.isKeyDown(Control.DOWN)) || (Control.isKeyDown(Control.DOWN2)))){ if (!holdingKey){ holdingKey = true; cursorPosition++; if (!Global.GAMEMUTED){ Global.SOUNDMENUMOVEMENT.play(); }; }; } else { holdingKey = false; }; }; if (Control.isKeyDown(Control.CONFIRM)){ if (!Control.CONFIRMHELD){ Control.setConfirmHeld(true); if (!Global.GAMEMUTED){ Global.SOUNDMENUSELECT.play(); }; switch (cursorPosition){ case 0: showSubmitScreen(); break; case 1: navigateToURL(new URLRequest("http://www.arcadebomb.com"), "_blank"); break; case 2: Control.setScreen(Global.TITLESCREEN); break; }; }; } else { Control.setConfirmHeld(false); }; if ((((((((Control.MOUSEPOINT.x > 280)) && ((Control.MOUSEPOINT.x < 480)))) && ((Control.MOUSEPOINT.y > 440)))) && ((Control.MOUSEPOINT.y < 496)))){ if ((((Control.MOUSEPOINT.y > 440)) && ((Control.MOUSEPOINT.y < 456)))){ if (((!((cursorPosition == 0))) && (!(Global.GAMEMUTED)))){ Global.SOUNDMENUMOVEMENT.play(); }; cursorPosition = 0; }; if ((((Control.MOUSEPOINT.y > 460)) && ((Control.MOUSEPOINT.y < 476)))){ if (((!((cursorPosition == 1))) && (!(Global.GAMEMUTED)))){ Global.SOUNDMENUMOVEMENT.play(); }; cursorPosition = 1; }; if ((((Control.MOUSEPOINT.y > 480)) && ((Control.MOUSEPOINT.y < 496)))){ if (((!((cursorPosition == 2))) && (!(Global.GAMEMUTED)))){ Global.SOUNDMENUMOVEMENT.play(); }; cursorPosition = 2; }; if (Control.MOUSEDOWN){ if (!Global.GAMEMUTED){ Global.SOUNDMENUSELECT.play(); }; switch (cursorPosition){ case 0: showSubmitScreen(); break; case 1: navigateToURL(new URLRequest("http://www.arcadebomb.com"), "_blank"); break; case 2: Control.setScreen(Global.TITLESCREEN); break; }; Control.setMouseDown(false); Control.resetFocus(); }; }; if (cursorPosition < 0){ cursorPosition = (menuItems.length - 1); }; if (cursorPosition > (menuItems.length - 1)){ cursorPosition = 0; }; cursor.y = (menuItems[cursorPosition].y + cursorOffset); menuGradient.y = cursor.y; } else { Global.loadPolicy(); submitPanelButton.run(); if (submitPanelButton.clicked){ submitPanelButton.clicked = false; _local2 = Number(Global.SCORE); _local3 = new URLVariables(); _local3.n = submitPanel.getPlayerName(); _local3.s = _local2; _local3.t = new Date().getTime(); _local3.k = Math.floor((Math.random() * 100)); _local3.m = MD5.hash(("" + ((_local2 + _local3.k) * 6061))); _local3.mode = (Global.CURRENTDIFFICULTY + 1); _local4 = new URLRequest("http://hiscore.arcadebomb.com/gravib_submit.php"); _local4.method = "POST"; _local4.data = _local3; _local5 = new URLLoader(); _local5.load(_local4); Control.setScreen(Global.TITLESCREEN); }; }; } } }//packageSection 60//VideoToggle (VideoToggle) package { import flash.display.*; import flash.filters.*; public class VideoToggle extends MovieClip { private var glow:GlowFilter; public function VideoToggle():void{ glow = new GlowFilter(0xFFFFFF, 1, 4, 4, 2, 1, false, false); } private function handleClick():void{ Global.modifyVideo(); } public function run():void{ gotoAndStop(Global.VIDEOSTATE); filters = new Array(); if ((((Control.MOUSEPOINT.x >= x)) && ((Control.MOUSEPOINT.x <= ((x + width) - 1))))){ if ((((Control.MOUSEPOINT.y >= y)) && ((Control.MOUSEPOINT.y <= ((y + height) - 1))))){ filters = new Array(glow); }; }; if (((((Control.MOUSEDOWN) && ((Control.MOUSEDOWNPOINT.x >= x)))) && ((Control.MOUSEDOWNPOINT.x <= ((x + width) - 1))))){ if ((((Control.MOUSEDOWNPOINT.y >= y)) && ((Control.MOUSEDOWNPOINT.y <= ((y + height) - 1))))){ handleClick(); Control.setMouseDown(false); }; }; } } }//package
Library Items
Symbol 1 Font {GameFont} | Used by:39 47 48 49 50 53 54 55 56 57 58 59 60 61 62 64 65 66 67 68 69 70 71 82 83 84 85 98 99 101 102 103 104 105 106 107 108 109 110 119 120 123 | |
Symbol 2 Graphic | Used by:6 | |
Symbol 3 Graphic | Used by:6 | |
Symbol 4 Graphic | Used by:6 | |
Symbol 5 Graphic | Used by:6 | |
Symbol 6 MovieClip {ArcadeBombButton} | Uses:2 3 4 5 | Used by:122 |
Symbol 7 Graphic | Used by:36 37 | |
Symbol 8 Graphic | Used by:9 | |
Symbol 9 MovieClip | Uses:8 | Used by:35 |
Symbol 10 Graphic | Used by:11 12 | |
Symbol 11 MovieClip | Uses:10 | Used by:12 |
Symbol 12 MovieClip | Uses:10 11 | Used by:35 |
Symbol 13 Graphic | Used by:17 | |
Symbol 14 Graphic | Used by:15 | |
Symbol 15 MovieClip | Uses:14 | Used by:17 |
Symbol 16 Graphic | Used by:17 | |
Symbol 17 MovieClip | Uses:13 15 16 | Used by:35 |
Symbol 18 Graphic | Used by:19 | |
Symbol 19 MovieClip | Uses:18 | Used by:35 |
Symbol 20 Graphic | Used by:21 | |
Symbol 21 MovieClip | Uses:20 | Used by:35 |
Symbol 22 Graphic | Used by:26 | |
Symbol 23 ShapeTweening | Used by:26 | |
Symbol 24 Graphic | Used by:26 | |
Symbol 25 Graphic | Used by:26 | |
Symbol 26 MovieClip | Uses:22 23 24 25 | Used by:35 |
Symbol 27 Graphic | Used by:28 | |
Symbol 28 MovieClip | Uses:27 | Used by:35 |
Symbol 29 Graphic | Used by:30 | |
Symbol 30 MovieClip | Uses:29 | Used by:35 |
Symbol 31 Graphic | Used by:32 | |
Symbol 32 MovieClip | Uses:31 | Used by:33 |
Symbol 33 MovieClip {Gravibounce_fla.bomb_smoker3_14} | Uses:32 | Used by:34 |
Symbol 34 MovieClip {Gravibounce_fla.bomb_smoker4_13} | Uses:33 | Used by:35 |
Symbol 35 MovieClip {Gravibounce_fla.bomb_preloader_2} | Uses:9 12 17 19 21 26 28 30 34 SS1 | Used by:37 |
Symbol 36 Button | Uses:7 | Used by:37 |
Symbol 37 MovieClip {Preloader} | Uses:7 35 36 | Used by:Timeline |
Symbol 38 Graphic | Used by:122 137 | |
Symbol 39 Text | Uses:1 | Used by:122 |
Symbol 40 Bitmap | Used by:41 | |
Symbol 41 Graphic | Uses:40 | Used by:42 |
Symbol 42 MovieClip {Background} | Uses:41 | Used by:122 |
Symbol 43 Bitmap | Used by:44 | |
Symbol 44 Graphic | Uses:43 | Used by:45 |
Symbol 45 MovieClip {HeadsUpDisplay} | Uses:44 | Used by:122 |
Symbol 46 Graphic | Used by:51 | |
Symbol 47 Text | Uses:1 | Used by:51 |
Symbol 48 Text | Uses:1 | Used by:51 |
Symbol 49 Text | Uses:1 | Used by:51 |
Symbol 50 Text | Uses:1 | Used by:51 |
Symbol 51 MovieClip {PauseGraphic} | Uses:46 47 48 49 50 | Used by:122 |
Symbol 52 Graphic | Used by:63 111 | |
Symbol 53 Text | Uses:1 | Used by:63 |
Symbol 54 Text | Uses:1 | Used by:63 |
Symbol 55 Text | Uses:1 | Used by:63 |
Symbol 56 Text | Uses:1 | Used by:63 |
Symbol 57 Text | Uses:1 | Used by:63 |
Symbol 58 Text | Uses:1 | Used by:63 |
Symbol 59 Text | Uses:1 | Used by:63 |
Symbol 60 Text | Uses:1 | Used by:63 |
Symbol 61 Text | Uses:1 | Used by:63 |
Symbol 62 Text | Uses:1 | Used by:63 |
Symbol 63 MovieClip {AudioToggle} | Uses:52 53 54 55 56 57 58 59 60 61 62 | Used by:122 |
Symbol 64 Text | Uses:1 | Used by:72 |
Symbol 65 Text | Uses:1 | Used by:72 |
Symbol 66 Text | Uses:1 | Used by:72 |
Symbol 67 Text | Uses:1 | Used by:72 |
Symbol 68 Text | Uses:1 | Used by:72 |
Symbol 69 Text | Uses:1 | Used by:72 |
Symbol 70 Text | Uses:1 | Used by:72 |
Symbol 71 Text | Uses:1 | Used by:72 |
Symbol 72 MovieClip {BackgroundText} | Uses:64 65 66 67 68 69 70 71 | Used by:122 |
Symbol 73 Graphic | Used by:74 | |
Symbol 74 MovieClip {Ball} | Uses:73 | Used by:76 122 |
Symbol 75 Graphic | Used by:76 | |
Symbol 76 MovieClip {BallRing} | Uses:75 74 | Used by:122 |
Symbol 77 Graphic | Used by:79 | |
Symbol 78 Graphic | Used by:79 | |
Symbol 79 MovieClip {Block} | Uses:77 78 | Used by:122 |
Symbol 80 Graphic | Used by:81 | |
Symbol 81 MovieClip {BonusCollectible} | Uses:80 | Used by:122 |
Symbol 82 Text | Uses:1 | Used by:86 |
Symbol 83 Text | Uses:1 | Used by:86 |
Symbol 84 Text | Uses:1 | Used by:86 100 |
Symbol 85 Text | Uses:1 | Used by:86 100 |
Symbol 86 MovieClip {CreditsGraphic} | Uses:82 83 84 85 | Used by:122 |
Symbol 87 Bitmap | Used by:88 | |
Symbol 88 Graphic | Uses:87 | Used by:89 |
Symbol 89 MovieClip {MenuGradient} | Uses:88 | Used by:122 |
Symbol 90 Graphic | Used by:91 | |
Symbol 91 MovieClip {RequiredCollectible} | Uses:90 | Used by:122 |
Symbol 92 Graphic | Used by:93 | |
Symbol 93 MovieClip {ShineParticle} | Uses:92 | Used by:122 |
Symbol 94 Graphic | Used by:96 | |
Symbol 95 Graphic | Used by:96 | |
Symbol 96 MovieClip {SpringBlock} | Uses:94 95 | Used by:122 |
Symbol 97 Graphic | Used by:100 | |
Symbol 98 Text | Uses:1 | Used by:100 |
Symbol 99 Text | Uses:1 | Used by:100 |
Symbol 100 MovieClip {TitleGraphic} | Uses:97 84 85 98 99 | Used by:122 |
Symbol 101 Text | Uses:1 | Used by:111 |
Symbol 102 Text | Uses:1 | Used by:111 |
Symbol 103 Text | Uses:1 | Used by:111 |
Symbol 104 Text | Uses:1 | Used by:111 |
Symbol 105 Text | Uses:1 | Used by:111 |
Symbol 106 Text | Uses:1 | Used by:111 |
Symbol 107 Text | Uses:1 | Used by:111 |
Symbol 108 Text | Uses:1 | Used by:111 |
Symbol 109 Text | Uses:1 | Used by:111 |
Symbol 110 Text | Uses:1 | Used by:111 |
Symbol 111 MovieClip {VideoToggle} | Uses:52 101 102 103 104 105 106 107 108 109 110 | Used by:122 |
Symbol 112 Graphic | Used by:113 | |
Symbol 113 MovieClip {GravitySwitch} | Uses:112 | Used by:122 |
Symbol 114 Graphic | Used by:117 | |
Symbol 115 Font | Used by:116 | |
Symbol 116 EditableText | Uses:115 | Used by:117 |
Symbol 117 MovieClip {SubmitPanel} | Uses:114 116 | Used by:122 |
Symbol 118 Graphic | Used by:121 | |
Symbol 119 Text | Uses:1 | Used by:121 |
Symbol 120 Text | Uses:1 | Used by:121 |
Symbol 121 MovieClip {SubmitPanelButton} | Uses:118 119 120 | Used by:122 |
Symbol 122 MovieClip {Gravibounce_fla.AssetHolder_17} | Uses:38 39 42 45 51 6 63 72 74 76 79 81 86 89 91 93 96 100 111 113 117 121 | Used by:Timeline |
Symbol 123 Text | Uses:1 | Used by:137 |
Symbol 124 Sound {SoundBackgroundLoop} | Used by:137 | |
Symbol 125 Sound {SoundBlock} | Used by:137 | |
Symbol 126 Sound {SoundBonusCollectible} | Used by:137 | |
Symbol 127 Sound {SoundEnergyNet} | Used by:137 | |
Symbol 128 Sound {SoundExtraNet} | Used by:137 | |
Symbol 129 Sound {SoundGameOver} | Used by:137 | |
Symbol 130 Sound {SoundGravitySwitch} | Used by:137 | |
Symbol 131 Sound {SoundLevelComplete} | Used by:137 | |
Symbol 132 Sound {SoundMenuMovement} | Used by:137 | |
Symbol 133 Sound {SoundMenuSelect} | Used by:137 | |
Symbol 134 Sound {SoundRequiredCollectible} | Used by:137 | |
Symbol 135 Sound {SoundSpringBlock} | Used by:137 | |
Symbol 136 Sound {SoundArcadeBombButton} | Used by:137 | |
Symbol 137 MovieClip {Gravibounce_fla.SoundHolder_38} | Uses:38 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | Used by:Timeline |
Symbol 138 Graphic | Used by:139 | |
Symbol 139 MovieClip | Uses:138 | Used by:153 |
Symbol 140 Graphic | Used by:141 | |
Symbol 141 MovieClip | Uses:140 | Used by:153 |
Symbol 142 Graphic | Used by:143 | |
Symbol 143 MovieClip | Uses:142 | Used by:153 |
Symbol 144 Font | Used by:145 151 | |
Symbol 145 Text | Uses:144 | Used by:148 |
Symbol 146 Font | Used by:147 152 | |
Symbol 147 Text | Uses:146 | Used by:148 |
Symbol 148 MovieClip | Uses:145 147 | Used by:153 |
Symbol 149 Font | Used by:150 | |
Symbol 150 Text | Uses:149 | Used by:153 |
Symbol 151 Text | Uses:144 | Used by:153 |
Symbol 152 Text | Uses:146 | Used by:153 |
Symbol 153 MovieClip {EpicShadowLogo} | Uses:139 141 143 148 150 151 152 | Used by:Timeline |
Streaming Sound 1 | Used by:Symbol 35 MovieClip {Gravibounce_fla.bomb_preloader_2} |
Instance Names
"preloader" | Frame 1 | Symbol 37 MovieClip {Preloader} |
"epicShadowLogo" | Frame 5 | Symbol 153 MovieClip {EpicShadowLogo} |
"sm" | Symbol 33 MovieClip {Gravibounce_fla.bomb_smoker3_14} Frame 1 | Symbol 32 MovieClip |
"sm" | Symbol 34 MovieClip {Gravibounce_fla.bomb_smoker4_13} Frame 1 | Symbol 33 MovieClip {Gravibounce_fla.bomb_smoker3_14} |
"loaderbar" | Symbol 35 MovieClip {Gravibounce_fla.bomb_preloader_2} Frame 1 | Symbol 26 MovieClip |
"logo_mc" | Symbol 37 MovieClip {Preloader} Frame 1 | Symbol 35 MovieClip {Gravibounce_fla.bomb_preloader_2} |
"link_btn" | Symbol 37 MovieClip {Preloader} Frame 1 | Symbol 36 Button |
"ballGraphic" | Symbol 76 MovieClip {BallRing} Frame 1 | Symbol 74 MovieClip {Ball} |
"submitField" | Symbol 117 MovieClip {SubmitPanel} Frame 1 | Symbol 116 EditableText |
Special Tags
FileAttributes (69) | Timeline Frame 1 | Access local files only, Metadata not present, AS3. |
Protect (24) | Timeline Frame 1 | 31 bytes "..$1$ww$yM8GclwUzzhnT7nxAU6eX0." |
Labels
"preloader_check" | Symbol 35 MovieClip {Gravibounce_fla.bomb_preloader_2} Frame 3 |
|