STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
231349
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2623 · P5245

<div style="position:absolute;top:-99px;left:-99px;"><img src="https://tools.swfchan.com/stathit.asp?noj=FRM65086286-7DC&rnd=65086286" width="1" height="1"></div>

CatCorner.swf

This is the info page for
Flash #261590

(Click the ID number above for more basic data on this flash file.)


Text
nextLevelTf

0

8888

Register to play full version.

<p align="right"></p>

<p align="right"></p>

<p align="center"><font face="GillSans Light" size="10" color="#000000" letterSpacing="1.000000" kerning="0">TO PLAY THE FULL GAME REGISTER NOW!</font></p>

Game Over

<p align="right"><font face="GillSans Light" size="8" color="#ffffff" letterSpacing="2.000000" kerning="0">countDownTf1</font></p>

00

countDownTf2

<p align="center"><font face="GillSans Light" size="10" color="#000000" letterSpacing="1.000000" kerning="0">YOU MADE IT TO LEVEL</font></p>

8

<p align="center"><font face="GillSans Light" size="10" color="#000000" letterSpacing="1.000000" kerning="0">outroScoreLabel</font></p>

284698

<p align="left"><font face="GillSans Light" size="12" color="#000000" letterSpacing="1.000000" kerning="0">coolCatInstructionTf </font></p>

<p align="left"><font face="GillSans Light" size="12" color="#000000" letterSpacing="1.000000" kerning="0">herringInstructionTf</font></p>

<p align="left"><font face="GillSans Light" size="12" color="#000000" letterSpacing="1.000000" kerning="0">clockInstructionTf</font></p>

<p align="left"><font face="GillSans Light" size="12" color="#000000" letterSpacing="1.000000" kerning="0">rainbowCatInstructionTf</font></p><p align="left"></p>

<p align="right"><font face="GillSans Light" size="12" color="#ffffff" letterSpacing="1.000000" kerning="0">instructionTf</font></p>

instructionsLabel

<p align="right"><font face="GillSans Light" size="8" color="#ffffff" letterSpacing="2.000000" kerning="0">countDownTf1</font></p>

<p align="left"><font face="GillSans Light" size="12" color="#000000" letterSpacing="1.000000" kerning="0">shuffleInstructionTf</font></p>

00

countDownTf2

<p align="right"><font face="GillSans Light" size="10" color="#ffffff" letterSpacing="2.000000" kerning="0">clockToStartTf</font></p>

exitBtnTf

soundBtnTf

<p align="right"><font face="GillSans Light" size="8" color="#ffffff" letterSpacing="2.000000" kerning="0">levelLabel</font></p>

1

<p align="right"><font face="GillSans Light" size="8" color="#ffffff" letterSpacing="2.000000" kerning="0">timeLabel</font></p>

1:45

<p align="right"><font face="GillSans Light" size="8" color="#ffffff" letterSpacing="2.000000" kerning="0">scoreLabel</font></p>

0

<p align="right"><font face="GillSans Light" size="8" color="#ffffff" letterSpacing="2.000000" kerning="0">shuffleLabel</font></p>

ActionScript [AS3]

Section 1
//Cat1Sax_42 (CatCorner_fla.Cat1Sax_42) package CatCorner_fla { import flash.display.*; public dynamic class Cat1Sax_42 extends MovieClip { public var blink:MovieClip; public var face:MovieClip; public function Cat1Sax_42(){ addFrameScript(0, frame1, 10, frame11, 19, frame20, 29, frame30, 39, frame40, 49, frame50); } function frame1(){ stop(); } function frame11(){ stop(); } function frame20(){ stop(); } function frame30(){ stop(); } function frame40(){ stop(); } function frame50(){ stop(); } } }//package CatCorner_fla
Section 2
//Cat2Piano_88 (CatCorner_fla.Cat2Piano_88) package CatCorner_fla { import flash.display.*; public dynamic class Cat2Piano_88 extends MovieClip { public var blink:MovieClip; public var face:MovieClip; public function Cat2Piano_88(){ addFrameScript(0, frame1, 10, frame11, 19, frame20, 29, frame30, 39, frame40, 49, frame50); } function frame1(){ stop(); } function frame11(){ stop(); } function frame20(){ stop(); } function frame30(){ stop(); } function frame40(){ stop(); } function frame50(){ stop(); } } }//package CatCorner_fla
Section 3
//Cat3Bass_92 (CatCorner_fla.Cat3Bass_92) package CatCorner_fla { import flash.display.*; public dynamic class Cat3Bass_92 extends MovieClip { public var blink:MovieClip; public var face:MovieClip; public function Cat3Bass_92(){ addFrameScript(0, frame1, 10, frame11, 19, frame20, 29, frame30, 39, frame40, 49, frame50); } function frame1(){ stop(); } function frame11(){ stop(); } function frame20(){ stop(); } function frame30(){ stop(); } function frame40(){ stop(); } function frame50(){ stop(); } } }//package CatCorner_fla
Section 4
//Cat4Drums_95 (CatCorner_fla.Cat4Drums_95) package CatCorner_fla { import flash.display.*; public dynamic class Cat4Drums_95 extends MovieClip { public var blink:MovieClip; public var face:MovieClip; public function Cat4Drums_95(){ addFrameScript(0, frame1, 9, frame10, 18, frame19, 28, frame29, 38, frame39, 48, frame49); } function frame1(){ stop(); } function frame10(){ stop(); } function frame19(){ stop(); } function frame29(){ stop(); } function frame39(){ stop(); } function frame49(){ stop(); } } }//package CatCorner_fla
Section 5
//Cat5Trumpet_98 (CatCorner_fla.Cat5Trumpet_98) package CatCorner_fla { import flash.display.*; public dynamic class Cat5Trumpet_98 extends MovieClip { public var blink:MovieClip; public var face:MovieClip; public function Cat5Trumpet_98(){ addFrameScript(0, frame1, 9, frame10, 18, frame19, 28, frame29, 38, frame39, 48, frame49); } function frame1(){ stop(); } function frame10(){ stop(); } function frame19(){ stop(); } function frame29(){ stop(); } function frame39(){ stop(); } function frame49(){ stop(); } } }//package CatCorner_fla
Section 6
//Cat6Song_101 (CatCorner_fla.Cat6Song_101) package CatCorner_fla { import flash.display.*; public dynamic class Cat6Song_101 extends MovieClip { public var blink:MovieClip; public var face:MovieClip; public function Cat6Song_101(){ addFrameScript(9, frame10, 18, frame19, 28, frame29, 38, frame39, 48, frame49); } function frame10(){ stop(); } function frame19(){ stop(); } function frame29(){ stop(); } function frame39(){ stop(); } function frame49(){ stop(); } } }//package CatCorner_fla
Section 7
//CatRainbow_63 (CatCorner_fla.CatRainbow_63) package CatCorner_fla { import flash.display.*; public dynamic class CatRainbow_63 extends MovieClip { public var rainbow:MovieClip; public var blink:MovieClip; public function CatRainbow_63(){ addFrameScript(0, frame1, 10, frame11, 19, frame20, 29, frame30, 39, frame40, 49, frame50); } function frame1(){ stop(); } function frame11(){ stop(); } function frame20(){ stop(); } function frame30(){ stop(); } function frame40(){ stop(); } function frame50(){ stop(); } } }//package CatCorner_fla
Section 8
//mc_PianoKeyBlack_18 (CatCorner_fla.mc_PianoKeyBlack_18) package CatCorner_fla { import flash.display.*; public dynamic class mc_PianoKeyBlack_18 extends MovieClip { public function mc_PianoKeyBlack_18(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package CatCorner_fla
Section 9
//mc_PianoKeyWhite_15 (CatCorner_fla.mc_PianoKeyWhite_15) package CatCorner_fla { import flash.display.*; public dynamic class mc_PianoKeyWhite_15 extends MovieClip { public function mc_PianoKeyWhite_15(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package CatCorner_fla
Section 10
//Block (guipackage.Block) package guipackage { import flash.display.*; import modelpackage.*; public class Block extends MovieClip implements Renderable { public var prevActive:BlockData; public var blockData:BlockData; public var nextBlockData:BlockData; protected var grid:Grid; public var renderable:MovieClip; public var bitmap:Bitmap; protected var startFlipAwayTick:Number; protected var flippedAwayTick:Number; protected var startFlipBackTick:Number; protected var flippedBackTick:Number; protected var endTick:Number; protected var switchedBitmap:Boolean;// = false public var testClip:EyeAnimation; public var orgX:int; public var orgY:int; public var shaking:Boolean;// = false public var shakeEnd:int;// = -1 protected var SHAKE_DECAY:int;// = 22 protected var SHAKE_FACTOR:int;// = 4 public var flipping:Boolean;// = false public static const BACKSIDE_SCALE:Number = 0.7; public static var blockBitmapData:BlockBitmapData; public static var bitmapCopies:Array; public function Block(_arg1:BlockData, _arg2:Grid){ this.blockData = _arg1; this.grid = _arg2; update(); } public function update():void{ var _local3:Number; if (bitmap != null){ removeChild(bitmap); }; var _local1:int = blockData.color; if (blockData.type == BlockData.RAINBOW){ _local1 = (BlockData.COLORS - 1); }; var _local2:int = int(blockData.isFront); bitmap = new Bitmap(BitmapData(Block.blockBitmapData.bitmaps[grid.size][_local1][_local2][blockData.type][blockData.status])); bitmap.x = -(grid.blockHalfWidth); bitmap.y = -(grid.blockHalfWidth); addChildAt(bitmap, 0); if (blockData.status == BlockData.ACTIVE){ if ((((((((prevActive == null)) || (!((blockData.color == prevActive.color))))) || (!((blockData.isFront == prevActive.isFront))))) || (!((blockData.type == prevActive.type))))){ if (renderable != null){ removeChild(renderable); renderable = null; }; _local3 = PlayArea.getScale(grid.size); if (blockData.isFront == false){ _local3 = (_local3 * Block.BACKSIDE_SCALE); }; if (blockData.type == BlockData.TIME){ renderable = new BlockTime(); renderable.clock.body.visible = false; renderable.shadow.visible = false; } else { if (blockData.type == BlockData.GOLD){ renderable = new BlockGold(); renderable.herring1.visible = false; renderable.herring2.visible = false; renderable.shadow.visible = false; } else { if ((((blockData.type == BlockData.NORMAL)) && ((blockData.isFront == true)))){ if (blockData.color == 0){ renderable = new EyeAnimation1(); } else { if (blockData.color == 1){ renderable = new EyeAnimation2(); } else { if (blockData.color == 2){ renderable = new EyeAnimation3(); } else { if (blockData.color == 3){ renderable = new EyeAnimation4(); } else { if (blockData.color == 4){ renderable = new EyeAnimation5(); } else { if (blockData.color == 5){ renderable = new EyeAnimation6(); }; }; }; }; }; }; if ((((grid.size >= 7)) && ((grid.size <= 9)))){ renderable.x = -1; renderable.y = -1; }; if (renderable != null){ }; } else { if ((((blockData.type == BlockData.RAINBOW)) && ((blockData.isFront == true)))){ renderable = new EyeAnimationRainbow(); if ((((grid.size >= 7)) && ((grid.size <= 9)))){ renderable.x = -1; renderable.y = -1; }; }; }; }; }; if (renderable != null){ renderable.scaleX = _local3; renderable.scaleY = _local3; addChildAt(renderable, 1); prevActive = blockData; }; }; }; if (renderable != null){ if (blockData.status == BlockData.ACTIVE){ grid.playArea.gui.startRenderable(Renderable(renderable)); renderable.visible = true; } else { grid.playArea.gui.stopRenderable(Renderable(renderable)); renderable.visible = false; }; }; } public function nextBlock():void{ if (nextBlockData != null){ blockData = nextBlockData; blockData.status = BlockData.NORMAL; update(); }; } public function initialize(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{ this.startFlipAwayTick = _arg1; this.flippedAwayTick = _arg2; this.startFlipBackTick = _arg3; this.flippedBackTick = _arg4; this.endTick = _arg5; flipping = true; switchedBitmap = false; if (((!((renderable == null))) && ((renderable.visible == true)))){ grid.playArea.gui.stopRenderable(Renderable(renderable)); }; } public function render(_arg1:int, _arg2:Number):int{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:int; var _local8:Number; if (flipping){ _local4 = (_arg1 + _arg2); if (_local4 >= flippedBackTick){ scaleX = 1; } else { if (_local4 >= startFlipBackTick){ _local5 = (_local4 - startFlipBackTick); _local6 = (flippedBackTick - startFlipBackTick); _local3 = Math.pow((_local5 / _local6), 2); if (_local3 < 0.01){ _local3 = 0.01; }; scaleX = _local3; } else { if (_local4 >= flippedAwayTick){ if (flippedAwayTick == startFlipAwayTick){ _local3 = 0; } else { if (startFlipBackTick > endTick){ _local3 = 0; } else { _local3 = 0.01; }; }; scaleX = _local3; } else { if (_local4 >= startFlipAwayTick){ _local5 = (_local4 - startFlipAwayTick); _local6 = (flippedAwayTick - startFlipAwayTick); _local3 = Math.pow((1 - (_local5 / _local6)), 2); if (_local3 < 0.01){ _local3 = 0.01; }; scaleX = _local3; }; }; }; }; if (((!(switchedBitmap)) && ((_local4 >= flippedAwayTick)))){ nextBlock(); switchedBitmap = true; }; if (_local4 >= endTick){ flipping = false; return (Gui.RENDERABLE_STOP); }; }; if (shaking){ if (shakeEnd == -1){ shakeEnd = (_arg1 + SHAKE_DECAY); orgX = x; orgY = y; if (canMiao()){ blockData.status = BlockData.MARKED; update(); }; }; _local7 = (shakeEnd - _arg1); _local8 = (_local7 / SHAKE_DECAY); if (_local7 > 0){ x = (orgX + (SHAKE_FACTOR * Math.random())); y = (orgY + (SHAKE_FACTOR * Math.random())); } else { shaking = false; shakeEnd = -1; x = orgX; y = orgY; if (canMiao()){ blockData.status = BlockData.NORMAL; update(); }; return (Gui.RENDERABLE_STOP); }; }; return (Gui.RENDERABLE_CONTINUE); } public function canMiao():Boolean{ return ((((blockData.type == BlockData.BOMB)) || ((((((blockData.type == BlockData.NORMAL)) || ((blockData.type == BlockData.RAINBOW)))) && ((blockData.isFront == true)))))); } } }//package guipackage
Section 11
//BlockBitmapData (guipackage.BlockBitmapData) package guipackage { import flash.display.*; import modelpackage.*; import flash.geom.*; public class BlockBitmapData { public const MIN_SIZE:int = 5; public const MAX_SIZE:int = 10; public const HILIGHT:Number = 1.6; public const NORMAL:int = 0; public const MARKED:int = 1; public const ACTIVE:int = 2; public const BLANK:int = 0; public const BOMB:int = 1; public const NEUTRAL:int = 2; public const MIAO:int = 3; public const COOL:int = 4; public const BACKSIDE:int = 5; public var bitmaps:Array; protected var scale:Number; protected var width:int; protected var halfWidth:int; protected var scales:Array; protected var widths:Array; protected var halfWidths:Array; protected var block:MovieClip; protected var transparent:Boolean; protected var i:int;// = 0 protected var color:int; protected var size:int; protected var bitmapData:BitmapData; protected var backgrounds:Array; protected var takenBackgrounds:Array; protected var rainbowBackgrounds:Array; protected var takenRainbowBackgrounds:Array; protected var cats:Array; protected var paws:Array; protected var rainbowCats:Array; protected var rainbowPaws:Array; protected var herrings:Array; protected var clocks:Array; public function BlockBitmapData(){ scales = new Array((MAX_SIZE + 1)); widths = new Array((MAX_SIZE + 1)); halfWidths = new Array((MAX_SIZE + 1)); size = MIN_SIZE; while (size <= MAX_SIZE) { scale = PlayArea.getScale(size); scales[size] = scale; width = Math.floor((PlayArea.NATURAL_BLOCK_WIDTH * scale)); widths[size] = width; halfWidths[size] = Math.floor((width / 2)); size++; }; makeBackgrounds(); cats = new Array(); color = 0; while (color < BlockData.COLORS) { cats[color] = new Array((MAX_SIZE + 1)); color++; }; } public function makeBackgrounds():void{ backgrounds = new Array(); takenBackgrounds = new Array(); block = new BlockBackground(); transparent = false; color = 0; while (color < BlockData.COLORS) { block.gotoAndStop((color + 1)); backgrounds[color] = new Array((MAX_SIZE + 1)); takenBackgrounds[color] = new Array((MAX_SIZE + 1)); size = MIN_SIZE; while (size <= MAX_SIZE) { newSize(size); block.taken.visible = true; bitmapData = copyToBitmapData(); takenBackgrounds[color][size] = bitmapData; block.taken.visible = false; bitmapData = copyToBitmapData(); backgrounds[color][size] = bitmapData; size++; }; color++; }; } public function makeCat(_arg1:int, _arg2:int):void{ size = _arg1; color = _arg2; transparent = true; switch (color){ case 0: block = new BlockCat1(); break; case 1: block = new BlockCat2(); break; case 2: block = new BlockCat3(); break; case 3: block = new BlockCat4(); break; case 4: block = new BlockCat5(); break; case 5: block = new BlockCat6(); break; }; newSize(size); cats[color][size] = new Array(((BACKSIDE + COOL) + 1)); block.head.face.visible = true; block.shadow.visible = true; block.head.gotoAndStop("blank"); block.sunglasses.visible = false; block.hat.visible = false; cats[color][size][BLANK] = copyToBitmapData(); block.head.face.visible = false; block.shadow.visible = false; block.head.visible = false; block.sunglasses.visible = true; block.hat.visible = true; cats[color][size][BOMB] = copyToBitmapData(); block.head.gotoAndStop("neutral"); block.head.visible = true; block.sunglasses.visible = false; block.hat.visible = false; cats[color][size][NEUTRAL] = copyToBitmapData(); block.head.gotoAndStop("miao"); cats[color][size][MIAO] = copyToBitmapData(); block.head.gotoAndStop("cool"); cats[color][size][COOL] = copyToBitmapData(); block.scaleX = (scale * Block.BACKSIDE_SCALE); block.scaleY = (scale * Block.BACKSIDE_SCALE); block.head.face.visible = true; block.head.gotoAndStop("blank"); block.sunglasses.visible = false; block.hat.visible = false; cats[color][size][(BACKSIDE + BLANK)] = copyToBitmapData(); block.head.face.visible = false; block.head.visible = false; block.sunglasses.visible = true; block.hat.visible = true; cats[color][size][(BACKSIDE + BOMB)] = copyToBitmapData(); block.head.gotoAndStop("neutral"); block.head.visible = true; block.sunglasses.visible = false; block.hat.visible = false; cats[color][size][(BACKSIDE + NEUTRAL)] = copyToBitmapData(); block.head.gotoAndStop("miao"); cats[color][size][(BACKSIDE + MIAO)] = copyToBitmapData(); block.head.gotoAndStop("cool"); cats[color][size][(BACKSIDE + COOL)] = copyToBitmapData(); } public function makeMiscParts():void{ paws = new Array(); transparent = true; block = new NormalBackside(); color = 0; while (color < BlockData.COLORS) { block.gotoAndStop((color + 1)); paws[color] = new Array((MAX_SIZE + 1)); size = MIN_SIZE; while (size <= MAX_SIZE) { newSize(size); paws[color][size] = copyToBitmapData(); size++; }; color++; }; rainbowBackgrounds = new Array(); takenRainbowBackgrounds = new Array(); block = new BlockRainbow(); block.head.visible = false; block.shadow.visible = false; transparent = false; color = 0; while (color <= 0) { size = MIN_SIZE; while (size <= MAX_SIZE) { newSize(size); block.taken.visible = true; bitmapData = copyToBitmapData(); takenRainbowBackgrounds[size] = bitmapData; block.taken.visible = false; bitmapData = copyToBitmapData(); rainbowBackgrounds[size] = bitmapData; size++; }; color++; }; rainbowCats = new Array(BlockData.COLORS); block.bg.visible = false; block.head.visible = true; transparent = true; color = (BlockData.COLORS - 1); rainbowCats[color] = new Array((MAX_SIZE + 1)); size = MIN_SIZE; while (size <= MAX_SIZE) { newSize(size); rainbowCats[color][size] = new Array((COOL + 1)); block.shadow.visible = true; block.head.gotoAndStop("blank"); block.head.rainbow.visible = true; rainbowCats[color][size][BLANK] = copyToBitmapData(); block.shadow.visible = false; block.head.rainbow.visible = false; block.head.gotoAndStop("neutral"); rainbowCats[color][size][NEUTRAL] = copyToBitmapData(); block.head.gotoAndStop("miao"); rainbowCats[color][size][MIAO] = copyToBitmapData(); block.head.gotoAndStop("cool"); rainbowCats[color][size][COOL] = copyToBitmapData(); size++; }; rainbowPaws = new Array(BlockData.COLORS); block = new RainbowBackside(); transparent = true; color = (BlockData.COLORS - 1); rainbowPaws[color] = new Array((MAX_SIZE + 1)); size = MIN_SIZE; while (size <= MAX_SIZE) { newSize(size); rainbowPaws[color][size] = copyToBitmapData(); size++; }; } public function makeHerringsAndClocks():void{ herrings = new Array(); transparent = true; block = new BlockGold(); block.glimmRotate1.visible = false; block.glimmRotate2.visible = false; size = MIN_SIZE; while (size <= MAX_SIZE) { newSize(size); herrings[size] = new Array(2); herrings[size][0] = copyToBitmapData(); block.scaleX = (scale * Block.BACKSIDE_SCALE); block.scaleY = (scale * Block.BACKSIDE_SCALE); herrings[size][1] = copyToBitmapData(); size++; }; clocks = new Array(); transparent = true; block = new BlockTime(); size = MIN_SIZE; while (size <= MAX_SIZE) { newSize(size); clocks[size] = new Array(4); block.clock.minute.visible = true; block.clock.hour.visible = true; clocks[size][0] = copyToBitmapData(); block.clock.minute.visible = false; block.clock.hour.visible = false; clocks[size][1] = copyToBitmapData(); block.scaleX = (scale * Block.BACKSIDE_SCALE); block.scaleY = (scale * Block.BACKSIDE_SCALE); block.clock.minute.visible = true; block.clock.hour.visible = true; clocks[size][2] = copyToBitmapData(); block.clock.minute.visible = false; block.clock.hour.visible = false; clocks[size][3] = copyToBitmapData(); size++; }; } public function makeFinalBacksides1():void{ var _local1:int; var _local2:int; var _local3:BitmapData; var _local4:BitmapData; var _local5:BitmapData; var _local6:BitmapData; var _local7:BitmapData; var _local8:BitmapData; var _local9:BitmapData; var _local10:BitmapData; bitmaps = new Array((MAX_SIZE + 1)); size = MIN_SIZE; while (size <= MAX_SIZE) { newSize(size); bitmaps[size] = new Array(); color = 0; while (color < BlockData.COLORS) { bitmaps[size][color] = new Array(); _local1 = 0; bitmaps[size][color][_local1] = new Array(); _local3 = BitmapData(takenBackgrounds[color][size]); _local2 = BlockData.NORMAL; bitmaps[size][color][_local1][_local2] = new Array((ACTIVE + 1)); _local4 = BitmapData(paws[color][size]); bitmaps[size][color][_local1][_local2][NORMAL] = mergeBitmapDatas([_local3, _local4], width); bitmaps[size][color][_local1][_local2][MARKED] = mergeBitmapDatas([_local3, _local4], width); if (color == (BlockData.COLORS - 1)){ _local10 = BitmapData(takenRainbowBackgrounds[size]); _local2 = BlockData.RAINBOW; bitmaps[size][color][_local1][_local2] = new Array((ACTIVE + 1)); _local4 = BitmapData(rainbowPaws[color][size]); bitmaps[size][color][_local1][_local2][NORMAL] = mergeBitmapDatas([_local10, _local4], width); bitmaps[size][color][_local1][_local2][MARKED] = mergeBitmapDatas([_local10, _local4], width); bitmaps[size][color][_local1][_local2][ACTIVE] = mergeBitmapDatas([_local10, _local4], width); }; _local2 = BlockData.BOMB; bitmaps[size][color][_local1][_local2] = new Array((ACTIVE + 1)); _local7 = BitmapData(cats[color][size][(BACKSIDE + BLANK)]); _local8 = BitmapData(cats[color][size][(BACKSIDE + NEUTRAL)]); _local9 = BitmapData(cats[color][size][(BACKSIDE + BOMB)]); bitmaps[size][color][_local1][_local2][NORMAL] = mergeBitmapDatas([_local3, _local7, _local8, _local9], width); _local8 = BitmapData(cats[color][size][(BACKSIDE + MIAO)]); bitmaps[size][color][_local1][_local2][MARKED] = mergeBitmapDatas([_local3, _local7, _local8, _local9], width); _local8 = BitmapData(cats[color][size][(BACKSIDE + COOL)]); bitmaps[size][color][_local1][_local2][ACTIVE] = mergeBitmapDatas([_local3, _local7, _local8, _local9], width); color++; }; size++; }; } public function makeFinalBacksides2():void{ var _local1:int; var _local2:int; var _local3:BitmapData; var _local4:BitmapData; var _local5:BitmapData; var _local6:BitmapData; var _local7:BitmapData; var _local8:BitmapData; var _local9:BitmapData; var _local10:BitmapData; size = MIN_SIZE; while (size <= MAX_SIZE) { newSize(size); color = 0; while (color < BlockData.COLORS) { _local1 = 0; _local3 = BitmapData(takenBackgrounds[color][size]); _local2 = BlockData.GOLD; bitmaps[size][color][_local1][_local2] = new Array(3); _local5 = BitmapData(herrings[size][1]); bitmaps[size][color][_local1][_local2][NORMAL] = mergeBitmapDatas([_local3, _local5], width); bitmaps[size][color][_local1][_local2][MARKED] = mergeBitmapDatas([_local3, _local5], width); bitmaps[size][color][_local1][_local2][ACTIVE] = mergeBitmapDatas([_local3, _local5], width); _local2 = BlockData.TIME; bitmaps[size][color][_local1][_local2] = new Array(4); _local6 = BitmapData(clocks[size][2]); bitmaps[size][color][_local1][_local2][NORMAL] = mergeBitmapDatas([_local3, _local6], width); bitmaps[size][color][_local1][_local2][MARKED] = mergeBitmapDatas([_local3, _local6], width); _local6 = BitmapData(clocks[size][3]); bitmaps[size][color][_local1][_local2][ACTIVE] = mergeBitmapDatas([_local3, _local6], width); color++; }; size++; }; } public function makeFinalFronts1():void{ var _local1:int; var _local2:int; var _local3:BitmapData; var _local4:BitmapData; var _local5:BitmapData; var _local6:BitmapData; var _local7:BitmapData; var _local8:BitmapData; var _local9:BitmapData; var _local10:BitmapData; size = MIN_SIZE; while (size <= MAX_SIZE) { newSize(size); color = 0; while (color < BlockData.COLORS) { _local1 = 1; bitmaps[size][color][_local1] = new Array(); _local3 = BitmapData(backgrounds[color][size]); _local2 = BlockData.NORMAL; bitmaps[size][color][_local1][_local2] = new Array((ACTIVE + 1)); _local7 = BitmapData(cats[color][size][BLANK]); _local8 = BitmapData(cats[color][size][NEUTRAL]); bitmaps[size][color][_local1][_local2][NORMAL] = mergeBitmapDatas([_local3, _local7, _local8], width); _local8 = BitmapData(cats[color][size][MIAO]); bitmaps[size][color][_local1][_local2][MARKED] = mergeBitmapDatas([_local3, _local7, _local8], width); _local8 = BitmapData(cats[color][size][COOL]); bitmaps[size][color][_local1][_local2][ACTIVE] = mergeBitmapDatas([_local3, _local7, _local8], width); if (color == (BlockData.COLORS - 1)){ _local10 = BitmapData(rainbowBackgrounds[size]); _local2 = BlockData.RAINBOW; bitmaps[size][color][_local1][_local2] = new Array((ACTIVE + 1)); _local7 = BitmapData(rainbowCats[color][size][BLANK]); _local8 = BitmapData(rainbowCats[color][size][NEUTRAL]); bitmaps[size][color][_local1][_local2][NORMAL] = mergeBitmapDatas([_local10, _local7, _local8], width); _local8 = BitmapData(rainbowCats[color][size][MIAO]); bitmaps[size][color][_local1][_local2][MARKED] = mergeBitmapDatas([_local10, _local7, _local8], width); _local8 = BitmapData(rainbowCats[color][size][COOL]); bitmaps[size][color][_local1][_local2][ACTIVE] = mergeBitmapDatas([_local10, _local7, _local8], width); }; color++; }; size++; }; } public function makeFinalFronts2():void{ var _local1:int; var _local2:int; var _local3:BitmapData; var _local4:BitmapData; var _local5:BitmapData; var _local6:BitmapData; var _local7:BitmapData; var _local8:BitmapData; var _local9:BitmapData; var _local10:BitmapData; size = MIN_SIZE; while (size <= MAX_SIZE) { newSize(size); color = 0; while (color < BlockData.COLORS) { _local1 = 1; _local3 = BitmapData(backgrounds[color][size]); _local2 = BlockData.BOMB; bitmaps[size][color][_local1][_local2] = new Array((ACTIVE + 1)); _local7 = BitmapData(cats[color][size][BLANK]); _local8 = BitmapData(cats[color][size][NEUTRAL]); _local9 = BitmapData(cats[color][size][BOMB]); bitmaps[size][color][_local1][_local2][NORMAL] = mergeBitmapDatas([_local3, _local7, _local8, _local9], width); _local8 = BitmapData(cats[color][size][MIAO]); bitmaps[size][color][_local1][_local2][MARKED] = mergeBitmapDatas([_local3, _local7, _local8, _local9], width); _local8 = BitmapData(cats[color][size][COOL]); bitmaps[size][color][_local1][_local2][ACTIVE] = mergeBitmapDatas([_local3, _local7, _local8, _local9], width); color++; }; size++; }; } public function makeFinalFronts3():void{ var _local1:int; var _local2:int; var _local3:BitmapData; var _local4:BitmapData; var _local5:BitmapData; var _local6:BitmapData; var _local7:BitmapData; var _local8:BitmapData; var _local9:BitmapData; var _local10:BitmapData; size = MIN_SIZE; while (size <= MAX_SIZE) { newSize(size); color = 0; while (color < BlockData.COLORS) { _local1 = 1; _local3 = BitmapData(backgrounds[color][size]); _local2 = BlockData.GOLD; bitmaps[size][color][_local1][_local2] = new Array(3); _local5 = BitmapData(herrings[size][0]); bitmaps[size][color][_local1][_local2][NORMAL] = mergeBitmapDatas([_local3, _local5], width); bitmaps[size][color][_local1][_local2][MARKED] = mergeBitmapDatas([_local3, _local5], width); bitmaps[size][color][_local1][_local2][ACTIVE] = mergeBitmapDatas([_local3, _local5], width); _local2 = BlockData.TIME; bitmaps[size][color][_local1][_local2] = new Array(3); _local6 = BitmapData(clocks[size][0]); bitmaps[size][color][_local1][_local2][NORMAL] = mergeBitmapDatas([_local3, _local6], width); bitmaps[size][color][_local1][_local2][MARKED] = mergeBitmapDatas([_local3, _local6], width); _local6 = BitmapData(clocks[size][1]); bitmaps[size][color][_local1][_local2][ACTIVE] = mergeBitmapDatas([_local3, _local6], width); color++; }; size++; }; } public function newSize(_arg1:int):void{ scale = Number(scales[_arg1]); width = int(widths[_arg1]); halfWidth = int(halfWidths[_arg1]); block.scaleX = scale; block.scaleY = scale; block.x = halfWidth; block.y = halfWidth; } public function copyToBitmapData():BitmapData{ var _local1:Sprite = new Sprite(); _local1.addChild(block); var _local2:Rectangle = new Rectangle(0, 0, width, width); var _local3:BitmapData = new BitmapData(width, width, true, 0); _local3.draw(_local1, null, null, null, _local2, false); return (_local3); } public function mergeBitmapDatas(_arg1:Array, _arg2:int):BitmapData{ var _local5:BitmapData; var _local3:BitmapData = new BitmapData(_arg2, _arg2, false, 0); var _local4:int; while (_local4 < _arg1.length) { _local5 = BitmapData(_arg1[_local4]); _local3.draw(_local5); _local4++; }; return (_local3); } } }//package guipackage
Section 12
//BlockGold (guipackage.BlockGold) package guipackage { import flash.display.*; public class BlockGold extends MovieClip implements Renderable { public const TICKS_PER_ROTATION:int = 80; public var herring1:Sprite; public var herring2:Sprite; public var glimmRotate1:Sprite; public var glimmRotate2:Sprite; public var shadow:Sprite; protected var startTick:int;// = -1 public function BlockGold(){ addFrameScript(0, frame1); } public function render(_arg1:int, _arg2:Number):int{ if (startTick == -1){ startTick = _arg1; }; var _local3:Number = ((((_arg1 + _arg2) - startTick) * 360) / TICKS_PER_ROTATION); glimmRotate1.rotation = _local3; glimmRotate2.rotation = _local3; return (Gui.RENDERABLE_CONTINUE); } function frame1(){ stop(); } } }//package guipackage
Section 13
//BlockTime (guipackage.BlockTime) package guipackage { import flash.display.*; public class BlockTime extends MovieClip implements Renderable { public const TICKS_PER_MINUTE_ROTATION:int = 240; public const TICKS_PER_SECOND_ROTATION:int = 40; public var clock:MovieClip; public var shadow:Sprite; protected var startTick:int;// = -1 public function render(_arg1:int, _arg2:Number):int{ if (startTick == -1){ startTick = _arg1; }; var _local3:Number = ((((_arg1 + _arg2) - startTick) * 360) / TICKS_PER_MINUTE_ROTATION); var _local4:Number = ((((_arg1 + _arg2) - startTick) * 360) / TICKS_PER_SECOND_ROTATION); clock.minute.rotation = _local3; clock.hour.rotation = _local4; return (Gui.RENDERABLE_CONTINUE); } } }//package guipackage
Section 14
//EyeAnimation (guipackage.EyeAnimation) package guipackage { import flash.display.*; import flash.geom.*; public class EyeAnimation extends MovieClip implements Renderable { public var eye1:Sprite; public var eye2:Sprite; public function render(_arg1:int, _arg2:Number):int{ eye1.rotation = getMouseDirection(eye1); eye2.rotation = getMouseDirection(eye2); return (Gui.RENDERABLE_CONTINUE); } public function getMouseDirection(_arg1:DisplayObject):Number{ var _local3:Point; var _local4:Point; var _local5:Number; var _local6:Number; var _local7:Number; var _local2:Number = 0; if (_arg1 != null){ _local3 = localToGlobal(new Point(_arg1.x, _arg1.y)); _local4 = new Point(stage.mouseX, stage.mouseY); _local5 = (stage.mouseX - _local3.x); _local6 = (stage.mouseY - _local3.y); _local7 = Math.atan2(_local6, _local5); _local2 = ((_local7 * 360) / (2 * Math.PI)); }; return (_local2); } } }//package guipackage
Section 15
//Footsteps (guipackage.Footsteps) package guipackage { import flash.display.*; public class Footsteps extends MovieClip implements Renderable { public var startTick:int; public var endTick:int; public var frames:int;// = 59 public var nextLevel:MovieClip; public static var nextLevelString:String; public function Footsteps(){ addFrameScript(58, frame59); nextLevel.nextLevelTf.text = nextLevelString; } public function render(_arg1:int, _arg2:Number):int{ var _local3:int = (endTick - startTick); var _local4:Number = ((_arg1 - startTick) / _local3); var _local5:int = Math.floor((_local4 * frames)); gotoAndStop(_local5); if (_arg1 < endTick){ return (Gui.RENDERABLE_CONTINUE); }; return (Gui.RENDERABLE_REMOVE); } function frame59(){ stop(); } } }//package guipackage
Section 16
//GameBackground (guipackage.GameBackground) package guipackage { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.text.*; public class GameBackground extends Sprite implements Renderable { protected const HALF_TIME_TICKS:Number = 26.64; public var levelLabel:TextField; public var timeLabel:TextField; public var scoreLabel:TextField; public var shuffleLabel:TextField; public var level:TextField; public var time:TextField; public var score:TextField; public var paw:Sprite; public var shuffleBtn:Sprite; public var shuffleBtn1:MovieClip; public var shuffleBtn2:MovieClip; public var c:MovieClip; public var ciss:MovieClip; public var d:MovieClip; public var diss:MovieClip; public var e:MovieClip; public var f:MovieClip; public var fiss:MovieClip; public var g:MovieClip; public var giss:MovieClip; public var a:MovieClip; public var aiss:MovieClip; public var b:MovieClip; public var c2:MovieClip; public var ciss2:MovieClip; public var d2:MovieClip; public var diss2:MovieClip; public var e2:MovieClip; public var gui:Gui; protected var timeWarnings:int; protected var startTick:Number; protected var middleTick:Number; protected var endTick:Number; protected var chordReleaseTimer:Timer; public function GameBackground(_arg1:Gui){ this.gui = _arg1; var _local2:TextFormat = new TextFormat(); _local2.letterSpacing = 2; levelLabel.defaultTextFormat = _local2; timeLabel.defaultTextFormat = _local2; scoreLabel.defaultTextFormat = _local2; shuffleLabel.defaultTextFormat = _local2; levelLabel.text = _arg1.document.getTranslation("level_label"); if (_arg1.document.relaxMode){ timeLabel.text = _arg1.document.getTranslation("remaining_moves"); } else { timeLabel.text = _arg1.document.getTranslation("time_label"); }; scoreLabel.text = _arg1.document.getTranslation("score_label"); shuffleLabel.text = _arg1.document.getTranslation("shuffle_label"); d = shuffleBtn2; diss = shuffleBtn1; chordReleaseTimer = new Timer(200, 1); paw.mouseEnabled = false; } public function releaseChord(_arg1:Event=null):void{ c.gotoAndStop(1); ciss.gotoAndStop(1); d.gotoAndStop(1); diss.gotoAndStop(1); e.gotoAndStop(1); f.gotoAndStop(1); fiss.gotoAndStop(1); g.gotoAndStop(1); giss.gotoAndStop(1); a.gotoAndStop(1); aiss.gotoAndStop(1); b.gotoAndStop(1); c2.gotoAndStop(1); ciss2.gotoAndStop(1); d2.gotoAndStop(1); diss2.gotoAndStop(1); e2.gotoAndStop(1); } public function playChord(_arg1:int):void{ switch (_arg1){ case 0: d.gotoAndStop(2); g.gotoAndStop(2); c2.gotoAndStop(2); break; case 1: c.gotoAndStop(2); f.gotoAndStop(2); b.gotoAndStop(2); break; case 2: b.gotoAndStop(2); diss.gotoAndStop(2); giss.gotoAndStop(2); break; case 3: e.gotoAndStop(2); a.gotoAndStop(2); d2.gotoAndStop(2); break; case 4: diss.gotoAndStop(2); giss.gotoAndStop(2); ciss2.gotoAndStop(2); break; case 5: f.gotoAndStop(2); b.gotoAndStop(2); diss2.gotoAndStop(2); break; }; chordReleaseTimer.start(); chordReleaseTimer.addEventListener(TimerEvent.TIMER_COMPLETE, releaseChord); } public function timeWarning(_arg1:int, _arg2:int):void{ timeWarnings = 1; endTick = 0; gui.startRenderable(this); } public function stopTimeWarning():void{ gui.stopRenderable(this); time.textColor = 0; } public function render(_arg1:int, _arg2:Number):int{ var _local3:Number = (_arg1 + _arg2); if (_local3 > endTick){ if (timeWarnings == 0){ return (Gui.RENDERABLE_STOP); }; timeWarnings--; startTick = _local3; middleTick = (startTick + HALF_TIME_TICKS); endTick = (middleTick + HALF_TIME_TICKS); gui.soundManager.timeWarning(); }; if (_local3 > middleTick){ time.textColor = 0; } else { time.textColor = 11143700; }; return (Gui.RENDERABLE_CONTINUE); } } }//package guipackage
Section 17
//GameEndScoreAnim (guipackage.GameEndScoreAnim) package guipackage { import flash.display.*; public class GameEndScoreAnim extends MovieClip implements Renderable { protected const FRAMES_PER_TICK:Number = 0.7; public var star:MovieClip; public var gui:Gui; public var startTick:int;// = 0 public var endTick:int;// = 90 public function GameEndScoreAnim(){ addFrameScript(29, frame30); gui = OutroAnimation(parent).gui; gui.startRenderable(this); } public function render(_arg1:int, _arg2:Number):int{ if (startTick == 0){ startTick = _arg1; endTick = (endTick + startTick); star.outroScoreLabel.text = gui.document.getTranslation("outro_score_label"); star.textField.text = ("" + OutroAnimation(parent).scoreInt); }; var _local3:int = (_arg1 - startTick); var _local4:int = Math.ceil((_local3 * FRAMES_PER_TICK)); if (_local4 > totalFrames){ _local4 = totalFrames; }; gotoAndStop(_local4); if (_arg1 < endTick){ return (Gui.RENDERABLE_CONTINUE); }; gotoAndStop(totalFrames); return (Gui.RENDERABLE_STOP); } function frame30(){ stop(); } } }//package guipackage
Section 18
//Grid (guipackage.Grid) package guipackage { import flash.display.*; import modelpackage.*; public class Grid extends Sprite { protected var gui:Gui; public var playArea:PlayArea; public var size:int; public var colors:int; public var blockWidth:Number; public var blockHalfWidth:Number; protected var blocks:Array; protected var flippingBlocks:Array; public function Grid(_arg1:Gui, _arg2:PlayArea, _arg3:Array, _arg4:int){ var _local5:int; var _local6:int; var _local7:int; var _local8:BlockData; var _local9:int; var _local10:Block; super(); this.gui = _arg1; this.playArea = _arg2; this.size = _arg3.length; this.colors = _arg4; this.blockWidth = (_arg2.scale * PlayArea.NATURAL_BLOCK_WIDTH); this.blockHalfWidth = (blockWidth / 2); blocks = new Array(); _local5 = 0; while (_local5 < size) { blocks[_local5] = new Array(); _local6 = _arg2.getPos(_local5); _local7 = 0; while (_local7 < size) { _local8 = BlockData(_arg3[_local5][_local7]); _local9 = _arg2.getPos(_local7); _local10 = new Block(_local8, this); _local10.x = _local9; _local10.y = _local6; addChild(_local10); blocks[_local5][_local7] = _local10; _local7++; }; _local5++; }; } public function destroy():void{ var _local2:int; var _local3:Object; var _local4:Block; var _local1:int; while (_local1 < size) { _local2 = 0; while (_local2 < size) { _local3 = blocks[_local1][_local2]; if (_local3 != null){ _local4 = Block(_local3); gui.stopRenderable(_local4); }; _local2++; }; _local1++; }; } public function levelAnimationPart1(_arg1:int, _arg2:int, _arg3:Array):void{ var _local10:BlockData; var _local11:Block; var _local16:int; var _local17:Object; var _local4:Number = ((_arg2 - _arg1) * 0.33); var _local5:Number = _arg1; var _local6:Number = (_arg1 + _local4); var _local7:Number = Number.MAX_VALUE; var _local8:Number = Number.MAX_VALUE; var _local9:Number = _local6; var _local12:Array = blocks.slice(); var _local13:int = _arg3.length; var _local14:int; while (_local14 < _local13) { _local10 = BlockData(_arg3[_local14]); _local11 = Block(_local12[_local10.row][_local10.col]); _local12[_local10.row][_local10.col] = null; _local11.initialize(_local5, _local6, _local7, _local8, _local9); gui.startRenderable(_local11); _local14++; }; _local5 = ((_arg1 + _local4) + _local4); _local6 = _arg2; var _local15:int; while (_local15 < size) { _local16 = 0; while (_local16 < size) { _local17 = _local12[_local15][_local16]; if (_local17 != null){ _local11 = Block(_local17); _local11.initialize(_local5, _local6, _local7, _local8, _arg2); gui.startRenderable(_local11); }; _local16++; }; _local15++; }; } public function levelAnimationPart3(_arg1:int, _arg2:int):void{ var _local8:BlockData; var _local9:Block; var _local11:int; var _local12:Object; var _local3:Number = ((_arg2 - _arg1) * 0.33); var _local4:Number = _arg1; var _local5:Number = _arg1; var _local6:Number = (_arg1 + _local3); var _local7:Number = _arg2; var _local10:int; while (_local10 < size) { _local11 = 0; while (_local11 < size) { _local12 = blocks[_local10][_local11]; if (_local12 != null){ _local9 = Block(_local12); _local9.initialize(_local4, _local5, _local6, _local7, _arg2); gui.startRenderable(_local9); }; _local11++; }; _local10++; }; } public function flipBlocks(_arg1:int, _arg2:int, _arg3:Array):void{ var _local9:BlockData; var _local10:Block; var _local4:Number = (_arg2 - _arg1); var _local5:Number = (_arg1 + (_local4 * 0.5)); var _local6:Number = (_arg1 + (_local4 * 0.5)); var _local7:int = _arg3.length; var _local8:int; while (_local8 < _local7) { _local9 = BlockData(_arg3[_local8]); _local10 = Block(blocks[_local9.row][_local9.col]); if (_local10.flipping){ gui.stopRenderable(_local10); _local10.nextBlock(); _local10.scaleX = 1; _local10.scaleY = 1; _local10.flipping = false; }; if (_local10.shaking){ gui.stopRenderable(_local10); _local10.x = playArea.getPos(_local9.col); _local10.y = playArea.getPos(_local9.row); _local10.shaking = false; }; _local10.nextBlockData = _local9; _local10.initialize(_arg1, _local5, _local6, _arg2, _arg2); gui.startRenderable(_local10); _local8++; }; } public function shakeBlocks(_arg1:Array):void{ var _local4:BlockData; var _local5:Block; var _local2:int = _arg1.length; var _local3:int; while (_local3 < _local2) { _local4 = BlockData(_arg1[_local3]); _local5 = Block(blocks[_local4.row][_local4.col]); if ((((_local5.flipping == false)) && ((_local5.shaking == false)))){ _local5.shaking = true; gui.startRenderable(_local5); }; _local3++; }; } public function showStatus(_arg1:Array):void{ var _local3:int; var _local4:Block; var _local2:int; while (_local2 < size) { _local3 = 0; while (_local3 < size) { _local4 = Block(blocks[_local2][_local3]); _local4.blockData = BlockData(_arg1[_local2][_local3]); _local4.update(); _local3++; }; _local2++; }; } public function normalize():void{ var _local2:int; var _local3:Block; var _local1:int; while (_local1 < size) { _local2 = 0; while (_local2 < size) { _local3 = Block(blocks[_local1][_local2]); gui.stopRenderable(_local3); _local3.nextBlock(); _local3.scaleX = 1; _local3.scaleY = 1; _local3.x = playArea.getPos(_local2); _local3.y = playArea.getPos(_local1); _local2++; }; _local1++; }; } } }//package guipackage
Section 19
//Gui (guipackage.Gui) package guipackage { import flash.display.*; import flash.events.*; import flash.text.*; import librarynames.*; public class Gui extends Sprite { protected var background:Background; public var gameBackground:GameBackground; protected var intro:Intro; protected var outro:Outro; public var playArea:PlayArea; public var document:Document; public var guiControl:GuiControl; protected var objectsToRender:Array; protected var soundOn:String; protected var soundOff:String; protected var gameRunning:Boolean;// = false var soundManager:SoundManager; public var debugStr:String; public static const RENDERABLE_CONTINUE:int = 0; public static const RENDERABLE_STOP:int = 1; public static const RENDERABLE_HIDE:int = 2; public static const RENDERABLE_REMOVE:int = 3; public function Gui(_arg1:Document){ this.document = _arg1; x = 377; y = 300; objectsToRender = new Array(); background = new Background(); addChild(background); soundManager = new SoundManager(this); var _local2:* = soundManager.startIntroSound(); background.exitBtnTf.visible = false; intro = new Intro(this, _local2); intro.y = -90; addChild(intro); startRenderable(intro); background.sndBtn.addEventListener(MouseEvent.CLICK, soundManager.toggleSound); background.sndBtn.addEventListener(MouseEvent.CLICK, toggleSoundBtn); } public function toggleSoundBtn(_arg1:Event):void{ if (background.soundBtnTf.text == soundOn){ background.soundBtnTf.text = soundOff; } else { background.soundBtnTf.text = soundOn; }; } protected function initDisplayObjects():void{ } public function setIntroTranslations():void{ var _local1:TextFormat = new TextFormat(); _local1.letterSpacing = 2; intro.clickToStartTf.defaultTextFormat = _local1; intro.clickToStartTf.text = document.getTranslation("click_to_start"); intro.rainbowCatInstructionTf.text = document.getTranslation("rainbow_cat_instruction"); intro.coolCatInstructionTf.text = document.getTranslation("cool_cat_instruction"); intro.herringInstructionTf.text = document.getTranslation("herring_instruction"); intro.countDownTf1.text = document.getTranslation("intro_countdown_first"); intro.countDownTf2.text = document.getTranslation("countdown_last"); intro.instructionsLabel.text = document.getTranslation("instructions_label"); Footsteps.nextLevelString = document.getTranslation("next_level"); if (document.relaxMode){ intro.instructionTf.text = document.getTranslation("intro_instruction_relax"); intro.shuffleInstructionTf.text = document.getTranslation("shuffle_instruction_relax"); intro.clockInstructionTf.text = document.getTranslation("clock_instruction_relax"); } else { intro.instructionTf.text = document.getTranslation("intro_instruction"); intro.shuffleInstructionTf.text = document.getTranslation("shuffle_instruction"); intro.clockInstructionTf.text = document.getTranslation("clock_instruction"); }; soundOn = document.getTranslation("sound_on").toUpperCase(); soundOff = document.getTranslation("sound_off").toUpperCase(); background.exitBtnTf.text = document.getTranslation("exit_button").toUpperCase(); background.soundBtnTf.text = soundOn; } public function startGame():void{ background.exitBtnTf.visible = true; gameBackground = new GameBackground(this); addChild(gameBackground); playArea = new PlayArea(this); playArea.x = -140; playArea.y = -60; addChild(playArea); background.exitBtn.addEventListener(MouseEvent.CLICK, exitClicked); document.startGame(); stage.addEventListener(MouseEvent.MOUSE_MOVE, playArea.mouseMove); stage.addEventListener(MouseEvent.MOUSE_UP, playArea.mouseUp); gameBackground.shuffleBtn.addEventListener(MouseEvent.CLICK, shuffleClick); gameBackground.shuffleBtn.addEventListener(MouseEvent.CLICK, shuffleClick); gameBackground.shuffleBtn.addEventListener(MouseEvent.ROLL_OVER, shuffleRollOver); gameBackground.shuffleBtn.addEventListener(MouseEvent.ROLL_OUT, shuffleRollOut); gameBackground.shuffleLabel.mouseEnabled = false; soundManager.gameStart(); } public function shuffleClick(_arg1:MouseEvent):void{ if (gameRunning){ document.addPlayData([App.INPUT_SHUFFLE]); }; } public function shuffleRollOver(_arg1:MouseEvent):void{ gameBackground.shuffleBtn1.gotoAndStop(2); gameBackground.shuffleBtn2.gotoAndStop(2); } public function shuffleRollOut(_arg1:MouseEvent):void{ gameBackground.shuffleBtn1.gotoAndStop(1); gameBackground.shuffleBtn2.gotoAndStop(1); } public function selectRect(_arg1:int, _arg2:int, _arg3:int, _arg4:int):void{ if (gameRunning){ document.addPlayData([App.INPUT_SELECT_RECT, _arg1, _arg2, _arg3, _arg4]); }; } public function selectChange(_arg1:int, _arg2:int, _arg3:int, _arg4:int):void{ if (gameRunning){ document.addPlayData([App.INPUT_SELECT_CHANGE, _arg1, _arg2, _arg3, _arg4]); }; } private function exitClicked(_arg1:MouseEvent):void{ background.exitBtn.removeEventListener(MouseEvent.CLICK, exitClicked); document.addPlayData([App.INPUT_EXIT]); } private function test(_arg1:MouseEvent):void{ if (gameRunning){ }; } private function toggleSound(_arg1:MouseEvent):void{ } public function startRenderable(_arg1:Renderable):void{ var _local2:int = objectsToRender.indexOf(_arg1, 0); if (_local2 == -1){ objectsToRender.push(_arg1); }; } public function stopRenderable(_arg1:Renderable):void{ var _local2:int = objectsToRender.indexOf(_arg1, 0); if (_local2 != -1){ objectsToRender.splice(_local2, 1); }; } public function render(_arg1:int, _arg2:Number):void{ var _local4:Renderable; var _local5:int; var _local6:DisplayObjectContainer; guiControl.executeCommands(_arg1, _arg2); var _local3:int = (objectsToRender.length - 1); while (_local3 >= 0) { _local4 = Renderable(objectsToRender[_local3]); _local5 = _local4.render(_arg1, _arg2); if (_local5 != Gui.RENDERABLE_CONTINUE){ stopRenderable(_local4); if (_local5 == Gui.RENDERABLE_HIDE){ DisplayObject(_local4).visible = false; } else { if (_local5 == Gui.RENDERABLE_REMOVE){ _local6 = DisplayObject(_local4).parent; _local6.removeChild(DisplayObject(_local4)); }; }; }; _local3--; }; } public function showTimeWarning():void{ } public function showOutro(_arg1:int, _arg2:Boolean, _arg3:int, _arg4:int):void{ playArea.visible = false; removeChild(gameBackground); background.exitBtnTf.visible = false; background.soundBtnTf.visible = false; background.exitBtn.visible = false; background.sndBtn.visible = false; outro = new Outro(this, _arg1, _arg2, _arg3, _arg4); addChild(outro); startRenderable(outro); soundManager.gameEnd(); } public function setGameRunning(_arg1:Boolean):void{ gameRunning = _arg1; } public function getGameRunning():Boolean{ return (gameRunning); } public function updateScore(_arg1:int):void{ gameBackground.score.text = ("" + _arg1); } public function scorePop(_arg1:int, _arg2:Number, _arg3:Number):void{ playArea.scorePop(_arg1, _arg2, _arg3); } public function initGame(_arg1:Array, _arg2:int):void{ playArea.newLevel(_arg1, _arg2); } public function updateTime(_arg1:int, _arg2:int):void{ var _local3:String = String(_arg1); if (_local3.length < 1){ _local3 = "0"; }; var _local4:String = ("" + _arg2); if (_local4.length < 2){ _local4 = ("0" + _local4); }; gameBackground.time.text = ((_local3 + ":") + _local4); } public function updateLevel(_arg1:int):void{ gameBackground.level.text = ("" + (_arg1 + 1)); } } }//package guipackage
Section 20
//GuiControl (guipackage.GuiControl) package guipackage { import librarynames.*; public class GuiControl { protected const SET_GAME_RUNNING:int = 0; protected const UPDATE_TIME:int = 1; protected const GAME_OVER:int = 2; protected const UPDATE_SCORE:int = 3; protected const SHOW_TIME_WARNING:int = 4; protected const LEVEL_ANIMATION_PART_1:int = 5; protected const INIT_GAME:int = 6; protected const FLIP_BLOCKS:int = 7; protected const UPDATE_LEVEL:int = 8; protected const SCORE_POP:int = 9; protected const SHOW_STATUS:int = 10; protected const COMBO_SOUND:int = 11; protected const SHAKE_BLOCKS:int = 12; protected const LEVEL_ANIMATION_PART_2:int = 13; protected const SHUFFLE:int = 14; protected const LEVEL_ANIMATION_PART_3:int = 15; protected const STOP_TIME_WARNING:int = 16; protected const NORMALIZE_GRID:int = 17; protected const UPDATE_MOVES:int = 18; protected var gui:Gui; protected var commands:Array; public function GuiControl(_arg1:Gui){ this.gui = _arg1; commands = new Array(); } public function setGameRunning(_arg1:Boolean):void{ commands.push([SET_GAME_RUNNING, _arg1]); } public function updateTimeDisplay(_arg1:int, _arg2:int):void{ commands.push([UPDATE_TIME, _arg1, _arg2]); } public function updateScore(_arg1:int):void{ commands.push([UPDATE_SCORE, _arg1]); } public function scorePop(_arg1:int, _arg2:Number, _arg3:Number):void{ commands.push([SCORE_POP, _arg1, _arg2, _arg3]); } public function gameOver(_arg1:int, _arg2:Boolean, _arg3:int, _arg4:int):void{ commands.push([GAME_OVER, _arg1, _arg2, _arg3, _arg4]); } public function showTimeWarning():void{ commands.push([SHOW_TIME_WARNING]); } public function stopTimeWarning():void{ commands.push([STOP_TIME_WARNING]); } public function levelAnimationPart1(_arg1:int, _arg2:int, _arg3:Array, _arg4:int, _arg5:int, _arg6:int):void{ commands.push([LEVEL_ANIMATION_PART_1, _arg1, _arg2, _arg3, _arg5, _arg6]); } public function levelAnimationPart2(_arg1:int, _arg2:int):void{ commands.push([LEVEL_ANIMATION_PART_2, _arg1, _arg2]); } public function levelAnimationPart3(_arg1:int, _arg2:int, _arg3:Array, _arg4:int):void{ commands.push([LEVEL_ANIMATION_PART_3, _arg1, _arg2, _arg3, _arg4]); } public function initGame(_arg1:Array, _arg2:int):void{ commands.push([INIT_GAME, _arg1, _arg2]); } public function flipBlocks(_arg1:int, _arg2:int, _arg3:Array):void{ commands.push([FLIP_BLOCKS, _arg1, _arg2, _arg3]); } public function normalizeGrid():void{ commands.push([NORMALIZE_GRID]); } public function updateMoves(_arg1:int):void{ commands.push([UPDATE_MOVES, _arg1]); } public function showStatus(_arg1:Array):void{ commands.push([SHOW_STATUS, _arg1]); } public function updateLevel(_arg1:int):void{ commands.push([UPDATE_LEVEL, _arg1]); } public function comboSound(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int):void{ commands.push([COMBO_SOUND, _arg1, _arg2, _arg3, _arg4, _arg5]); } public function shakeBlocks(_arg1:Array):void{ commands.push([SHAKE_BLOCKS, _arg1]); } public function shuffle():void{ commands.push([SHUFFLE]); } public function executeCommands(_arg1:int, _arg2:Number):void{ var _local3:Array; var _local4:int; var _local5:int; while (commands.length > 0) { _local3 = commands.shift(); _local4 = int(_local3[0]); _local5 = 1; switch (_local4){ case SET_GAME_RUNNING: gui.setGameRunning(Boolean(_local3[1])); break; case UPDATE_TIME: gui.updateTime(int(_local3[1]), int(_local3[2])); break; case UPDATE_SCORE: gui.updateScore(int(_local3[1])); break; case GAME_OVER: gui.showOutro(int(_local3[1]), Boolean(_local3[2]), int(_local3[3]), int(_local3[4])); break; case SHOW_TIME_WARNING: gui.gameBackground.timeWarning(_arg1, _arg2); break; case STOP_TIME_WARNING: gui.gameBackground.stopTimeWarning(); break; case LEVEL_ANIMATION_PART_1: var _temp1 = _local5; _local5 = (_local5 + 1); var _temp2 = _local5; _local5 = (_local5 + 1); var _temp3 = _local5; _local5 = (_local5 + 1); gui.playArea.grid.levelAnimationPart1(int(_local3[_temp1]), int(_local3[_temp2]), _local3[_temp3]); var _temp4 = _local5; _local5 = (_local5 + 1); var _temp5 = _local5; _local5 = (_local5 + 1); var _temp6 = _local5; _local5 = (_local5 + 1); gui.soundManager.level(int(_local3[_temp4]), int(_local3[_temp5]), int(_local3[_temp6])); break; case LEVEL_ANIMATION_PART_2: var _temp7 = _local5; _local5 = (_local5 + 1); var _temp8 = _local5; _local5 = (_local5 + 1); gui.playArea.levelAnimationPart2(int(_local3[_temp7]), int(_local3[_temp8])); break; case LEVEL_ANIMATION_PART_3: gui.playArea.newLevel(_local3[3], int(_local3[4])); var _temp9 = _local5; _local5 = (_local5 + 1); var _temp10 = _local5; _local5 = (_local5 + 1); gui.playArea.grid.levelAnimationPart3(int(_local3[_temp9]), int(_local3[_temp10])); break; case INIT_GAME: gui.initGame(_local3[1], int(_local3[2])); break; case FLIP_BLOCKS: var _temp11 = _local5; _local5 = (_local5 + 1); var _temp12 = _local5; _local5 = (_local5 + 1); var _temp13 = _local5; _local5 = (_local5 + 1); gui.playArea.grid.flipBlocks(int(_local3[_temp11]), int(_local3[_temp12]), _local3[_temp13]); break; case NORMALIZE_GRID: gui.playArea.grid.normalize(); break; case UPDATE_MOVES: gui.gameBackground.time.text = ("" + int(_local3[1])); break; case UPDATE_LEVEL: gui.updateLevel(int(_local3[1])); break; case SCORE_POP: gui.scorePop(int(_local3[1]), Number(_local3[2]), Number(_local3[3])); break; case SHOW_STATUS: gui.playArea.grid.showStatus(_local3[1]); break; case COMBO_SOUND: gui.soundManager.comboSound(int(_local3[1]), int(_local3[2]), int(_local3[3]), int(_local3[4]), int(_local3[5])); break; case SHAKE_BLOCKS: gui.playArea.grid.shakeBlocks(_local3[1]); gui.soundManager.notCombo(); break; case SHUFFLE: gui.soundManager.shuffle(); break; default: throw (new Error(("unknown gui command: " + _local4))); }; }; } } }//package guipackage
Section 21
//InstrumentAnim (guipackage.InstrumentAnim) package guipackage { import flash.display.*; public class InstrumentAnim extends MovieClip implements Renderable { protected const FRAMES_PER_TICK:Number = 0.6; public var startTick:int;// = 0 public var endTick:int;// = 2147483647 public function InstrumentAnim(){ OutroAnimation(parent).gui.startRenderable(this); } public function render(_arg1:int, _arg2:Number):int{ if ((((startTick == 0)) || ((_arg1 > endTick)))){ startTick = _arg1; endTick = (startTick + (totalFrames / FRAMES_PER_TICK)); }; var _local3:int = (_arg1 - startTick); var _local4:int = Math.ceil((_local3 * FRAMES_PER_TICK)); if (_local4 > totalFrames){ _local4 = totalFrames; }; gotoAndStop(_local4); return (Gui.RENDERABLE_CONTINUE); } } }//package guipackage
Section 22
//Intro (guipackage.Intro) package guipackage { import flash.display.*; import modelpackage.*; import flash.events.*; import flash.text.*; import librarynames.*; public class Intro extends Sprite implements Renderable { public var instructionTf:TextField; public var clickToStartTf:TextField; public var instructionsLabel:TextField; public var shuffleInstructionTf:TextField; public var rainbowCatInstructionTf:TextField; public var coolCatInstructionTf:TextField; public var herringInstructionTf:TextField; public var clockInstructionTf:TextField; public var startButton:StartButton; public var countDownTf1:TextField; public var countDownDigitTf:TextField; public var countDownTf2:TextField; public var rainbow:MovieClip; public var coolCat:MovieClip; public var block1:MovieClip; public var herring:MovieClip; public var block2:MovieClip; public var time:MovieClip; public var block3:MovieClip; protected var gui:Gui; protected var countDownTicks:Number; protected var countDownSec:int; protected var startTick:int;// = -100 protected var endTick:int;// = -1 protected var lastTimeStr:String; protected var startButtonInitializeTick:int;// = 2147483647 protected var bitmapGenerationPart:int;// = 0 protected var size:int;// = 5 protected var color:int; public function Intro(_arg1:Gui, _arg2){ this.gui = _arg1; this.countDownTicks = ((_arg2 * App.TICKS_PER_SECOND) / 1000); this.countDownSec = (countDownTicks / App.TICKS_PER_SECOND); var _local3:TextFormat = new TextFormat(); _local3.letterSpacing = 2; countDownTf1.defaultTextFormat = _local3; countDownTf1.visible = false; countDownDigitTf.visible = false; countDownTf2.visible = false; rainbow.head.gotoAndStop("neutral"); coolCat.head.gotoAndStop("neutral"); block1.stop(); block1.taken.visible = false; block2.stop(); block2.taken.visible = false; block3.stop(); block3.taken.visible = false; this.mouseEnabled = false; } public function render(_arg1:int, _arg2:Number):int{ if (startTick == -100){ startTick = _arg1; endTick = (startTick + countDownTicks); }; switch (bitmapGenerationPart++){ case 0: Block.blockBitmapData = new BlockBitmapData(); break; case 1: Block.blockBitmapData.makeCat(size++, color); bitmapGenerationPart--; if (size > 10){ color++; if (color < BlockData.COLORS){ size = 5; } else { bitmapGenerationPart++; }; }; break; case 2: Block.blockBitmapData.makeMiscParts(); break; case 3: Block.blockBitmapData.makeHerringsAndClocks(); break; case 4: Block.blockBitmapData.makeFinalBacksides1(); break; case 5: Block.blockBitmapData.makeFinalBacksides2(); break; case 6: Block.blockBitmapData.makeFinalFronts1(); break; case 7: Block.blockBitmapData.makeFinalFronts2(); break; case 8: Block.blockBitmapData.makeFinalFronts3(); break; case 9: startButton = new StartButton(); startButton.x = -467; startButton.y = -428; startButton.width = 1000; startButton.height = 700; startButton.alpha = 0; addChild(startButton); countDownTf1.visible = true; countDownDigitTf.visible = true; countDownTf2.visible = true; break; case 10: startButton.addEventListener(MouseEvent.CLICK, start); break; }; var _local3:int = ((endTick - _arg1) / App.TICKS_PER_SECOND); if (_local3 != countDownSec){ countDownSec = _local3; countDownDigitTf.text = ("" + countDownSec); countDownSec = _local3; }; if (_arg1 >= endTick){ gui.startGame(); return (Gui.RENDERABLE_REMOVE); }; return (Gui.RENDERABLE_CONTINUE); } protected function start(_arg1:MouseEvent):void{ startButton.removeEventListener(MouseEvent.CLICK, start); endTick = 0; } } }//package guipackage
Section 23
//Outro (guipackage.Outro) package guipackage { import flash.display.*; import flash.events.*; public class Outro extends Sprite implements Renderable { public var FRAME_RATE:int;// = 25 protected var gui:Gui; protected var initialized:Boolean;// = false protected var endTick:int;// = 960 protected var earliestPossibleEndTick:int;// = 120 protected var outroAnimation:OutroAnimation; protected var countDownSeconds:int;// = -1 public function Outro(_arg1:Gui, _arg2:int, _arg3:Boolean, _arg4:int, _arg5:int){ this.gui = _arg1; addEventListener(MouseEvent.CLICK, gameQuit); outroAnimation = new OutroAnimation(_arg1, _arg2, _arg3, _arg4, _arg5); outroAnimation.countTf1.text = _arg1.document.getTranslation("outro_countdown_first"); outroAnimation.countDownTf2.text = _arg1.document.getTranslation("countdown_last"); addChild(outroAnimation); _arg1.startRenderable(outroAnimation); } protected function gameQuit(_arg1:MouseEvent):void{ endTick = earliestPossibleEndTick; removeEventListener(MouseEvent.CLICK, gameQuit); } public function render(_arg1:int, _arg2:Number):int{ var _local4:int; if (!initialized){ initialized = true; endTick = (endTick + _arg1); earliestPossibleEndTick = (earliestPossibleEndTick + _arg1); }; var _local3:int = (endTick - _arg1); if (_local3 > 0){ _local4 = (((endTick - _arg1) / App.TICKS_PER_SECOND) + 1); } else { _local4 = 0; }; if (_local4 != countDownSeconds){ countDownSeconds = _local4; outroAnimation.countDownDigitTf.text = ("" + countDownSeconds); }; if (_arg1 >= endTick){ gui.document.gameQuit(); return (Gui.RENDERABLE_STOP); }; return (Gui.RENDERABLE_CONTINUE); } } }//package guipackage
Section 24
//OutroAnimation (guipackage.OutroAnimation) package guipackage { import flash.display.*; import flash.text.*; public class OutroAnimation extends MovieClip implements Renderable { protected const FRAMES_PER_TICK:Number = 0.7; public var score:GameEndScoreAnim; public var levelBubble:MovieClip; public var practiceBubble:MovieClip; public var countTf1:TextField; public var countDownTf2:TextField; public var countDownDigitTf:TextField; public var cat1:MovieClip; public var cat2:MovieClip; public var cat3:MovieClip; public var cat4:MovieClip; public var cat5:MovieClip; public var cat6:MovieClip; public var Drums:MovieClip; public var gui:Gui; public var scoreInt:int; protected var shortMode:Boolean; protected var level:int; protected var startFrame:int; protected var endFrame:int; protected var startTick:int;// = 0 protected var levelBabbleFrame:int; protected var levelBabbleEndFrame:int;// = 30 protected var practiceBabbleFrame:int; protected var endTick:int; protected var cat1Neutralized:Boolean;// = false protected var cat2Neutralized:Boolean;// = false protected var cat3Neutralized:Boolean;// = false protected var cat4Neutralized:Boolean;// = false protected var cat5Neutralized:Boolean;// = false protected var cat6Neutralized:Boolean;// = false protected var cat1Blinking:Boolean;// = false protected var cat2Blinking:Boolean;// = false protected var praciceBubbleSet:Boolean;// = false protected var outroBlinkings:Array; public function OutroAnimation(_arg1:Gui, _arg2:int, _arg3:Boolean, _arg4:int, _arg5:int){ outroBlinkings = new Array(); this.gui = _arg1; this.scoreInt = _arg2; this.shortMode = _arg3; this.level = (_arg4 + 1); var _local6:TextFormat = new TextFormat(); _local6.letterSpacing = 2; countTf1.defaultTextFormat = _local6; switch (_arg5){ case 2: gotoAndStop("TwoCatsEnd"); endFrame = currentFrame; gotoAndStop("LevelTwo"); levelBabbleFrame = currentFrame; gotoAndStop("PracticeTwo"); practiceBabbleFrame = currentFrame; gotoAndStop("TwoCats"); startFrame = currentFrame; break; case 3: gotoAndStop("ThreeCatsEnd"); endFrame = currentFrame; gotoAndStop("LevelThree"); levelBabbleFrame = currentFrame; gotoAndStop("PracticeThree"); practiceBabbleFrame = currentFrame; gotoAndStop("ThreeCats"); startFrame = currentFrame; break; case 4: gotoAndStop("FourCatsEnd"); endFrame = currentFrame; gotoAndStop("LevelFour"); levelBabbleFrame = currentFrame; gotoAndStop("FourCats"); startFrame = currentFrame; break; case 5: gotoAndStop("FiveCatsEnd"); endFrame = currentFrame; gotoAndStop("LevelFive"); levelBabbleFrame = currentFrame; gotoAndStop("FiveCats"); startFrame = currentFrame; break; case 6: gotoAndStop("SixCatsEnd"); endFrame = currentFrame; gotoAndStop("LevelSix"); levelBabbleFrame = currentFrame; gotoAndStop("SixCats"); startFrame = currentFrame; break; default: trace("error in OutroAnimation"); }; } public function render(_arg1:int, _arg2:Number):int{ var _local6:int; var _local7:int; var _local9:OutroBlinking; if (startTick == 0){ startTick = _arg1; levelBabbleEndFrame = (levelBabbleEndFrame + levelBabbleFrame); if (levelBabbleEndFrame > endFrame){ levelBabbleEndFrame = endFrame; }; }; var _local3:int = (_arg1 - startTick); var _local4:int = Math.floor((_local3 * FRAMES_PER_TICK)); var _local5:int = (startFrame + _local4); if (_local5 > endFrame){ _local5 = endFrame; }; gotoAndStop(_local5); if (((!(cat1Neutralized)) && (!((cat1 == null))))){ cat1.gotoAndStop("neutral"); if (!shortMode){ outroBlinkings.push(new OutroBlinking(cat1)); cat1Blinking = true; }; cat1Neutralized = true; }; if (((!(cat2Neutralized)) && (!((cat2 == null))))){ cat2.gotoAndStop("neutral"); cat2Neutralized = true; }; if (((!(cat3Neutralized)) && (!((cat3 == null))))){ cat3.gotoAndStop("neutral"); outroBlinkings.push(new OutroBlinking(cat3)); cat3Neutralized = true; }; if (((!(cat4Neutralized)) && (!((cat4 == null))))){ cat4.gotoAndStop("neutral"); outroBlinkings.push(new OutroBlinking(cat4)); cat4Neutralized = true; }; if (((!(cat5Neutralized)) && (!((cat5 == null))))){ cat5.gotoAndStop("neutral"); outroBlinkings.push(new OutroBlinking(cat5)); cat5Neutralized = true; }; if (((!(cat6Neutralized)) && (!((cat6 == null))))){ cat6.gotoAndStop("neutral"); cat6Neutralized = true; }; if (((((!((cat2 == null))) && ((currentFrame > levelBabbleFrame)))) && ((currentFrame < levelBabbleEndFrame)))){ _local6 = (levelBabbleEndFrame - currentFrame); _local7 = ((levelBabbleEndFrame - levelBabbleFrame) / 4); if (_local6 < _local7){ cat2.gotoAndStop("cool"); } else { if (_local6 < (_local7 * 2)){ cat2.gotoAndStop("miao"); } else { if (_local6 < (_local7 * 3)){ cat2.gotoAndStop("cool"); } else { if (_local6 < (_local7 * 2)){ cat2.gotoAndStop("miao"); }; }; }; }; } else { if (((!(cat2Blinking)) && ((currentFrame >= levelBabbleEndFrame)))){ outroBlinkings.push(new OutroBlinking(cat2)); cat2Blinking = true; }; }; if (((((((((shortMode) && (!((cat1 == null))))) && (!((practiceBubble == null))))) && ((currentFrame > practiceBabbleFrame)))) && ((currentFrame < endFrame)))){ _local6 = (endFrame - currentFrame); _local7 = ((endFrame - practiceBabbleFrame) / 4); if (_local6 < _local7){ cat1.gotoAndStop("cool"); } else { if (_local6 < (_local7 * 2)){ cat1.gotoAndStop("miao"); } else { if (_local6 < (_local7 * 3)){ cat1.gotoAndStop("cool"); } else { if (_local6 < (_local7 * 2)){ cat1.gotoAndStop("miao"); }; }; }; }; } else { if (((((!(cat1Blinking)) && (shortMode))) && ((currentFrame == endFrame)))){ outroBlinkings.push(new OutroBlinking(cat1)); cat1Blinking = true; }; }; if (levelBubble != null){ levelBubble.outroLevelLabel.text = gui.document.getTranslation("outro_level_label"); levelBubble.textField.text = ("" + level); }; if (((!(praciceBubbleSet)) && (!((practiceBubble == null))))){ practiceBubble.textField.text = gui.document.getTranslation("outro_open_game_label"); practiceBubble.visible = shortMode; praciceBubbleSet = true; }; var _local8:int; while (_local8 < outroBlinkings.length) { _local9 = OutroBlinking(outroBlinkings[_local8]); _local9.render(_arg1); _local8++; }; return (Gui.RENDERABLE_CONTINUE); } } }//package guipackage
Section 25
//OutroBlinking (guipackage.OutroBlinking) package guipackage { import flash.display.*; public class OutroBlinking { protected const MAX_TICKS:int = 200; protected const MIN_TICKS:int = 100; protected const CLOSED_TICKS:int = 25; protected var cat:MovieClip; protected var nextChange:int;// = 0 public function OutroBlinking(_arg1:MovieClip){ this.cat = _arg1; _arg1.gotoAndStop("blinking"); } public function render(_arg1:int):void{ if (cat.blink != null){ if (nextChange == 0){ if (cat.blink.visible){ nextChange = (_arg1 + CLOSED_TICKS); } else { nextChange = ((_arg1 + MIN_TICKS) + ((MAX_TICKS - MIN_TICKS) * Math.random())); }; } else { if (_arg1 >= nextChange){ cat.blink.visible = !(cat.blink.visible); nextChange = 0; }; }; }; } } }//package guipackage
Section 26
//PlayArea (guipackage.PlayArea) package guipackage { import flash.display.*; import flash.events.*; public class PlayArea extends Sprite { public var gui:Gui; public var selectionRect:SelectionRect; public var grid:Grid; public var footsteps:Footsteps; public var scale:Number; protected var blocksWide:int; protected var firstCenterPos:int; protected var halfWidth:int; public static const TOTAL_WIDTH:int = 450; public static const NATURAL_SPACE_BETWEEN:int = 5; public static const NATURAL_BLOCK_WIDTH:int = 100; public function PlayArea(_arg1:Gui){ this.gui = _arg1; } public function mouseMove(_arg1:MouseEvent):void{ if (selectionRect != null){ selectionRect.mouseMove(_arg1); }; } public function mouseUp(_arg1:MouseEvent):void{ selectionRect.mouseUp(_arg1); } public function levelAnimationPart2(_arg1:int, _arg2:int):void{ footsteps = new Footsteps(); footsteps.startTick = _arg1; footsteps.endTick = _arg2; addChildAt(footsteps, 2); gui.startRenderable(footsteps); } public function newLevel(_arg1:Array, _arg2:int):void{ if (grid != null){ grid.destroy(); removeChild(grid); }; this.blocksWide = _arg1.length; scale = getScale(blocksWide); halfWidth = Math.floor((getSpan(blocksWide) / 2)); firstCenterPos = (-(halfWidth) + Math.floor(((PlayArea.NATURAL_BLOCK_WIDTH * scale) / 2))); grid = new Grid(gui, this, _arg1, _arg2); addChildAt(grid, 0); if (selectionRect != null){ removeEventListener(MouseEvent.MOUSE_DOWN, selectionRect.mouseDown); removeEventListener(MouseEvent.ROLL_OUT, selectionRect.rollOut); removeChild(selectionRect); }; switch (grid.size){ case 5: selectionRect = new SelectionRect05(); break; case 6: selectionRect = new SelectionRect06(); break; case 7: selectionRect = new SelectionRect07(); break; case 8: selectionRect = new SelectionRect08(); break; case 9: selectionRect = new SelectionRect09(); break; case 10: selectionRect = new SelectionRect10(); break; }; selectionRect.playArea = this; selectionRect.visible = false; addChildAt(selectionRect, 1); addEventListener(MouseEvent.MOUSE_DOWN, selectionRect.mouseDown); addEventListener(MouseEvent.ROLL_OUT, selectionRect.rollOut); } public function getPos(_arg1:Number):int{ return ((firstCenterPos + ((_arg1 * (PlayArea.NATURAL_SPACE_BETWEEN + PlayArea.NATURAL_BLOCK_WIDTH)) * scale))); } public function getSpan(_arg1:int):int{ return ((((_arg1 * PlayArea.NATURAL_BLOCK_WIDTH) + ((_arg1 - 1) * PlayArea.NATURAL_SPACE_BETWEEN)) * scale)); } public function getSlotNr(_arg1:int):int{ var _local2:int = Math.floor(((_arg1 + halfWidth) / ((PlayArea.NATURAL_SPACE_BETWEEN + PlayArea.NATURAL_BLOCK_WIDTH) * scale))); if (_local2 < 0){ _local2 = 0; } else { if (_local2 >= blocksWide){ _local2 = (blocksWide - 1); }; }; return (_local2); } public function getMouseCol():int{ return (getSlotNr(mouseX)); } public function getMouseRow():int{ return (getSlotNr(mouseY)); } public function scorePop(_arg1:int, _arg2:Number, _arg3:Number):void{ var _local4:ScorePop = new ScorePop(_arg1); _local4.x = Math.floor(getPos(_arg2)); _local4.y = Math.floor(getPos(_arg3)); addChild(_local4); gui.startRenderable(_local4); } public static function getScale(_arg1:int):Number{ var _local2:Number = ((PlayArea.NATURAL_BLOCK_WIDTH * _arg1) + (PlayArea.NATURAL_SPACE_BETWEEN * (_arg1 - 1))); return ((PlayArea.TOTAL_WIDTH / _local2)); } } }//package guipackage
Section 27
//Renderable (guipackage.Renderable) package guipackage { public interface Renderable { function render(_arg1:int, _arg2:Number):int; } }//package guipackage
Section 28
//ScorePop (guipackage.ScorePop) package guipackage { import flash.display.*; import flash.text.*; public class ScorePop extends Sprite implements Renderable { public const SPEED:Number = -1; public const FADE_IN_TICKS:int = 10; public const START_FADE_OUT_TICK:int = 50; public const TOTAL_TICKS:int = 80; public var textField:TextField; protected var startTick:Number;// = -1 protected var yStart:Number; public function ScorePop(_arg1:int){ this.mouseEnabled = false; textField.mouseEnabled = false; textField.text = ("" + _arg1); this.alpha = 0; this.cacheAsBitmap = true; } public function render(_arg1:int, _arg2:Number):int{ var _local5:Number; var _local6:int; var _local7:Number; var _local3:Number = (_arg1 + _arg2); if (startTick == -1){ startTick = _local3; yStart = y; }; var _local4:Number = (_local3 - startTick); if (_local4 < FADE_IN_TICKS){ _local5 = (_local4 / FADE_IN_TICKS); this.alpha = Math.min(_local5, 1); } else { if (_local4 < START_FADE_OUT_TICK){ if (this.alpha != 1){ this.alpha = 1; }; } else { if (_local4 > START_FADE_OUT_TICK){ _local6 = (TOTAL_TICKS - START_FADE_OUT_TICK); _local7 = (TOTAL_TICKS - _local4); _local5 = (_local7 / _local6); this.alpha = Math.max(_local5, 0); }; }; }; y = Math.floor((yStart + (SPEED * _local4))); if (_local4 > TOTAL_TICKS){ return (Gui.RENDERABLE_REMOVE); }; return (Gui.RENDERABLE_CONTINUE); } } }//package guipackage
Section 29
//SelectionRect (guipackage.SelectionRect) package guipackage { import flash.display.*; import flash.events.*; public class SelectionRect extends Sprite { public var playArea:PlayArea; protected var startCol:int; protected var startRow:int; protected var currentCol:int; protected var currentRow:int; protected var mouseIsDown:Boolean;// = false public function mouseDown(_arg1:MouseEvent):void{ mouseIsDown = true; startCol = playArea.getMouseCol(); startRow = playArea.getMouseRow(); currentCol = startCol; currentRow = startRow; visible = true; update(_arg1); playArea.gui.selectChange(startCol, startRow, startCol, startRow); } public function mouseMove(_arg1:MouseEvent):void{ var _local2:int; var _local3:int; if (mouseIsDown){ _local2 = playArea.getMouseCol(); _local3 = playArea.getMouseRow(); if (((!((_local2 == currentCol))) || (!((_local3 == currentRow))))){ currentCol = _local2; currentRow = _local3; update(_arg1); playArea.gui.selectChange(startCol, startRow, currentCol, currentRow); }; }; } public function mouseUp(_arg1:MouseEvent):void{ mouseIsDown = false; if (visible){ visible = false; playArea.gui.selectRect(startCol, startRow, currentCol, currentRow); }; } public function rollOut(_arg1:MouseEvent):void{ } protected function update(_arg1:MouseEvent):void{ var _local2:Number = playArea.scale; var _local3:Number = (PlayArea.NATURAL_BLOCK_WIDTH * _local2); var _local4:Number = (14 * _local2); var _local5:Number = (18 * _local2); var _local6:int = startCol; var _local7:int = currentCol; if (_local7 < _local6){ _local6 = _local7; _local7 = startCol; }; var _local8:int = ((_local7 - _local6) + 1); width = (((_local8 * _local3) + ((_local8 - 1) * _local4)) + _local5); x = Math.floor(((playArea.getPos(_local6) + playArea.getPos(_local7)) / 2)); var _local9:int = startRow; var _local10:int = currentRow; if (_local10 < _local9){ _local10 = _local9; _local9 = currentRow; }; var _local11:int = ((_local10 - _local9) + 1); height = (((_local11 * _local3) + ((_local11 - 1) * _local4)) + _local5); y = Math.floor(((playArea.getPos(_local9) + playArea.getPos(_local10)) / 2)); _arg1.updateAfterEvent(); } } }//package guipackage
Section 30
//SoundManager (guipackage.SoundManager) package guipackage { import util.*; import flash.events.*; import flash.media.*; import flash.utils.*; public class SoundManager { public const STEREO_INTENSITY:Number = 0.7; public const VOLUME_SHUFFLE:Number = 0.5; public const VOLUME_INTRO:Number = 0.5; public const VOLUME_LOOP:Number = 0.4; public const VOLUME_OUTRO:Number = 0.6; public const VOLUME_TIME_WARNING:Number = 0.5; public const VOLUME_GAME_OVER:Number = 0.3; public const VOLUME_LEVEL_ANIMATION:Number = 0.9; public const VOLUME_COLOR:Number = 0.5; public const VOLUME_BOMB:Number = 0.5; public const VOLUME_GOLD:Number = 0.5; public const VOLUME_TIME:Number = 0.5; public const VOLUME_NOT_COMBO:Number = 0.5; public const VOLUME_NO_CAT:Number = 0.5; public const LOOP_DELAY:int = 200; public const OUTRO_DELAY:int = 200; private var soundOn:Boolean;// = true private var introSound:Sound; private var introSoundChannel:SoundChannel; private var introSoundTransform:SoundTransform; private var loopSound:Sound; private var loopSoundChannel:SoundChannel; private var loopSoundTransform:SoundTransform; private var outroSoundTransform:SoundTransform; private var outroSound:Sound; public var outroSoundChannel:SoundChannel; protected var chordChannel:SoundChannel; private var outroNext:Boolean;// = false private var timer:Timer; public var gui:Gui; protected var loopPosition:Number;// = 0 public function SoundManager(_arg1:Gui){ this.gui = _arg1; } public function toggleSound(_arg1:MouseEvent):void{ soundOn = !(soundOn); if (soundOn){ startMusic(); } else { stopMusic(); }; } public function stopMusic():void{ if (loopSoundChannel != null){ loopSoundChannel.soundTransform = new SoundTransform(0); }; if (introSoundChannel != null){ introSoundChannel.soundTransform = new SoundTransform(0); }; if (outroSoundChannel != null){ outroSoundChannel.soundTransform = new SoundTransform(0); }; } public function startMusic():void{ if (soundOn){ if (loopSoundChannel != null){ loopSoundChannel.soundTransform = new SoundTransform(VOLUME_LOOP); }; if (introSoundChannel != null){ introSoundChannel.soundTransform = new SoundTransform(VOLUME_LOOP); }; if (outroSoundChannel != null){ outroSoundChannel.soundTransform = new SoundTransform(VOLUME_LOOP); }; }; } public function startIntroSound(_arg1:Event=null):int{ var _local2:Number = VOLUME_INTRO; if (!soundOn){ _local2 = 0; }; introSoundTransform = new SoundTransform(_local2); introSound = new IntroSnd(); introSoundChannel = introSound.play(0, 0, introSoundTransform); return (introSound.length); } public function gameStart(_arg1:Event=null):void{ if (introSoundChannel != null){ new SoundFader(introSoundChannel, LOOP_DELAY); }; timer = new Timer(LOOP_DELAY, 1); timer.addEventListener("timerComplete", startLoopSound); timer.start(); } public function startLoopSound(_arg1:Event=null):void{ var _local2:Number = VOLUME_LOOP; if (!soundOn){ _local2 = 0; }; loopSoundTransform = new SoundTransform(_local2); loopSound = new LoopSnd2(); loopSoundChannel = loopSound.play(loopPosition, int.MAX_VALUE, loopSoundTransform); } public function gameEnd(_arg1:Event=null):void{ if (introSoundChannel != null){ new SoundFader(introSoundChannel, OUTRO_DELAY); }; if (loopSoundChannel != null){ new SoundFader(loopSoundChannel, OUTRO_DELAY); }; timer = new Timer(OUTRO_DELAY, 1); timer.addEventListener("timerComplete", startOutroSound); timer.start(); } public function startOutroSound(_arg1:Event=null):void{ var _local2:Number = VOLUME_OUTRO; if (!soundOn){ _local2 = 0; }; outroSoundTransform = new SoundTransform(_local2); outroSound = new OutroSnd(); outroSoundChannel = outroSound.play(0, 0, loopSoundTransform); } public function timeWarning():void{ var _local1:Sound; if (soundOn){ _local1 = new TimeWarningSnd(); playSound(_local1, VOLUME_TIME_WARNING); }; } public function shuffle():void{ if (soundOn){ playSound(new ShuffleSnd(), VOLUME_SHUFFLE); }; } public function levelFadeOut():void{ var _local1:SoundFader; if (soundOn){ loopPosition = loopSoundChannel.position; _local1 = new SoundFader(loopSoundChannel, 600); }; } public function level(_arg1:int, _arg2:int, _arg3:int):void{ var _local4:int; var _local5:VolumeChanger; var _local6:Timer; var _local7:int; var _local8:Timer; if (soundOn){ _local4 = App.ticksToMillisec(_arg1); _local5 = new VolumeChanger(loopSoundChannel, 0.1, _local4); _local6 = new Timer(App.ticksToMillisec(Math.floor((_arg1 * 0.5))), 1); _local6.addEventListener("timerComplete", playLevelSound); _local6.start(); _local7 = App.ticksToMillisec((_arg1 + Math.floor((_arg2 / 2)))); _local8 = new Timer(_local7, 1); _local8.addEventListener("timerComplete", fadeBackLoop); _local8.start(); }; } public function playLevelSound(_arg1:Event):void{ playSound(new NewLevelSnd(), VOLUME_LEVEL_ANIMATION); } public function fadeBackLoop(_arg1:Event):void{ var _local2:VolumeChanger = new VolumeChanger(loopSoundChannel, VOLUME_LOOP, 1500); } public function loopContinue(_arg1:Event=null):void{ loopSoundChannel.soundTransform = new SoundTransform(VOLUME_LOOP); } public function comboSound(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int):void{ var _local6:Sound; var _local7:int; var _local8:SoundTransform; var _local9:Sound; if (soundOn){ if (_arg2 != 0){ _local7 = Math.floor((Math.random() * 6)); switch (_local7){ case 0: _local6 = new Color0Snd(); break; case 1: _local6 = new Color1Snd(); break; case 2: _local6 = new Color2Snd(); break; case 3: _local6 = new Color3Snd(); break; case 4: _local6 = new Color4Snd(); break; case 5: _local6 = new Color5Snd(); break; default: trace("Error in SoundManager.comboSound"); }; gui.gameBackground.playChord(_local7); _local8 = new SoundTransform(VOLUME_COLOR); _local9 = _local6; chordChannel = _local9.play(0, 0, _local8); if (_arg3 > 0){ playSound(new BombSnd(), VOLUME_BOMB); }; if (_arg4 > 0){ playSound(new GoldSnd(), VOLUME_GOLD); }; if (_arg5 > 0){ playSound(new TimeSnd(), VOLUME_TIME); }; } else { playSound(new NoCatSnd(), VOLUME_NO_CAT); }; }; } public function notCombo():void{ if (soundOn){ playSound(new NotComboSnd(), VOLUME_NOT_COMBO); }; } protected function playSound(_arg1:Sound, _arg2:Number, _arg3:int=0):void{ var _local4:SoundTransform = new SoundTransform(_arg2); var _local5:Sound = _arg1; var _local6:SoundChannel = _local5.play(0, _arg3, _local4); } } }//package guipackage
Section 31
//BlockBackside (librarydisplayobjects.BlockBackside) package librarydisplayobjects { import flash.display.*; public dynamic class BlockBackside extends MovieClip { } }//package librarydisplayobjects
Section 32
//Background (librarynames.Background) package librarynames { import flash.display.*; import flash.text.*; public class Background extends Sprite { public var exitBtnTf:TextField; public var soundBtnTf:TextField; public var exitBtn:MovieClip; public var sndBtn:MovieClip; } }//package librarynames
Section 33
//ShortModeSign (librarynames.ShortModeSign) package librarynames { import flash.display.*; import flash.text.*; public class ShortModeSign extends Sprite { public var textField:TextField; } }//package librarynames
Section 34
//StartButton (librarynames.StartButton) package librarynames { import flash.display.*; import flash.text.*; public class StartButton extends Sprite { public var label:TextField; } }//package librarynames
Section 35
//BlockData (modelpackage.BlockData) package modelpackage { public class BlockData { public var status:int; public var col:int; public var row:int; public var color:int; public var type:int; public var isFront:Boolean; public static const COLORS:int = 5; public static const NO_COLOR:int = 100; public static const DIFFERENT_COLORS:int = -1; public static const NORMAL:int = 0; public static const RAINBOW:int = 1; public static const BOMB:int = 2; public static const GOLD:int = 3; public static const TIME:int = 4; public static const MARKED:int = 1; public static const ACTIVE:int = 2; public function BlockData(_arg1:int, _arg2:int, _arg3:int){ this.col = _arg1; this.row = _arg2; this.color = _arg3; this.type = BlockData.NORMAL; this.isFront = true; this.status = BlockData.NORMAL; } public function toString():String{ return (((((((((((("block: col " + col) + " row ") + row) + " color ") + color) + " type ") + type) + " isFront ") + isFront) + " status ") + status)); } public function clone():BlockData{ var _local1:BlockData = new BlockData(col, row, color); _local1.type = type; _local1.isFront = isFront; _local1.status = status; return (_local1); } } }//package modelpackage
Section 36
//BlockySquare (modelpackage.BlockySquare) package modelpackage { import util.*; public class BlockySquare { protected const SIZES:Array; protected const COLORS:Array; protected const RAINBOW_CHANCES:Array; protected const BOMB_CHANCES:Array; protected const GOLD_CHANCES:Array; protected const TIME_CHANCES:Array; protected var blocks:Array; var size:int; protected var colors:int; protected var rainbowLimit:Number; protected var bombLimit:Number; protected var goldLimit:Number; protected var timeLimit:Number; protected var model:Model; private var shuffles:int;// = 1 public function BlockySquare(_arg1:Model, _arg2:int){ var _local5:int; SIZES = [5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 10]; COLORS = [2, 2, 2, 3, 2, 3, 4, 3, 4, 5, 4, 5, 5, 5]; RAINBOW_CHANCES = [0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2]; BOMB_CHANCES = [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1]; GOLD_CHANCES = [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]; TIME_CHANCES = [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]; super(); this.model = _arg1; var _local3:int = _arg2; if (_local3 >= SIZES.length){ _local3 = (SIZES.length - 1); }; size = int(SIZES[_local3]); colors = int(COLORS[_local3]); rainbowLimit = (0.5 - (Number(RAINBOW_CHANCES[_local3]) / 100)); bombLimit = (rainbowLimit - (Number(BOMB_CHANCES[_local3]) / 100)); goldLimit = (bombLimit - (Number(GOLD_CHANCES[_local3]) / 100)); timeLimit = (goldLimit - (Number(TIME_CHANCES[_local3]) / 100)); if (_arg1.game.colorsPlayed < colors){ _arg1.game.colorsPlayed = colors; }; blocks = new Array(size); var _local4:int; while (_local4 < size) { blocks[_local4] = new Array(size); _local5 = 0; while (_local5 < size) { blocks[_local4][_local5] = makeRandomBlock(_local5, _local4); _local5++; }; _local4++; }; } protected function makeRandomBlock(_arg1:int, _arg2:int):BlockData{ var _local3:BlockData = new BlockData(_arg1, _arg2, 0); randomizeBlock(_local3); return (_local3); } protected function randomizeBlock(_arg1:BlockData):void{ var _local3:int; var _local4:int; var _local2:Number = model.rand.nextDouble(); if (_local2 > 0.5){ _local3 = BlockData.NORMAL; } else { if (_local2 > rainbowLimit){ _local3 = BlockData.RAINBOW; } else { if (_local2 > bombLimit){ _local3 = BlockData.BOMB; } else { if (_local2 > goldLimit){ _local3 = BlockData.GOLD; } else { if ((((_local2 > timeLimit)) && ((model.game.clockCounter-- > 0)))){ _local3 = BlockData.TIME; } else { _local3 = BlockData.NORMAL; }; }; }; }; }; if (_local3 != BlockData.RAINBOW){ _local4 = model.rand.nextInt(colors); } else { _local4 = BlockData.NO_COLOR; }; _arg1.type = _local3; _arg1.color = _local4; } function getBlocks():Array{ var _local3:int; var _local1:Array = new Array(size); var _local2:int; while (_local2 < size) { _local1[_local2] = new Array(size); _local3 = 0; while (_local3 < size) { _local1[_local2][_local3] = BlockData(blocks[_local2][_local3]).clone(); _local3++; }; _local2++; }; return (_local1); } function getColors():int{ return (colors); } function getBlock(_arg1:int, _arg2:int):BlockData{ return (BlockData(blocks[_arg2][_arg1])); } function flipBlock(_arg1:int, _arg2:int):void{ var _local3:BlockData = getBlock(_arg1, _arg2); randomizeBlock(_local3); _local3.isFront = false; _local3.status = BlockData.NORMAL; } function isFinished():Boolean{ var _local2:int; var _local3:BlockData; var _local1:int; while (_local1 < size) { _local2 = 0; while (_local2 < size) { _local3 = getBlock(_local2, _local1); if (_local3.isFront){ return (false); }; _local2++; }; _local1++; }; return (true); } public function shuffle():Stack{ var _local3:int; var _local4:BlockData; var _local1:Stack = new Stack(); var _local2:int; while (_local2 < size) { _local3 = 0; while (_local3 < size) { _local4 = getBlock(_local3, _local2); randomizeBlock(_local4); _local1.push(_local4); _local3++; }; _local2++; }; shuffles++; return (_local1); } public function percentage(_arg1:Number):Number{ return (((_arg1 * 100) / ((size * size) * shuffles))); } public function normalizeStatus():void{ var _local2:int; var _local1:int; while (_local1 < size) { _local2 = 0; while (_local2 < size) { BlockData(blocks[_local1][_local2]).status = BlockData.NORMAL; _local2++; }; _local1++; }; } } }//package modelpackage
Section 37
//Game (modelpackage.Game) package modelpackage { import util.*; public class Game { protected var shuffleCost:int;// = 600 protected var blockPoint:int;// = 5 protected var blockIncrement:int;// = 5 protected var comboPoint:int;// = 5 protected var comboIncrement:int;// = 1 protected var timeBonus:int;// = 600 public var level:int;// = -1 public var blockySquare:BlockySquare; public var totalScore:int;// = 0 protected var model:Model; public var colorsPlayed:int;// = 2 public var clockCounter:int;// = 8 public var relaxMoves:int;// = 20 public static var MAX_MOVES:int = 12; public static var LEVEL_MOVES:int = 4; public static var SHUFFLE_PENALTY:int = -2; public static var CLOCK_MOVES:int = 2; public function Game(_arg1:Model){ this.model = _arg1; } function nextLevel():Array{ if (model.document.relaxMode){ relaxMoves = (relaxMoves + Game.LEVEL_MOVES); if (relaxMoves > Game.MAX_MOVES){ relaxMoves = Game.MAX_MOVES; }; model.guiControl.updateMoves(relaxMoves); }; level++; blockySquare = new BlockySquare(model, level); return (blockySquare.getBlocks()); } function selectRect(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Stack{ var _local9:int; var _local10:int; var _local11:Array; var _local12:Array; var _local13:int; var _local14:int; var _local15:int; var _local16:int; var _local17:int; var _local18:int; var _local5:Boolean; var _local6:Selection = new Selection(blockySquare, _arg1, _arg2, _arg3, _arg4, _local5); var _local7:int; var _local8:int; while (_local8 < _local6.scoreBlocks) { _local7 = (_local7 + (blockPoint + (_local8 * blockIncrement))); _local8++; }; if (_local6.scoreBlocks > 0){ _local9 = (comboPoint + ((_local6.comboBlocks - 4) * comboIncrement)); _local10 = ((_local7 + _local9) * (_local6.goldBlocks + 1)); model.guiControl.scorePop(_local10, _local6.xCenter, _local6.yCenter); this.totalScore = (this.totalScore + _local10); if (_local6.timeBlocks > 0){ if (model.document.relaxMode){ relaxMoves = (relaxMoves + Game.CLOCK_MOVES); } else { model.addTime((timeBonus * _local6.timeBlocks)); }; }; }; if (_local6.validity == _local6.NOT_COMBO){ _local11 = blockySquare.getBlocks(); _local12 = new Array(); _local13 = _arg1; _local14 = _arg3; if (_local13 > _local14){ _local13 = _local14; _local14 = _arg1; }; _local15 = _arg2; _local16 = _arg4; if (_local15 > _local16){ _local15 = _local16; _local16 = _arg2; }; _local17 = _local15; while (_local17 <= _local16) { _local18 = _local13; while (_local18 <= _local14) { _local12.push(_local11[_local17][_local18]); _local18++; }; _local17++; }; model.guiControl.shakeBlocks(_local12); } else { if (_local6.validity == _local6.COMBO){ model.guiControl.comboSound(_local6.color, _local6.scoreBlocks, _local6.bombs, _local6.goldBlocks, _local6.timeBlocks); }; }; if (((model.document.relaxMode) && ((_local6.flippedBlocks.size() > 0)))){ relaxMoves--; if (relaxMoves > Game.MAX_MOVES){ relaxMoves = Game.MAX_MOVES; }; model.guiControl.updateMoves(relaxMoves); }; return (_local6.flippedBlocks); } function shuffle():Stack{ if (model.document.relaxMode){ relaxMoves = (relaxMoves + Game.SHUFFLE_PENALTY); model.guiControl.updateMoves(relaxMoves); } else { model.addTime(-(shuffleCost)); }; return (blockySquare.shuffle()); } } }//package modelpackage
Section 38
//Model (modelpackage.Model) package modelpackage { import guipackage.*; import util.*; public class Model { protected const SECONDS:int = 180; protected const SHORT_MODE_END_LEVEL:int = 4; protected const NOT_STARTED:int = -1; protected const PLAYING:int = 0; protected const LEVEL_ANIMATION_PART_1:int = 1; protected const LEVEL_ANIMATION_PART_2:int = 2; protected const LEVEL_ANIMATION_PART_3:int = 3; protected const GAME_OVER:int = 3; protected const FLIPPING:int = 4; protected const LEVEL_ANIMATION_PART_1_TICKS:int = 30; protected const LEVEL_ANIMATION_PART_2_TICKS:int = 40; protected const LEVEL_ANIMATION_PART_3_TICKS:int = 15; protected const FLIP_ANIMATION_TICKS:int = 20; protected const SHUFFLE_TICKS:int = 40; var rand:Random; protected var playData:Stack; protected var continueTick:int;// = 0 protected var timeWarningTick:int; protected var timeWarningInterval:int; protected var countDownTicks:int; protected var countDownSeconds:int; protected var countDownPaused:Boolean;// = true public var document:Document; public var guiControl:GuiControl; protected var shortMode:Boolean;// = false protected var mode:int;// = -1 public var game:Game; public var remainingMoves:int;// = 20 public function Model(_arg1:Document, _arg2:GuiControl, _arg3:XML){ timeWarningTick = (10 * App.TICKS_PER_SECOND); timeWarningInterval = App.TICKS_PER_SECOND; super(); this.document = _arg1; this.guiControl = _arg2; var _local4:int = _arg3.@seed; if (App.DEV_MODE){ _local4 = (Math.random() * 10000); }; rand = new Random(_local4); if (_arg3.@mode == "short"){ shortMode = true; }; if (!_arg1.relaxMode){ this.countDownTicks = (SECONDS * App.TICKS_PER_SECOND); }; _arg1.log((("[seed " + _arg3.@seed) + "]")); _arg1.log((("[countDownTicks " + countDownTicks) + "]")); playData = new Stack(); game = new Game(this); } public function tick(_arg1:int):void{ if (countDownPaused){ if (_arg1 == continueTick){ continueTick = -1; continueGame(_arg1); }; }; if (((!(countDownPaused)) && (!(document.relaxMode)))){ countDown(_arg1); }; executePlayData(_arg1); } public function addPlayData(_arg1:Array):void{ playData.push(_arg1); } public function getScore():int{ return (game.totalScore); } protected function inputSelectRect(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int):void{ var _local6:Stack; var _local7:int; var _local8:*; var _local9:int; if ((((mode == PLAYING)) && (!(countDownPaused)))){ document.log(((((((((("selectRect " + _arg1) + " ") + _arg2) + " ") + _arg3) + " ") + _arg4) + " ") + _arg5)); _local6 = game.selectRect(_arg2, _arg3, _arg4, _arg5); if (_local6.size() > 0){ pauseGame(_arg1); _local7 = _local6.size(); _local8 = new Array(_local7); _local9 = 0; while (_local9 < _local7) { _local8[_local9] = BlockData(_local6.g(_local9)).clone(); _local9++; }; guiControl.updateScore(game.totalScore); if (game.blockySquare.isFinished()){ mode = LEVEL_ANIMATION_PART_1; game.nextLevel(); continueTick = (_arg1 + LEVEL_ANIMATION_PART_1_TICKS); guiControl.levelAnimationPart1(_arg1, continueTick, _local8, LEVEL_ANIMATION_PART_1_TICKS, LEVEL_ANIMATION_PART_2_TICKS, LEVEL_ANIMATION_PART_3_TICKS); } else { mode = FLIPPING; continueTick = (_arg1 + FLIP_ANIMATION_TICKS); guiControl.flipBlocks(_arg1, continueTick, _local8); }; } else { game.blockySquare.normalizeStatus(); guiControl.showStatus(game.blockySquare.getBlocks()); }; }; } protected function inputShuffle(_arg1:int):void{ var _local2:Stack; var _local3:int; var _local4:*; var _local5:int; if (!countDownPaused){ mode = FLIPPING; pauseGame(_arg1); continueTick = (_arg1 + 40); document.log(("Shuffle " + _arg1)); _local2 = game.shuffle(); _local3 = _local2.size(); _local4 = new Array(_local3); _local5 = 0; while (_local5 < _local3) { _local4[_local5] = BlockData(_local2.g(_local5)).clone(); _local5++; }; guiControl.flipBlocks(_arg1, continueTick, _local4); guiControl.shuffle(); }; } protected function inputExit(_arg1:int):void{ document.log("user chose exit"); gameOver(_arg1, App.USER_CHOSE_EXIT); } protected function inputSelectChange(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int):void{ var _local6:Boolean; if ((((mode == PLAYING)) && (!(countDownPaused)))){ game.blockySquare.normalizeStatus(); _local6 = false; new Selection(game.blockySquare, _arg2, _arg3, _arg4, _arg5, _local6); }; guiControl.showStatus(game.blockySquare.getBlocks()); } protected function continueGame(_arg1:int):void{ var _local2:Array; var _local3:int; document.log(("continueGame " + _arg1)); if (mode == NOT_STARTED){ countDownPaused = false; _local2 = game.nextLevel(); _local3 = game.blockySquare.getColors(); guiControl.updateLevel(game.level); guiControl.initGame(_local2, _local3); guiControl.setGameRunning(true); mode = PLAYING; } else { if (mode == LEVEL_ANIMATION_PART_1){ continueTick = (_arg1 + LEVEL_ANIMATION_PART_2_TICKS); guiControl.levelAnimationPart2(_arg1, continueTick); mode = LEVEL_ANIMATION_PART_2; } else { if (mode == LEVEL_ANIMATION_PART_2){ continueTick = (_arg1 + LEVEL_ANIMATION_PART_3_TICKS); guiControl.levelAnimationPart3(_arg1, continueTick, game.blockySquare.getBlocks(), game.blockySquare.getColors()); mode = LEVEL_ANIMATION_PART_3; } else { if (mode == LEVEL_ANIMATION_PART_3){ guiControl.updateLevel(game.level); if (((shortMode) && ((game.level == SHORT_MODE_END_LEVEL)))){ document.log("model short game end "); gameOver(_arg1, App.SHORT_GAME_END); } else { guiControl.setGameRunning(true); countDownPaused = false; mode = PLAYING; }; } else { if (mode == FLIPPING){ if (((document.relaxMode) && ((game.relaxMoves <= 0)))){ gameOver(_arg1, App.RELAX_MOVES_FINISHED); } else { countDownPaused = false; guiControl.setGameRunning(true); mode = PLAYING; }; }; }; }; }; }; } protected function pauseGame(_arg1:int):void{ document.log(("pauseGame " + _arg1)); guiControl.setGameRunning(false); countDownPaused = true; } protected function countDown(_arg1:int):void{ var _local3:int; countDownTicks--; var _local2:int = ((countDownTicks / App.TICKS_PER_SECOND) + 1); if (_local2 != countDownSeconds){ countDownSeconds = _local2; _local3 = (_local2 / 60); _local2 = (_local2 % 60); guiControl.updateTimeDisplay(_local3, _local2); }; if ((((countDownTicks <= timeWarningTick)) && ((countDownTicks > 0)))){ if ((countDownTicks % timeWarningInterval) == 0){ guiControl.showTimeWarning(); }; }; if (countDownTicks <= 0){ document.log(("TimeIsUp " + _arg1)); gameOver(_arg1, App.TIME_RAN_OUT); }; } protected function executePlayData(_arg1:int):void{ var _local2:Array; var _local3:int; var _local4:int; var _local5:String; var _local6:String; var _local7:int; var _local8:int; while (playData.size() > 0) { _local2 = playData.remove(0); _local3 = int(_local2[0]); _local4 = int(_local2[1]); _local5 = String(App.INPUT_STRINGS[_local3]); if (App.isLogicPlayData(_local3)){ _local6 = ((_local5 + " ") + _local4); _local7 = 2; while (_local7 < _local2.length) { var _temp1 = _local7; _local7 = (_local7 + 1); _local8 = int(_local2[_temp1]); _local6 = (_local6 + (" " + _local8)); }; document.log((("[" + _local6) + "]")); }; switch (_local3){ case App.INPUT_SELECT_RECT: inputSelectRect(_arg1, int(_local2[2]), int(_local2[3]), int(_local2[4]), int(_local2[5])); break; case App.INPUT_SHUFFLE: inputShuffle(_arg1); break; case App.INPUT_EXIT: inputExit(_arg1); break; case App.LAST_TICK: break; case App.INPUT_SELECT_CHANGE: inputSelectChange(_arg1, int(_local2[2]), int(_local2[3]), int(_local2[4]), int(_local2[5])); break; default: document.log(("**** Error in Model.tick(). Invalid inputType: " + _local3)); }; if (((!((_local4 == _arg1))) && (!((_local3 == App.LAST_TICK))))){ document.log(((("**** Warning, bad sync! tickToExecute " + _local4) + " currentTick ") + _arg1)); }; }; } protected function gameOver(_arg1:int, _arg2:int):void{ document.log(("gameover score " + game.totalScore)); if (!countDownPaused){ pauseGame(_arg1); }; mode = GAME_OVER; continueTick = -1; guiControl.gameOver(game.totalScore, shortMode, game.level, game.colorsPlayed); document.addPlayData([App.LAST_TICK]); document.gameOver(game.totalScore, _arg2); } public function addTime(_arg1:int):void{ countDownTicks = (countDownTicks + _arg1); } } }//package modelpackage
Section 39
//Selection (modelpackage.Selection) package modelpackage { import util.*; public class Selection { public const NOT_SET:int = -100; public const SINGLE_BLOCK:int = 0; public const NOT_COMBO:int = 1; public const COMBO:int = 2; public var validity:int;// = -1 public var firstColor:int;// = -100 public var color:int;// = 100 public var rainbows:int;// = 0 public var bombs:int;// = 0 public var goldBlocks:int;// = 0 public var timeBlocks:int;// = 0 public var comboBlocks:int;// = 0 public var scoreBlocks:int;// = 0 public var flippedBlocks:Stack; public var xCenter:Number; public var yCenter:Number; public var makeChange:Boolean; protected var blockySquare:BlockySquare; public function Selection(_arg1:BlockySquare, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:Boolean){ var _local12:int; var _local13:int; var _local14:Boolean; var _local15:int; var _local16:int; super(); this.blockySquare = _arg1; this.makeChange = _arg6; flippedBlocks = new Stack(); checkCorner(_arg2, _arg3); checkCorner(_arg2, _arg5); checkCorner(_arg4, _arg3); checkCorner(_arg4, _arg5); var _local7:int = _arg2; var _local8:int = _arg4; if (_local8 < _local7){ _local7 = _arg4; _local8 = _arg2; }; var _local9:int = _arg3; var _local10:int = _arg5; if (_local10 < _local9){ _local9 = _arg5; _local10 = _arg3; }; var _local11:int = _arg1.size; if ((((((((((((_local7 >= 0)) && ((_local7 < _local11)))) && ((_local7 < _local8)))) && ((((((_local9 >= 0)) && ((_local9 < _local11)))) && ((_local9 < _local10)))))) && ((((_local8 > 0)) && ((_local8 <= _local11)))))) && ((((_local10 > 0)) && ((_local10 <= _local11)))))){ if (color != BlockData.DIFFERENT_COLORS){ _local12 = ((_local8 - _local7) + 1); _local13 = ((_local10 - _local9) + 1); comboBlocks = (_local12 * _local13); xCenter = (_local7 + ((_local12 - 1) / 2)); yCenter = (_local9 + ((_local13 - 1) / 2)); _local14 = false; maybeFlipBlock(_local7, _local9, _local14); maybeFlipBlock(_local7, _local10, _local14); maybeFlipBlock(_local8, _local9, _local14); maybeFlipBlock(_local8, _local10, _local14); _local14 = false; _local15 = _local9; while (_local15 < (_local10 + 1)) { _local16 = _local7; while (_local16 < (_local8 + 1)) { maybeFlipBlock(_local16, _local15, _local14); _local16++; }; _local15++; }; if ((((bombs > 0)) && ((scoreBlocks > 0)))){ _local14 = true; _local15 = 0; while (_local15 < _local11) { _local16 = 0; while (_local16 < _local11) { maybeFlipBlock(_local16, _local15, _local14); _local16++; }; _local15++; }; }; validity = COMBO; } else { validity = NOT_COMBO; }; } else { validity = NOT_COMBO; if ((((_local7 == _local8)) && ((_local9 == _local10)))){ validity = SINGLE_BLOCK; }; }; maybeActivateBlock(_arg2, _arg3); maybeActivateBlock(_arg2, _arg5); maybeActivateBlock(_arg4, _arg3); maybeActivateBlock(_arg4, _arg5); } public function toString():String{ return (((((((((((((((("flipped " + flippedBlocks.size()) + " color ") + color) + " rainbows ") + rainbows) + " bombs ") + bombs) + " gold ") + goldBlocks) + " timeBlocks ") + timeBlocks) + " comboBlocks ") + comboBlocks) + " scoreBlocks ") + scoreBlocks)); } protected function checkCorner(_arg1:int, _arg2:int):void{ var _local3:BlockData = blockySquare.getBlock(_arg1, _arg2); if (((!((_local3.color == BlockData.NO_COLOR))) && (!((color == BlockData.DIFFERENT_COLORS))))){ if (color == BlockData.NO_COLOR){ color = _local3.color; } else { if (_local3.color != color){ color = BlockData.DIFFERENT_COLORS; }; }; }; if (_local3.type == BlockData.RAINBOW){ rainbows++; } else { if (_local3.type == BlockData.BOMB){ bombs++; } else { if (_local3.type == BlockData.GOLD){ goldBlocks++; } else { if (_local3.type == BlockData.TIME){ timeBlocks++; }; }; }; }; } protected function maybeActivateBlock(_arg1:int, _arg2:int):void{ var _local3:BlockData = blockySquare.getBlock(_arg1, _arg2); if (firstColor == NOT_SET){ firstColor = _local3.color; }; if ((((_local3.type == BlockData.NORMAL)) && (_local3.isFront))){ if ((((firstColor == BlockData.NO_COLOR)) && (!((color == BlockData.DIFFERENT_COLORS))))){ _local3.status = BlockData.ACTIVE; } else { if ((((_local3.color == firstColor)) || ((_local3.color == BlockData.NO_COLOR)))){ _local3.status = BlockData.ACTIVE; }; }; }; if ((((((validity == COMBO)) && (!((_local3.type == BlockData.NORMAL))))) && ((scoreBlocks > 0)))){ _local3.status = BlockData.ACTIVE; }; if ((((_local3.type == BlockData.RAINBOW)) && (_local3.isFront))){ _local3.status = BlockData.ACTIVE; }; } public function mark(_arg1:BlockData):void{ if (_arg1.status != BlockData.ACTIVE){ _arg1.status = BlockData.MARKED; }; } protected function maybeFlipBlock(_arg1:int, _arg2:int, _arg3:Boolean):void{ var _local4:BlockData = blockySquare.getBlock(_arg1, _arg2); if (flippedBlocks.indexOf(_local4) == -1){ if (((!(_arg3)) || ((_local4.color == color)))){ if (_local4.isFront){ scoreBlocks++; }; _local4.status = BlockData.MARKED; if (makeChange){ blockySquare.flipBlock(_arg1, _arg2); }; flippedBlocks.push(_local4); }; }; } } }//package modelpackage
Section 40
//ReplayControl (replay.ReplayControl) package replay { import flash.display.*; import flash.text.*; public class ReplayControl extends Sprite { public var playBtn:MovieClip; public var stopTickTf:TextField; public var speedTf:TextField; public function ReplayControl(){ playBtn.stop(); } } }//package replay
Section 41
//Communicator (util.Communicator) package util { import flash.external.*; import flash.system.*; public class Communicator { public function sendPlayData(_arg1:Array):void{ var _local2:String = ((String(_arg1[0]) + ",") + String(_arg1[1])); var _local3:int = _arg1.length; var _local4 = 2; while (_local4 < _local3) { _local2 = (_local2 + (" " + String(_arg1[_local4]))); _local4++; }; _local2 = (_local2 + "=0"); ExternalInterface.call("playData", _local2); } public function sendFsCommand(_arg1:String, _arg2:String):void{ fscommand(_arg1, _arg2); } } }//package util
Section 42
//GameTimer (util.GameTimer) package util { import flash.utils.*; public class GameTimer { private var lastTime:Number;// = -1 private var msPerTick:Number; private var unprocessedTime:Number;// = 0 public var alpha:Number;// = 0 public var passedTime:Number;// = 0 public function GameTimer(_arg1:Number){ msPerTick = (1000 / _arg1); } public function advanceTime():int{ if (lastTime == -1){ lastTime = getTimer(); }; var _local1:int = getTimer(); passedTime = (_local1 - lastTime); lastTime = _local1; unprocessedTime = (unprocessedTime + passedTime); var _local2:int = int((unprocessedTime / msPerTick)); unprocessedTime = (unprocessedTime - (_local2 * msPerTick)); alpha = (unprocessedTime / msPerTick); return (_local2); } } }//package util
Section 43
//Integer64 (util.Integer64) package util { import util.*; class Integer64 { private var p:Array; private var r:Array; private var s:Array; function Integer64(_arg1){ r = [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]; p = [0, 0, 0, 0, 0]; s = [0, 0, 0]; if (_arg1){ merge(_arg1); }; } public function init(_arg1:Integer64):void{ var _local2:* = 0; while (_local2 < p.length) { p[_local2] = _arg1.p[_local2]; _local2++; }; } public function init32(_arg1:Number):void{ p[0] = (_arg1 & 32767); _arg1 = (_arg1 >>> 15); p[1] = (_arg1 & 32767); _arg1 = (_arg1 >>> 15); p[2] = (_arg1 & 3); p[3] = 0; p[4] = 0; } public function get lsb():Number{ return (((p[0] | (p[1] << 15)) | ((p[2] & 3) << 30))); } public function get msb():Number{ return (((((p[2] >> 2) | ((p[3] << 15) >> 2)) | ((p[4] << (15 * 2)) >> 2)) & 2147483647)); } public function binaryShiftLeft(_arg1:Number):void{ var _local2:* = 0; while (_local2 < _arg1) { shl(); _local2++; }; } public function binaryShiftRight(_arg1:Number):void{ var _local5:*; var _local6:*; var _local2:* = ((_arg1 / 15) >> 0); var _local3:* = (_arg1 - (_local2 * 15)); var _local4:* = (p.length - 1); while (_local4 > 0) { _local5 = 0; while (_local5 < _local2) { p[_local5] = p[(_local5 + 1)]; _local5++; }; var _temp1 = _local4; _local4 = (_local4 - 1); var _local7 = _temp1; p[_local7] = 0; }; if (_local3 > 0){ _local6 = 0; while (_local6 < _local3) { shr(); _local6++; }; }; } public function binaryNot(_arg1:Integer64):void{ p[0] = (p[0] ^ _arg1.p[0]); p[1] = (p[1] ^ _arg1.p[1]); p[2] = (p[2] ^ _arg1.p[2]); p[3] = (p[3] ^ _arg1.p[3]); p[4] = (p[4] ^ _arg1.p[4]); } public function add64(_arg1:Integer64):void{ var _local2:* = 0; var _local3:* = 1; var _local4:* = 0; while ((((_local3 < p.length)) && (!((_arg1.p[_local4] == 0))))) { _local3++; }; _local4 = 0; while (_local4 < _local3) { _local2 = (_local2 + (p[_local4] + _arg1.p[_local4])); p[_local4] = (_local2 & 32767); _local2 = (_local2 >> 15); _local4++; }; } public function add32(_arg1:Number):void{ var _local2:* = 0; var _local3:* = (_arg1 & 32767); _arg1 = (_arg1 >> 15); var _local4:* = (_arg1 & 32767); _arg1 = (_arg1 >> 15); var _local5:* = (_arg1 & 3); _local2 = (_local2 + (p[0] + _local3)); p[0] = (_local2 & 32767); _local2 = (_local2 >> 15); _local2 = (_local2 + (p[1] + _local4)); p[1] = (_local2 & 32767); _local2 = (_local2 >> 15); _local2 = (_local2 + (p[2] + _local5)); p[2] = (_local2 & 32767); } public function mulu32(_arg1:Number):void{ var _local4:*; var _local2:* = 0; s[0] = (_arg1 & 32767); _arg1 = (_arg1 >>> 15); s[1] = (_arg1 & 32767); _arg1 = (_arg1 >>> 15); s[2] = (_arg1 & 3); var _local3:* = 0; while (_local3 < 3) { _local4 = s[_local3]; _local2 = (_local4 * p[0]); r[_local3][0] = (_local2 & 32767); _local2 = (_local2 >> 15); _local2 = (_local2 + (_local4 * p[1])); r[_local3][1] = (_local2 & 32767); _local2 = (_local2 >> 15); _local2 = (_local2 + (_local4 * p[2])); r[_local3][2] = (_local2 & 3); _local3++; }; _local2 = r[0][0]; p[0] = (_local2 & 32767); _local2 = (_local2 >> 15); _local2 = (_local2 + (r[0][1] + r[1][0])); p[1] = (_local2 & 32767); _local2 = (_local2 >> 15); _local2 = (_local2 + ((r[0][2] + r[1][1]) + r[2][0])); p[2] = (_local2 & 3); p[3] = 0; p[4] = 0; } public function mul64(_arg1:Integer64):void{ var _local4:*; var _local2:* = 0; var _local3:* = 0; while (_local3 < 5) { _local4 = _arg1.p[_local3]; _local2 = (_local4 * p[0]); r[_local3][0] = (_local2 & 32767); _local2 = (_local2 >> 15); _local2 = (_local2 + (_local4 * p[1])); r[_local3][1] = (_local2 & 32767); _local2 = (_local2 >> 15); _local2 = (_local2 + (_local4 * p[2])); r[_local3][2] = (_local2 & 32767); _local2 = (_local2 >> 15); _local2 = (_local2 + (_local4 * p[3])); r[_local3][3] = (_local2 & 32767); _local2 = (_local2 >> 15); _local2 = (_local2 + (_local4 * p[4])); r[_local3][4] = (_local2 & 32767); _local3++; }; _local2 = r[0][0]; p[0] = (_local2 & 32767); _local2 = (_local2 >> 15); _local2 = (_local2 + (r[0][1] + r[1][0])); p[1] = (_local2 & 32767); _local2 = (_local2 >> 15); _local2 = (_local2 + ((r[0][2] + r[1][1]) + r[2][0])); p[2] = (_local2 & 32767); _local2 = (_local2 >> 15); _local2 = (_local2 + (((r[0][3] + r[1][2]) + r[2][1]) + r[3][0])); p[3] = (_local2 & 32767); _local2 = (_local2 >> 15); _local2 = (_local2 + ((((r[0][4] + r[1][3]) + r[2][2]) + r[3][1]) + r[4][0])); p[4] = (_local2 & 7); } public function mul32(_arg1:Number):void{ mul64(new Integer64(_arg1)); } private function merge(_arg1:Number):Number{ var _local2:* = 0; while (_local2 < 3) { p[_local2] = (p[_local2] + (_arg1 & 32767)); _arg1 = (_arg1 >>> 15); _local2++; }; return (_arg1); } private function shl():void{ var _local1:* = 0; var _local2:* = 0; var _local3:* = 0; var _local4:* = p.length; while (_local3 < _local4) { _local1 = ((p[_local3] & 0x4000) >> 14); p[_local3] = (p[_local3] << 1); p[_local3] = ((p[_local3] | _local2) & 32767); _local3++; _local2 = _local1; }; } private function shr():void{ var _local1:* = 0; var _local2:* = 0; var _local3:* = (p.length - 1); while (_local3 >= 0) { _local1 = ((p[_local3] & 1) << 14); p[_local3] = (p[_local3] >> 1); p[_local3] = ((p[_local3] | _local2) & 32767); _local3--; _local2 = _local1; }; } } }//package util
Section 44
//Random (util.Random) package util { import flash.utils.*; public class Random { private var mta:Array; private var lastSeed:Number; private var mti:Number; private static var N:Number = 624; private static var M:Number = 397; private static var MATRIX_A:Number = 2567483615; private static var UPPER_MASK:Number = 2147483648; private static var LOWER_MASK:Number = 2147483647; private static var mag01:Array = [0, 2567483615]; public function Random(_arg1:Number){ mta = new Array(N); mti = (N + 1); if (_arg1){ init_genrand(_arg1); }; } public function set seed(_arg1:Number){ init_genrand(_arg1); } public function get seed():Number{ return (lastSeed); } public function nextInt(_arg1:Number){ return (((genrand_int32() & 2147483647) % _arg1)); } public function nextFloat(){ return ((next(24) / (1 << 24))); } public function nextDouble(){ return ((next(24) / (1 << 24))); } public function next(_arg1:Number){ if (_arg1 < 32){ return ((genrand_int32() & ((1 << _arg1) - 1))); }; return (genrand_int32()); } private function init_genrand(_arg1:Number):void{ _arg1 = int(_arg1); var _local2:* = getTimer(); lastSeed = _arg1; mta[0] = _arg1; var _local3:* = _arg1; var _local4:* = new Integer64(null); var _local5:Number = N; mti = 1; while (mti < _local5) { _local4.init32(((_local3 >>> 30) ^ _local3)); _local4.mulu32(1812433253); _local3 = (mta[mti] = int((_local4.lsb + mti))); mti++; }; var _local6:* = getTimer(); } private function genrand_int32(){ var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:*; var _local10:*; var _local11:*; var _local1:Number = N; var _local2:Number = 0; if (mti >= _local1){ if (mti == (_local1 + 1)){ init_genrand(5489); }; _local3 = M; _local4 = UPPER_MASK; _local5 = LOWER_MASK; _local6 = mag01; _local7 = getTimer(); _local8 = 0; _local9 = (_local1 - _local3); _local10 = (_local3 - _local1); _local8 = 0; while (_local8 < _local9) { _local2 = ((mta[_local8] & _local4) | (mta[(_local8 + 1)] & _local5)); mta[_local8] = ((mta[(_local8 + _local3)] ^ (_local2 >>> 1)) ^ _local6[(_local2 & 1)]); _local8++; }; _local9 = (_local1 - 1); while (_local8 < _local9) { _local2 = ((mta[_local8] & _local4) | (mta[(_local8 + 1)] & _local5)); mta[_local8] = ((mta[(_local8 + _local10)] ^ (_local2 >>> 1)) ^ _local6[(_local2 & 1)]); _local8++; }; _local2 = ((mta[(_local1 - 1)] & _local4) | (mta[0] & _local5)); mta[(_local1 - 1)] = ((mta[(_local3 - 1)] ^ (_local2 >>> 1)) ^ _local6[(_local2 & 1)]); mti = 0; _local11 = getTimer(); }; _local2 = mta[mti++]; _local2 = (_local2 ^ (_local2 >>> 11)); _local2 = (_local2 ^ ((_local2 << 7) & 2636928640)); _local2 = (_local2 ^ ((_local2 << 15) & 4022730752)); _local2 = (_local2 ^ (_local2 >>> 18)); return (_local2); } } }//package util
Section 45
//SoundFader (util.SoundFader) package util { import flash.events.*; import flash.media.*; import flash.utils.*; public class SoundFader { public var soundChannel:SoundChannel; private var millisec:int; private var listener:Object; private var timer:Timer; private var fadeStep:Number;// = 0.03 private var miniStep:Number;// = 0.01 private var nrOfSteps:int; private var extraRepeats:int;// = 5 private var panning:Number; public function SoundFader(_arg1:SoundChannel, _arg2:int, _arg3:Object=null){ this.soundChannel = _arg1; this.millisec = _arg2; this.listener = _arg3; var _local4:Number = _arg1.soundTransform.volume; nrOfSteps = (_local4 / fadeStep); panning = _arg1.soundTransform.pan; var _local5:int = (_arg2 / nrOfSteps); timer = new Timer(_local5, (nrOfSteps + extraRepeats)); timer.addEventListener("timer", fade); timer.addEventListener("timerComplete", destroy); timer.start(); } public function fade(_arg1:TimerEvent):void{ var _local2:Number = soundChannel.soundTransform.volume; if (_local2 > fadeStep){ _local2 = (_local2 - fadeStep); } else { _local2 = (_local2 - miniStep); }; if (_local2 < 0){ _local2 = 0; }; soundChannel.soundTransform = new SoundTransform(_local2, panning); } public function destroy(_arg1:TimerEvent):void{ soundChannel.stop(); if (listener != null){ listener.soundFaderCompleted(this); }; } } }//package util
Section 46
//Stack (util.Stack) package util { public class Stack { protected var array:Array; public function Stack(){ array = new Array(); } public function g(_arg1:int){ if ((((_arg1 < 0)) || ((_arg1 >= array.length)))){ throw (new Error(((("index " + _arg1) + " out of range ") + array.length))); }; return (array[_arg1]); } public function s(_arg1:int, _arg2){ var _local3:*; if ((((_arg1 < 0)) || ((_arg1 >= array.length)))){ throw (new Error(((("index " + _arg1) + " out of range ") + array.length))); }; _local3 = array[_arg1]; array[_arg1] = _arg2; return (_local3); } public function push(_arg1){ array.push(_arg1); return (_arg1); } public function pop(){ return (array.pop()); } public function indexOf(_arg1, _arg2:int=0):int{ return (array.indexOf(_arg1, _arg2)); } public function lastIndexOf(_arg1, _arg2:int=2147483647):int{ return (array.lastIndexOf(_arg1, _arg2)); } public function add(_arg1:int, _arg2):void{ if ((((_arg1 < 0)) || ((_arg1 > array.length)))){ throw (new Error(((("index " + _arg1) + " out of range ") + array.length))); }; array.splice(_arg1, 0, _arg2); } public function remove(_arg1:int){ if ((((_arg1 < 0)) || ((_arg1 >= array.length)))){ throw (new Error(((("index " + _arg1) + " out of range ") + (array.length - 1)))); }; return (array.splice(_arg1, 1)[0]); } public function size():int{ return (array.length); } public function toString():String{ return (array.toString()); } public function toArray():Array{ return (array); } } }//package util
Section 47
//VolumeChanger (util.VolumeChanger) package util { import flash.events.*; import flash.media.*; import flash.utils.*; public class VolumeChanger { public var soundChannel:SoundChannel; protected var MIN_STEP:Number;// = 0.05 protected var MIN_DELAY:int;// = 10 protected var millisec:uint; protected var startVolume:Number; protected var endVolume:Number; protected var listener:Object; protected var timer:Timer; protected var volumeStep:Number; protected var panning:Number; public function VolumeChanger(_arg1:SoundChannel, _arg2:Number, _arg3:uint, _arg4:Object=null){ this.soundChannel = _arg1; this.endVolume = _arg2; this.millisec = _arg3; this.listener = _arg4; startVolume = _arg1.soundTransform.volume; panning = _arg1.soundTransform.pan; var _local5:Number = (_arg2 - startVolume); var _local6:int = Math.abs((_local5 / MIN_STEP)); if (_local6 == 0){ _local6 = 1; }; var _local7:int = (_arg3 / _local6); if (_local7 < MIN_DELAY){ _local7 = MIN_DELAY; _local6 = (_arg3 / _local7); }; volumeStep = (_local5 / _local6); timer = new Timer(_local7, _local6); timer.addEventListener("timer", changeVolume); timer.addEventListener("timerComplete", finish); timer.start(); } public function changeVolume(_arg1:TimerEvent):void{ var _local2:Number = soundChannel.soundTransform.volume; _local2 = (_local2 + volumeStep); soundChannel.soundTransform = new SoundTransform(_local2, panning); } public function finish(_arg1:TimerEvent):void{ soundChannel.soundTransform = new SoundTransform(endVolume, panning); if (listener != null){ listener.VolumeChangerCompleted(this); }; } } }//package util
Section 48
//App (App) package { public class App { public static const DEV_MODE:int = 0; public static const MONEY_GAME:int = 1; public static const PRACTICE_GAME:int = 2; public static const GAME_TYPE:int = 1; public static const TIME_RAN_OUT:int = 1; public static const SHORT_GAME_END:int = 2; public static const USER_CHOSE_EXIT:int = 3; public static const RELAX_MOVES_FINISHED:int = 4; public static const INPUT_SHUFFLE:int = 0; public static const INPUT_EXIT:int = 1; public static const INPUT_SELECT_RECT:int = 2; public static const INPUT_SELECT_CHANGE:int = 4; public static const LAST_TICK:int = 3; public static const INPUT_STRINGS:Array = ["shuffle", "exit", "selectRect", "lastTick"]; public static const TICKS_PER_SECOND:int = 60; public static const MOVIE_CLIP_FRAME_RATE:int = 120; public static const MOVIE_CLIP_FRAMES_PER_GAME_TICK:Number = 2; public static const TIME_WARNING_TICKS:int = 600; public static const INTRO_TICKS:int = 900; public static const END_REASON_TICKS:int = 180; public function App(){ trace("static class that should not be instanitated"); } public static function ticksToMillisec(_arg1:int):int{ return (Math.floor(((_arg1 / App.TICKS_PER_SECOND) * 1000))); } public static function isLogicPlayData(_arg1:int):Boolean{ if (_arg1 == INPUT_SELECT_CHANGE){ return (false); }; return (true); } } }//package
Section 49
//BassAnim (BassAnim) package { import guipackage.*; public dynamic class BassAnim extends InstrumentAnim { } }//package
Section 50
//Block1 (Block1) package { import flash.display.*; public dynamic class Block1 extends Sprite { } }//package
Section 51
//Block2 (Block2) package { import flash.display.*; public dynamic class Block2 extends Sprite { } }//package
Section 52
//Block3 (Block3) package { import flash.display.*; public dynamic class Block3 extends Sprite { } }//package
Section 53
//Block4 (Block4) package { import flash.display.*; public dynamic class Block4 extends Sprite { } }//package
Section 54
//BlockBackground (BlockBackground) package { import flash.display.*; public dynamic class BlockBackground extends MovieClip { public var taken:MovieClip; } }//package
Section 55
//BlockCat1 (BlockCat1) package { import flash.display.*; public dynamic class BlockCat1 extends MovieClip { public var hat:MovieClip; public var head:MovieClip; public var shadow:MovieClip; public var sunglasses:MovieClip; } }//package
Section 56
//BlockCat2 (BlockCat2) package { import flash.display.*; public dynamic class BlockCat2 extends MovieClip { public var hat:MovieClip; public var head:MovieClip; public var shadow:MovieClip; public var sunglasses:MovieClip; } }//package
Section 57
//BlockCat3 (BlockCat3) package { import flash.display.*; public dynamic class BlockCat3 extends MovieClip { public var hat:MovieClip; public var head:MovieClip; public var shadow:MovieClip; public var sunglasses:MovieClip; } }//package
Section 58
//BlockCat4 (BlockCat4) package { import flash.display.*; public dynamic class BlockCat4 extends MovieClip { public var hat:MovieClip; public var head:MovieClip; public var shadow:MovieClip; public var sunglasses:MovieClip; } }//package
Section 59
//BlockCat5 (BlockCat5) package { import flash.display.*; public dynamic class BlockCat5 extends MovieClip { public var hat:MovieClip; public var head:MovieClip; public var shadow:MovieClip; public var sunglasses:MovieClip; } }//package
Section 60
//BlockCat6 (BlockCat6) package { import flash.display.*; public dynamic class BlockCat6 extends MovieClip { public var hat:MovieClip; public var head:MovieClip; public var shadow:MovieClip; public var sunglasses:MovieClip; } }//package
Section 61
//BlockRainbow (BlockRainbow) package { import flash.display.*; public dynamic class BlockRainbow extends MovieClip { public var head:MovieClip; public var bg:RainbowBackground; public var shadow:MovieClip; public var taken:MovieClip; } }//package
Section 62
//BombBackside1 (BombBackside1) package { import flash.display.*; public dynamic class BombBackside1 extends MovieClip { public var head:MovieClip; } }//package
Section 63
//BombBackside2 (BombBackside2) package { import flash.display.*; public dynamic class BombBackside2 extends MovieClip { public var head:MovieClip; } }//package
Section 64
//BombBackside3 (BombBackside3) package { import flash.display.*; public dynamic class BombBackside3 extends MovieClip { public var head:MovieClip; } }//package
Section 65
//BombBackside4 (BombBackside4) package { import flash.display.*; public dynamic class BombBackside4 extends MovieClip { public var head:MovieClip; } }//package
Section 66
//BombBackside5 (BombBackside5) package { import flash.display.*; public dynamic class BombBackside5 extends MovieClip { public var head:MovieClip; } }//package
Section 67
//BombBackside6 (BombBackside6) package { import flash.display.*; public dynamic class BombBackside6 extends MovieClip { public var head:MovieClip; } }//package
Section 68
//BombSnd (BombSnd) package { import flash.media.*; public dynamic class BombSnd extends Sound { } }//package
Section 69
//Color0Snd (Color0Snd) package { import flash.media.*; public dynamic class Color0Snd extends Sound { } }//package
Section 70
//Color1Snd (Color1Snd) package { import flash.media.*; public dynamic class Color1Snd extends Sound { } }//package
Section 71
//Color2Snd (Color2Snd) package { import flash.media.*; public dynamic class Color2Snd extends Sound { } }//package
Section 72
//Color3Snd (Color3Snd) package { import flash.media.*; public dynamic class Color3Snd extends Sound { } }//package
Section 73
//Color4Snd (Color4Snd) package { import flash.media.*; public dynamic class Color4Snd extends Sound { } }//package
Section 74
//Color5Snd (Color5Snd) package { import flash.media.*; public dynamic class Color5Snd extends Sound { } }//package
Section 75
//Document (Document) package { import guipackage.*; import flash.display.*; import modelpackage.*; import util.*; import flash.events.*; import flash.text.*; import flash.external.*; import flash.net.*; public class Document extends Sprite { protected var model:Model; protected var gui:Gui; protected var guiControl:GuiControl; protected var gameTimer:GameTimer; protected var communicator:Communicator; protected var timer:GameTimer; protected var currentTick:int;// = -1 protected var gameLog:String;// = "" protected var gameDataXml:XML; protected var gameRunning:Boolean;// = false public var relaxMode:Boolean;// = false public static var debugTf:TextField; public function Document(){ stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; gui = new Gui(this); addChild(gui); guiControl = new GuiControl(gui); gui.guiControl = guiControl; gameTimer = new GameTimer(App.TICKS_PER_SECOND); if (App.GAME_TYPE == App.DEV_MODE){ fakeGameData(); } else { getGameData(); }; } public function gameDataLoaded():void{ if (gameDataXml.@relaxMode == "true"){ relaxMode = true; }; gui.setIntroTranslations(); model = new Model(this, guiControl, gameDataXml); communicator = new Communicator(); addEventListener("enterFrame", advanceTime); } public function startGame():void{ gameRunning = true; if (App.GAME_TYPE != App.DEV_MODE){ communicator.sendFsCommand("gameStart", ""); }; gameTimer = new GameTimer(App.TICKS_PER_SECOND); currentTick = -1; if (relaxMode){ model.guiControl.updateMoves(model.game.relaxMoves); }; } protected function getGameData():void{ var _local1:Object = ExternalInterface.call("getGameData"); if (((!((_local1 == null))) && (_local1.success))){ gameDataXml = new XML(_local1.message); gameDataLoaded(); } else { log("Error: Could not load game Data!"); }; } protected function fakeGameData():void{ var myLoader:URLLoader; var xmlLoaded:Function; var loadError:Function; xmlLoaded = function (_arg1:Event):void{ gameDataXml = new XML(myLoader.data); gameDataLoaded(); }; loadError = function (_arg1:Event):void{ trace("xml load error"); }; myLoader = new URLLoader(); myLoader.addEventListener(Event.COMPLETE, xmlLoaded); myLoader.addEventListener(IOErrorEvent.IO_ERROR, loadError); myLoader.load(new URLRequest("DevModeGameData.xml")); } protected function advanceTime(_arg1:Event):void{ var _local2:int = gameTimer.advanceTime(); var _local3:* = 0; while (_local3 < _local2) { currentTick++; if (gameRunning){ model.tick(currentTick); }; _local3++; }; gui.render(currentTick, gameTimer.alpha); } public function addPlayData(_arg1:Array):void{ var _local2:int = (currentTick + 1); _arg1.splice(1, 0, _local2); model.addPlayData(_arg1); var _local3:int = int(_arg1[0]); if (App.GAME_TYPE == App.MONEY_GAME){ if (App.isLogicPlayData(_local3)){ communicator.sendPlayData(_arg1); }; }; } public function gameOver(_arg1:int, _arg2:int):void{ gameRunning = false; if (App.GAME_TYPE != App.DEV_MODE){ communicator.sendFsCommand("gameEnd", ("" + _arg1)); }; } public function gameQuit(_arg1:Event=null):void{ if (App.GAME_TYPE != App.DEV_MODE){ communicator.sendFsCommand("gameQuit", ""); }; trace(gameLog); } public function log(_arg1:String):void{ gameLog = (gameLog + (_arg1 + "\n")); } public function getTranslation(_arg1:String):String{ var id = _arg1; return (String(gameDataXml.text.(@id == id))); } } }//package
Section 76
//DrumsAnim (DrumsAnim) package { import guipackage.*; public dynamic class DrumsAnim extends InstrumentAnim { } }//package
Section 77
//EyeAnimation1 (EyeAnimation1) package { import guipackage.*; public dynamic class EyeAnimation1 extends EyeAnimation { } }//package
Section 78
//EyeAnimation2 (EyeAnimation2) package { import guipackage.*; public dynamic class EyeAnimation2 extends EyeAnimation { } }//package
Section 79
//EyeAnimation3 (EyeAnimation3) package { import guipackage.*; public dynamic class EyeAnimation3 extends EyeAnimation { } }//package
Section 80
//EyeAnimation4 (EyeAnimation4) package { import guipackage.*; public dynamic class EyeAnimation4 extends EyeAnimation { } }//package
Section 81
//EyeAnimation5 (EyeAnimation5) package { import guipackage.*; public dynamic class EyeAnimation5 extends EyeAnimation { } }//package
Section 82
//EyeAnimation6 (EyeAnimation6) package { import guipackage.*; public dynamic class EyeAnimation6 extends EyeAnimation { } }//package
Section 83
//EyeAnimationRainbow (EyeAnimationRainbow) package { import guipackage.*; public dynamic class EyeAnimationRainbow extends EyeAnimation { } }//package
Section 84
//FrameCount (FrameCount) package { import flash.display.*; import flash.text.*; public dynamic class FrameCount extends Sprite { public var textField:TextField; } }//package
Section 85
//GoldBackside (GoldBackside) package { import flash.display.*; public dynamic class GoldBackside extends MovieClip { public var glimmRotate1:MovieClip; public var glimmRotate2:MovieClip; } }//package
Section 86
//GoldSnd (GoldSnd) package { import flash.media.*; public dynamic class GoldSnd extends Sound { } }//package
Section 87
//IntroSnd (IntroSnd) package { import flash.media.*; public dynamic class IntroSnd extends Sound { } }//package
Section 88
//InvisibleButton (InvisibleButton) package { import flash.display.*; public dynamic class InvisibleButton extends Sprite { } }//package
Section 89
//LoopSnd (LoopSnd) package { import flash.media.*; public dynamic class LoopSnd extends Sound { } }//package
Section 90
//LoopSnd2 (LoopSnd2) package { import flash.media.*; public dynamic class LoopSnd2 extends Sound { } }//package
Section 91
//MicrophoneAnim (MicrophoneAnim) package { import guipackage.*; public dynamic class MicrophoneAnim extends InstrumentAnim { } }//package
Section 92
//NewLevelSnd (NewLevelSnd) package { import flash.media.*; public dynamic class NewLevelSnd extends Sound { } }//package
Section 93
//NoCatSnd (NoCatSnd) package { import flash.media.*; public dynamic class NoCatSnd extends Sound { } }//package
Section 94
//NormalBackside (NormalBackside) package { import flash.display.*; public dynamic class NormalBackside extends MovieClip { } }//package
Section 95
//NotComboSnd (NotComboSnd) package { import flash.media.*; public dynamic class NotComboSnd extends Sound { } }//package
Section 96
//OutroSnd (OutroSnd) package { import flash.media.*; public dynamic class OutroSnd extends Sound { } }//package
Section 97
//PianoAnim (PianoAnim) package { import guipackage.*; public dynamic class PianoAnim extends InstrumentAnim { } }//package
Section 98
//PlayBtn (PlayBtn) package { import flash.display.*; public dynamic class PlayBtn extends MovieClip { } }//package
Section 99
//RainbowBackground (RainbowBackground) package { import flash.display.*; public dynamic class RainbowBackground extends MovieClip { } }//package
Section 100
//RainbowBackside (RainbowBackside) package { import flash.display.*; public dynamic class RainbowBackside extends MovieClip { } }//package
Section 101
//SaxAnim (SaxAnim) package { import guipackage.*; public dynamic class SaxAnim extends InstrumentAnim { } }//package
Section 102
//SelectionRect05 (SelectionRect05) package { import guipackage.*; public dynamic class SelectionRect05 extends SelectionRect { } }//package
Section 103
//SelectionRect06 (SelectionRect06) package { import guipackage.*; public dynamic class SelectionRect06 extends SelectionRect { } }//package
Section 104
//SelectionRect07 (SelectionRect07) package { import guipackage.*; public dynamic class SelectionRect07 extends SelectionRect { } }//package
Section 105
//SelectionRect08 (SelectionRect08) package { import guipackage.*; public dynamic class SelectionRect08 extends SelectionRect { } }//package
Section 106
//SelectionRect09 (SelectionRect09) package { import guipackage.*; public dynamic class SelectionRect09 extends SelectionRect { } }//package
Section 107
//SelectionRect10 (SelectionRect10) package { import guipackage.*; public dynamic class SelectionRect10 extends SelectionRect { } }//package
Section 108
//ShuffleSnd (ShuffleSnd) package { import flash.media.*; public dynamic class ShuffleSnd extends Sound { } }//package
Section 109
//TimeBackside (TimeBackside) package { import flash.display.*; public dynamic class TimeBackside extends MovieClip { } }//package
Section 110
//TimeSnd (TimeSnd) package { import flash.media.*; public dynamic class TimeSnd extends Sound { } }//package
Section 111
//TimeWarningSnd (TimeWarningSnd) package { import flash.media.*; public dynamic class TimeWarningSnd extends Sound { } }//package
Section 112
//TrumpetAnim (TrumpetAnim) package { import guipackage.*; public dynamic class TrumpetAnim extends InstrumentAnim { } }//package

Library Items

Symbol 1 Sound {TimeWarningSnd}
Symbol 2 Sound {GoldSnd}
Symbol 3 Sound {TimeSnd}
Symbol 4 Sound {NotComboSnd}
Symbol 5 Sound {NoCatSnd}
Symbol 6 Sound {ShuffleSnd}
Symbol 7 Sound {NewLevelSnd}
Symbol 8 Sound {Color5Snd}
Symbol 9 Sound {Color4Snd}
Symbol 10 Sound {Color3Snd}
Symbol 11 Sound {Color0Snd}
Symbol 12 Sound {Color1Snd}
Symbol 13 Sound {Color2Snd}
Symbol 14 Sound {BombSnd}
Symbol 15 Sound {LoopSnd2}
Symbol 16 Sound {LoopSnd}
Symbol 17 Sound {IntroSnd}
Symbol 18 Sound {OutroSnd}
Symbol 19 GraphicUsed by:20 275
Symbol 20 MovieClipUses:19Used by:24
Symbol 21 FontUsed by:22 201 272
Symbol 22 EditableTextUses:21Used by:23
Symbol 23 MovieClipUses:22Used by:24
Symbol 24 MovieClip {guipackage.Footsteps}Uses:20 23
Symbol 25 GraphicUsed by:26
Symbol 26 MovieClip {SelectionRect09}Uses:25
Symbol 27 GraphicUsed by:28
Symbol 28 MovieClip {SelectionRect08}Uses:27
Symbol 29 GraphicUsed by:30
Symbol 30 MovieClip {SelectionRect07}Uses:29
Symbol 31 GraphicUsed by:32
Symbol 32 MovieClip {SelectionRect06}Uses:31
Symbol 33 GraphicUsed by:34 225
Symbol 34 MovieClip {SelectionRect05}Uses:33
Symbol 35 FontUsed by:36 149 150
Symbol 36 EditableTextUses:35Used by:37
Symbol 37 MovieClip {FrameCount}Uses:36
Symbol 38 MovieClip {TimeBackside}
Symbol 39 GraphicUsed by:40
Symbol 40 MovieClipUses:39Used by:41 49 51 53 55 57 94 102 111 119 127 135 241 266
Symbol 41 MovieClipUses:40Used by:42 59
Symbol 42 MovieClip {Block1}Uses:41Used by:59 135 266
Symbol 43 GraphicUsed by:44
Symbol 44 MovieClipUses:43Used by:59
Symbol 45 GraphicUsed by:46 246
Symbol 46 MovieClipUses:45Used by:47
Symbol 47 MovieClipUses:46Used by:48
Symbol 48 MovieClipUses:47Used by:59
Symbol 49 MovieClipUses:40Used by:50
Symbol 50 MovieClip {Block2}Uses:49Used by:59 127 266
Symbol 51 MovieClipUses:40Used by:52
Symbol 52 MovieClip {Block3}Uses:51Used by:59 119 266
Symbol 53 MovieClipUses:40Used by:54
Symbol 54 MovieClip {Block4}Uses:53Used by:59 111 266
Symbol 55 MovieClipUses:40Used by:56
Symbol 56 MovieClipUses:55Used by:59 102 266
Symbol 57 MovieClipUses:40Used by:58
Symbol 58 MovieClipUses:57Used by:59 94 266
Symbol 59 MovieClip {GoldBackside}Uses:42 41 44 48 50 52 54 56 58
Symbol 60 BitmapUsed by:61
Symbol 61 GraphicUses:60Used by:62
Symbol 62 MovieClipUses:61Used by:63
Symbol 63 MovieClip {RainbowBackside}Uses:62
Symbol 64 BitmapUsed by:65
Symbol 65 GraphicUses:64Used by:76
Symbol 66 BitmapUsed by:67
Symbol 67 GraphicUses:66Used by:76
Symbol 68 BitmapUsed by:69
Symbol 69 GraphicUses:68Used by:76
Symbol 70 BitmapUsed by:71
Symbol 71 GraphicUses:70Used by:76
Symbol 72 BitmapUsed by:73
Symbol 73 GraphicUses:72Used by:76
Symbol 74 BitmapUsed by:75
Symbol 75 GraphicUses:74Used by:76
Symbol 76 MovieClip {NormalBackside}Uses:65 67 69 71 73 75
Symbol 77 GraphicUsed by:78
Symbol 78 MovieClipUses:77Used by:89
Symbol 79 GraphicUsed by:89 101 110 118 126 134
Symbol 80 GraphicUsed by:83
Symbol 81 GraphicUsed by:82
Symbol 82 MovieClipUses:81Used by:83 89 99 101 108 110 116 118 124 126 132 134 221 238 240 256 304
Symbol 83 MovieClipUses:80 82Used by:89
Symbol 84 GraphicUsed by:85
Symbol 85 MovieClipUses:84Used by:89 101 110 118 126 134 221 240 254 258 260 281 292 302
Symbol 86 GraphicUsed by:89
Symbol 87 GraphicUsed by:88
Symbol 88 MovieClipUses:87Used by:89 101 110 118 126 134 240
Symbol 89 MovieClip {CatCorner_fla.Cat6Song_101}Uses:78 79 83 85 86 82 88Used by:94 171 221
Symbol 90 GraphicUsed by:91 155
Symbol 91 MovieClipUses:90Used by:94 102 111 119 127 135
Symbol 92 GraphicUsed by:93 154
Symbol 93 MovieClipUses:92Used by:94 102 111 119 127 135
Symbol 94 MovieClip {BombBackside6}Uses:58 40 89 91 93
Symbol 95 GraphicUsed by:101
Symbol 96 GraphicUsed by:97
Symbol 97 MovieClipUses:96Used by:101
Symbol 98 GraphicUsed by:99
Symbol 99 MovieClipUses:98 82Used by:101
Symbol 100 GraphicUsed by:101
Symbol 101 MovieClip {CatCorner_fla.Cat5Trumpet_98}Uses:95 97 79 99 85 100 82 88Used by:102 168 221
Symbol 102 MovieClip {BombBackside5}Uses:56 40 101 91 93
Symbol 103 GraphicUsed by:110
Symbol 104 GraphicUsed by:105
Symbol 105 MovieClipUses:104Used by:110
Symbol 106 GraphicUsed by:108
Symbol 107 GraphicUsed by:108
Symbol 108 MovieClipUses:106 82 107Used by:110
Symbol 109 GraphicUsed by:110
Symbol 110 MovieClip {CatCorner_fla.Cat4Drums_95}Uses:103 105 79 108 85 109 82 88Used by:111 165 221
Symbol 111 MovieClip {BombBackside4}Uses:54 40 110 91 93
Symbol 112 GraphicUsed by:118
Symbol 113 GraphicUsed by:114
Symbol 114 MovieClipUses:113Used by:118
Symbol 115 GraphicUsed by:116
Symbol 116 MovieClipUses:115 82Used by:118
Symbol 117 GraphicUsed by:118
Symbol 118 MovieClip {CatCorner_fla.Cat3Bass_92}Uses:112 114 79 116 85 117 82 88Used by:119 156 221
Symbol 119 MovieClip {BombBackside3}Uses:52 40 118 93 91
Symbol 120 GraphicUsed by:126
Symbol 121 GraphicUsed by:122
Symbol 122 MovieClipUses:121Used by:126
Symbol 123 GraphicUsed by:124
Symbol 124 MovieClipUses:123 82Used by:126
Symbol 125 GraphicUsed by:126
Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88}Uses:120 122 79 124 85 125 82 88Used by:127 162 221
Symbol 127 MovieClip {BombBackside2}Uses:50 40 126 91 93
Symbol 128 GraphicUsed by:134
Symbol 129 GraphicUsed by:130
Symbol 130 MovieClipUses:129Used by:134
Symbol 131 GraphicUsed by:132
Symbol 132 MovieClipUses:131 82Used by:134
Symbol 133 GraphicUsed by:134
Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42}Uses:128 130 79 132 85 133 82 88Used by:135 221 265
Symbol 135 MovieClip {BombBackside1}Uses:42 40 134 91 93
Symbol 136 FontUsed by:137 203 204 208 215 276 277 288 289 294 296 298
Symbol 137 EditableTextUses:136Used by:138
Symbol 138 MovieClip {guipackage.ScorePop}Uses:137
Symbol 139 GraphicUsed by:140
Symbol 140 MovieClip {librarynames.StartButton}Uses:139
Symbol 141 MovieClip {guipackage.Outro}
Symbol 142 GraphicUsed by:145
Symbol 143 FontUsed by:144
Symbol 144 EditableTextUses:143Used by:145
Symbol 145 MovieClip {librarynames.ShortModeSign}Uses:142 144
Symbol 146 GraphicUsed by:148
Symbol 147 GraphicUsed by:148
Symbol 148 MovieClip {PlayBtn}Uses:146 147Used by:151
Symbol 149 EditableTextUses:35Used by:151
Symbol 150 EditableTextUses:35Used by:151
Symbol 151 MovieClip {replay.ReplayControl}Uses:148 149 150
Symbol 152 GraphicUsed by:153
Symbol 153 MovieClipUses:152Used by:156
Symbol 154 MovieClipUses:92Used by:156 162 165 168 171 265
Symbol 155 MovieClipUses:90Used by:156 162 165 168 171 265
Symbol 156 MovieClip {BlockCat3}Uses:153 118 154 155
Symbol 157 BitmapUsed by:158
Symbol 158 GraphicUses:157Used by:159
Symbol 159 MovieClip {librarydisplayobjects.BlockBackside}Uses:158
Symbol 160 GraphicUsed by:161
Symbol 161 MovieClipUses:160Used by:162
Symbol 162 MovieClip {BlockCat2}Uses:161 126 155 154
Symbol 163 GraphicUsed by:164
Symbol 164 MovieClipUses:163Used by:165
Symbol 165 MovieClip {BlockCat4}Uses:164 110 155 154
Symbol 166 GraphicUsed by:167
Symbol 167 MovieClipUses:166Used by:168
Symbol 168 MovieClip {BlockCat5}Uses:167 101 155 154
Symbol 169 GraphicUsed by:170
Symbol 170 MovieClipUses:169Used by:171
Symbol 171 MovieClip {BlockCat6}Uses:170 89 155 154
Symbol 172 GraphicUsed by:173
Symbol 173 MovieClipUses:172Used by:205 221
Symbol 174 GraphicUsed by:175
Symbol 175 MovieClipUses:174Used by:206 221
Symbol 176 GraphicUsed by:177
Symbol 177 MovieClipUses:176Used by:218 221
Symbol 178 GraphicUsed by:179
Symbol 179 MovieClipUses:178Used by:219 221
Symbol 180 GraphicUsed by:181
Symbol 181 MovieClipUses:180Used by:220 221
Symbol 182 GraphicUsed by:183
Symbol 183 MovieClipUses:182Used by:221
Symbol 184 GraphicUsed by:185
Symbol 185 MovieClipUses:184Used by:188 209
Symbol 186 FontUsed by:187 202 207 214 267 268 269 270 271 273 274 278 293 295 297 299
Symbol 187 EditableTextUses:186Used by:188
Symbol 188 MovieClipUses:185 187Used by:221
Symbol 189 GraphicUsed by:193
Symbol 190 GraphicUsed by:193
Symbol 191 GraphicUsed by:192
Symbol 192 MovieClipUses:191Used by:193 200
Symbol 193 MovieClip {CatCorner_fla.mc_PianoKeyWhite_15}Uses:189 190 192Used by:221 281 302
Symbol 194 GraphicUsed by:195
Symbol 195 MovieClipUses:194Used by:221 281 302
Symbol 196 GraphicUsed by:197
Symbol 197 MovieClipUses:196Used by:200
Symbol 198 GraphicUsed by:200
Symbol 199 GraphicUsed by:200
Symbol 200 MovieClip {CatCorner_fla.mc_PianoKeyBlack_18}Uses:197 198 199 192Used by:221 281 302
Symbol 201 TextUses:21Used by:221
Symbol 202 EditableTextUses:186Used by:221
Symbol 203 EditableTextUses:136Used by:221
Symbol 204 EditableTextUses:136Used by:221
Symbol 205 MovieClip {PianoAnim}Uses:173Used by:221
Symbol 206 MovieClip {SaxAnim}Uses:175Used by:221
Symbol 207 EditableTextUses:186Used by:209
Symbol 208 EditableTextUses:136Used by:209
Symbol 209 MovieClipUses:185 207 208Used by:221
Symbol 210 GraphicUsed by:211
Symbol 211 MovieClipUses:210Used by:216
Symbol 212 GraphicUsed by:213
Symbol 213 MovieClipUses:212Used by:216
Symbol 214 EditableTextUses:186Used by:216
Symbol 215 EditableTextUses:136Used by:216
Symbol 216 MovieClipUses:211 213 214 215Used by:217
Symbol 217 MovieClip {guipackage.GameEndScoreAnim}Uses:216Used by:221
Symbol 218 MovieClip {BassAnim}Uses:177Used by:221
Symbol 219 MovieClip {DrumsAnim}Uses:179Used by:221
Symbol 220 MovieClip {TrumpetAnim}Uses:181Used by:221
Symbol 221 MovieClip {guipackage.OutroAnimation}Uses:173 175 177 179 181 82 183 188 85 193 195 200 201 202 203 204 134 126 205 206 209 217 118 218 110 219 101 220 89
Symbol 222 GraphicUsed by:223
Symbol 223 MovieClipUses:222Used by:224
Symbol 224 MovieClip {MicrophoneAnim}Uses:223
Symbol 225 MovieClip {guipackage.SelectionRect}Uses:33
Symbol 226 GraphicUsed by:227
Symbol 227 MovieClip {SelectionRect10}Uses:226Used by:281
Symbol 228 GraphicUsed by:229
Symbol 229 MovieClipUses:228Used by:230
Symbol 230 MovieClip {RainbowBackground}Uses:229Used by:241
Symbol 231 GraphicUsed by:232
Symbol 232 MovieClipUses:231Used by:241
Symbol 233 BitmapUsed by:234
Symbol 234 GraphicUses:233Used by:235
Symbol 235 MovieClipUses:234Used by:240
Symbol 236 GraphicUsed by:240
Symbol 237 GraphicUsed by:238
Symbol 238 MovieClipUses:237 82Used by:240
Symbol 239 GraphicUsed by:240
Symbol 240 MovieClip {CatCorner_fla.CatRainbow_63}Uses:235 236 238 85 239 82 88Used by:241
Symbol 241 MovieClip {BlockRainbow}Uses:230 40 232 240Used by:281
Symbol 242 GraphicUsed by:243
Symbol 243 MovieClipUses:242Used by:249
Symbol 244 GraphicUsed by:245
Symbol 245 MovieClipUses:244Used by:249
Symbol 246 MovieClipUses:45Used by:247
Symbol 247 MovieClipUses:246Used by:248
Symbol 248 MovieClipUses:247Used by:249
Symbol 249 MovieClip {guipackage.BlockGold}Uses:243 245 248Used by:281
Symbol 250 GraphicUsed by:251
Symbol 251 MovieClipUses:250Used by:262
Symbol 252 GraphicUsed by:256
Symbol 253 GraphicUsed by:256
Symbol 254 MovieClipUses:85Used by:256
Symbol 255 GraphicUsed by:256
Symbol 256 MovieClipUses:252 82 253 254 255Used by:261
Symbol 257 GraphicUsed by:258
Symbol 258 MovieClipUses:85 257Used by:261
Symbol 259 GraphicUsed by:260
Symbol 260 MovieClipUses:85 259Used by:261
Symbol 261 MovieClipUses:256 258 260Used by:262
Symbol 262 MovieClip {guipackage.BlockTime}Uses:251 261Used by:281
Symbol 263 GraphicUsed by:264
Symbol 264 MovieClipUses:263Used by:265
Symbol 265 MovieClip {BlockCat1}Uses:264 134 155 154Used by:281
Symbol 266 MovieClip {BlockBackground}Uses:42 40 50 52 54 56 58Used by:281
Symbol 267 EditableTextUses:186Used by:281
Symbol 268 EditableTextUses:186Used by:281
Symbol 269 EditableTextUses:186Used by:281
Symbol 270 EditableTextUses:186Used by:281
Symbol 271 EditableTextUses:186Used by:281
Symbol 272 EditableTextUses:21Used by:281
Symbol 273 EditableTextUses:186Used by:281
Symbol 274 EditableTextUses:186Used by:281
Symbol 275 MovieClipUses:19Used by:281 302
Symbol 276 EditableTextUses:136Used by:281
Symbol 277 EditableTextUses:136Used by:281
Symbol 278 EditableTextUses:186Used by:281
Symbol 279 BitmapUsed by:280
Symbol 280 GraphicUses:279Used by:281
Symbol 281 MovieClip {guipackage.Intro}Uses:85 193 195 200 266 265 262 249 241 267 268 269 270 271 272 273 274 275 276 277 278 280 227
Symbol 282 BitmapUsed by:283
Symbol 283 GraphicUses:282Used by:292
Symbol 284 GraphicUsed by:285
Symbol 285 MovieClipUses:284Used by:292
Symbol 286 GraphicUsed by:287
Symbol 287 MovieClipUses:286Used by:292
Symbol 288 EditableTextUses:136Used by:292
Symbol 289 EditableTextUses:136Used by:292
Symbol 290 GraphicUsed by:291
Symbol 291 MovieClipUses:290Used by:292
Symbol 292 MovieClip {librarynames.Background}Uses:283 285 287 85 288 289 291
Symbol 293 EditableTextUses:186Used by:302
Symbol 294 EditableTextUses:136Used by:302
Symbol 295 EditableTextUses:186Used by:302
Symbol 296 EditableTextUses:136Used by:302
Symbol 297 EditableTextUses:186Used by:302
Symbol 298 EditableTextUses:136Used by:302
Symbol 299 EditableTextUses:186Used by:302
Symbol 300 GraphicUsed by:301
Symbol 301 MovieClip {InvisibleButton}Uses:300Used by:302
Symbol 302 MovieClip {guipackage.GameBackground}Uses:85 193 195 200 293 294 295 296 297 298 299 275 301
Symbol 303 GraphicUsed by:305 311
Symbol 304 MovieClipUses:82Used by:305 307 308 310 311 313 315
Symbol 305 MovieClip {EyeAnimation3}Uses:303 304
Symbol 306 GraphicUsed by:307 308
Symbol 307 MovieClip {EyeAnimation4}Uses:306 304
Symbol 308 MovieClip {EyeAnimation5}Uses:306 304
Symbol 309 GraphicUsed by:310
Symbol 310 MovieClip {EyeAnimation6}Uses:309 304
Symbol 311 MovieClip {EyeAnimationRainbow}Uses:303 304
Symbol 312 GraphicUsed by:313
Symbol 313 MovieClip {EyeAnimation2}Uses:312 304
Symbol 314 GraphicUsed by:315
Symbol 315 MovieClip {EyeAnimation1}Uses:314 304

Instance Names

"nextLevelTf"Symbol 23 MovieClip Frame 1Symbol 22 EditableText
"nextLevel"Symbol 24 MovieClip {guipackage.Footsteps} Frame 1Symbol 23 MovieClip
"textField"Symbol 37 MovieClip {FrameCount} Frame 1Symbol 36 EditableText
"glimmRotate2"Symbol 59 MovieClip {GoldBackside} Frame 1Symbol 48 MovieClip
"glimmRotate1"Symbol 59 MovieClip {GoldBackside} Frame 1Symbol 48 MovieClip
"face"Symbol 89 MovieClip {CatCorner_fla.Cat6Song_101} Frame 1Symbol 78 MovieClip
"blink"Symbol 89 MovieClip {CatCorner_fla.Cat6Song_101} Frame 10Symbol 83 MovieClip
"head"Symbol 94 MovieClip {BombBackside6} Frame 1Symbol 89 MovieClip {CatCorner_fla.Cat6Song_101}
"face"Symbol 101 MovieClip {CatCorner_fla.Cat5Trumpet_98} Frame 1Symbol 97 MovieClip
"blink"Symbol 101 MovieClip {CatCorner_fla.Cat5Trumpet_98} Frame 10Symbol 99 MovieClip
"blink"Symbol 101 MovieClip {CatCorner_fla.Cat5Trumpet_98} Frame 58Symbol 99 MovieClip
"head"Symbol 102 MovieClip {BombBackside5} Frame 1Symbol 101 MovieClip {CatCorner_fla.Cat5Trumpet_98}
"face"Symbol 110 MovieClip {CatCorner_fla.Cat4Drums_95} Frame 1Symbol 105 MovieClip
"blink"Symbol 110 MovieClip {CatCorner_fla.Cat4Drums_95} Frame 10Symbol 108 MovieClip
"blink"Symbol 110 MovieClip {CatCorner_fla.Cat4Drums_95} Frame 58Symbol 108 MovieClip
"head"Symbol 111 MovieClip {BombBackside4} Frame 1Symbol 110 MovieClip {CatCorner_fla.Cat4Drums_95}
"face"Symbol 118 MovieClip {CatCorner_fla.Cat3Bass_92} Frame 1Symbol 114 MovieClip
"blink"Symbol 118 MovieClip {CatCorner_fla.Cat3Bass_92} Frame 11Symbol 116 MovieClip
"blink"Symbol 118 MovieClip {CatCorner_fla.Cat3Bass_92} Frame 59Symbol 116 MovieClip
"head"Symbol 119 MovieClip {BombBackside3} Frame 1Symbol 118 MovieClip {CatCorner_fla.Cat3Bass_92}
"face"Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88} Frame 1Symbol 122 MovieClip
"blink"Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88} Frame 11Symbol 124 MovieClip
"blink"Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88} Frame 60Symbol 124 MovieClip
"head"Symbol 127 MovieClip {BombBackside2} Frame 1Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88}
"face"Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42} Frame 1Symbol 130 MovieClip
"blink"Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42} Frame 11Symbol 132 MovieClip
"blink"Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42} Frame 61Symbol 132 MovieClip
"head"Symbol 135 MovieClip {BombBackside1} Frame 1Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42}
"textField"Symbol 138 MovieClip {guipackage.ScorePop} Frame 1Symbol 137 EditableText
"textField"Symbol 145 MovieClip {librarynames.ShortModeSign} Frame 1Symbol 144 EditableText
"playBtn"Symbol 151 MovieClip {replay.ReplayControl} Frame 1Symbol 148 MovieClip {PlayBtn}
"stopTickTf"Symbol 151 MovieClip {replay.ReplayControl} Frame 1Symbol 149 EditableText
"speedTf"Symbol 151 MovieClip {replay.ReplayControl} Frame 1Symbol 150 EditableText
"shadow"Symbol 156 MovieClip {BlockCat3} Frame 1Symbol 153 MovieClip
"head"Symbol 156 MovieClip {BlockCat3} Frame 1Symbol 118 MovieClip {CatCorner_fla.Cat3Bass_92}
"sunglasses"Symbol 156 MovieClip {BlockCat3} Frame 1Symbol 154 MovieClip
"hat"Symbol 156 MovieClip {BlockCat3} Frame 1Symbol 155 MovieClip
"shadow"Symbol 162 MovieClip {BlockCat2} Frame 1Symbol 161 MovieClip
"head"Symbol 162 MovieClip {BlockCat2} Frame 1Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88}
"hat"Symbol 162 MovieClip {BlockCat2} Frame 1Symbol 155 MovieClip
"sunglasses"Symbol 162 MovieClip {BlockCat2} Frame 1Symbol 154 MovieClip
"shadow"Symbol 165 MovieClip {BlockCat4} Frame 1Symbol 164 MovieClip
"head"Symbol 165 MovieClip {BlockCat4} Frame 1Symbol 110 MovieClip {CatCorner_fla.Cat4Drums_95}
"hat"Symbol 165 MovieClip {BlockCat4} Frame 1Symbol 155 MovieClip
"sunglasses"Symbol 165 MovieClip {BlockCat4} Frame 1Symbol 154 MovieClip
"shadow"Symbol 168 MovieClip {BlockCat5} Frame 1Symbol 167 MovieClip
"head"Symbol 168 MovieClip {BlockCat5} Frame 1Symbol 101 MovieClip {CatCorner_fla.Cat5Trumpet_98}
"hat"Symbol 168 MovieClip {BlockCat5} Frame 1Symbol 155 MovieClip
"sunglasses"Symbol 168 MovieClip {BlockCat5} Frame 1Symbol 154 MovieClip
"shadow"Symbol 171 MovieClip {BlockCat6} Frame 1Symbol 170 MovieClip
"head"Symbol 171 MovieClip {BlockCat6} Frame 1Symbol 89 MovieClip {CatCorner_fla.Cat6Song_101}
"hat"Symbol 171 MovieClip {BlockCat6} Frame 1Symbol 155 MovieClip
"sunglasses"Symbol 171 MovieClip {BlockCat6} Frame 1Symbol 154 MovieClip
"textField"Symbol 188 MovieClip Frame 1Symbol 187 EditableText
"outroLevelLabel"Symbol 209 MovieClip Frame 1Symbol 207 EditableText
"textField"Symbol 209 MovieClip Frame 1Symbol 208 EditableText
"outroScoreLabel"Symbol 216 MovieClip Frame 1Symbol 214 EditableText
"textField"Symbol 216 MovieClip Frame 1Symbol 215 EditableText
"star"Symbol 217 MovieClip {guipackage.GameEndScoreAnim} Frame 1Symbol 216 MovieClip
"Drums"Symbol 219 MovieClip {DrumsAnim} Frame 1Symbol 179 MovieClip
"Drums"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 1Symbol 179 MovieClip
"practiceBubble"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 1Symbol 188 MovieClip
"countTf1"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 1Symbol 202 EditableText
"countDownDigitTf"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 1Symbol 203 EditableText
"countDownTf2"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 1Symbol 204 EditableText
"cat1"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 30Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42}
"cat2"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 37Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88}
"levelBubble"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 70Symbol 209 MovieClip
"score"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 90Symbol 217 MovieClip {guipackage.GameEndScoreAnim}
"Drums"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 147Symbol 179 MovieClip
"cat3"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 176Symbol 118 MovieClip {CatCorner_fla.Cat3Bass_92}
"cat1"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 181Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42}
"cat2"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 187Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88}
"levelBubble"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 215Symbol 209 MovieClip
"score"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 235Symbol 217 MovieClip {guipackage.GameEndScoreAnim}
"Drums"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 292Symbol 179 MovieClip
"cat4"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 321Symbol 110 MovieClip {CatCorner_fla.Cat4Drums_95}
"cat1"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 325Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42}
"cat3"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 331Symbol 118 MovieClip {CatCorner_fla.Cat3Bass_92}
"cat2"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 337Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88}
"levelBubble"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 370Symbol 209 MovieClip
"score"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 390Symbol 217 MovieClip {guipackage.GameEndScoreAnim}
"Drums"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 447Symbol 179 MovieClip
"cat3"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 476Symbol 118 MovieClip {CatCorner_fla.Cat3Bass_92}
"cat4"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 482Symbol 110 MovieClip {CatCorner_fla.Cat4Drums_95}
"cat1"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 485Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42}
"cat5"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 494Symbol 101 MovieClip {CatCorner_fla.Cat5Trumpet_98}
"cat2"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 499Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88}
"levelBubble"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 525Symbol 209 MovieClip
"score"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 545Symbol 217 MovieClip {guipackage.GameEndScoreAnim}
"Drums"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 547Symbol 179 MovieClip
"cat3"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 576Symbol 89 MovieClip {CatCorner_fla.Cat6Song_101}
"cat4"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 581Symbol 110 MovieClip {CatCorner_fla.Cat4Drums_95}
"cat1"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 584Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42}
"cat5"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 593Symbol 118 MovieClip {CatCorner_fla.Cat3Bass_92}
"cat6"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 598Symbol 101 MovieClip {CatCorner_fla.Cat5Trumpet_98}
"cat2"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 602Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88}
"levelBubble"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 624Symbol 209 MovieClip
"score"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 644Symbol 217 MovieClip {guipackage.GameEndScoreAnim}
"rainbow"Symbol 240 MovieClip {CatCorner_fla.CatRainbow_63} Frame 1Symbol 235 MovieClip
"blink"Symbol 240 MovieClip {CatCorner_fla.CatRainbow_63} Frame 11Symbol 238 MovieClip
"bg"Symbol 241 MovieClip {BlockRainbow} Frame 1Symbol 230 MovieClip {RainbowBackground}
"taken"Symbol 241 MovieClip {BlockRainbow} Frame 1Symbol 40 MovieClip
"shadow"Symbol 241 MovieClip {BlockRainbow} Frame 1Symbol 232 MovieClip
"head"Symbol 241 MovieClip {BlockRainbow} Frame 1Symbol 240 MovieClip {CatCorner_fla.CatRainbow_63}
"shadow"Symbol 249 MovieClip {guipackage.BlockGold} Frame 1Symbol 243 MovieClip
"herring1"Symbol 249 MovieClip {guipackage.BlockGold} Frame 1Symbol 245 MovieClip
"herring2"Symbol 249 MovieClip {guipackage.BlockGold} Frame 1Symbol 245 MovieClip
"glimmRotate2"Symbol 249 MovieClip {guipackage.BlockGold} Frame 1Symbol 248 MovieClip
"glimmRotate1"Symbol 249 MovieClip {guipackage.BlockGold} Frame 1Symbol 248 MovieClip
"body"Symbol 261 MovieClip Frame 1Symbol 256 MovieClip
"minute"Symbol 261 MovieClip Frame 1Symbol 258 MovieClip
"hour"Symbol 261 MovieClip Frame 1Symbol 260 MovieClip
"shadow"Symbol 262 MovieClip {guipackage.BlockTime} Frame 1Symbol 251 MovieClip
"clock"Symbol 262 MovieClip {guipackage.BlockTime} Frame 1Symbol 261 MovieClip
"shadow"Symbol 265 MovieClip {BlockCat1} Frame 1Symbol 264 MovieClip
"head"Symbol 265 MovieClip {BlockCat1} Frame 1Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42}
"hat"Symbol 265 MovieClip {BlockCat1} Frame 1Symbol 155 MovieClip
"sunglasses"Symbol 265 MovieClip {BlockCat1} Frame 1Symbol 154 MovieClip
"taken"Symbol 266 MovieClip {BlockBackground} Frame 1Symbol 40 MovieClip
"block3"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 266 MovieClip {BlockBackground}
"block2"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 266 MovieClip {BlockBackground}
"block1"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 266 MovieClip {BlockBackground}
"coolCat"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 265 MovieClip {BlockCat1}
"time"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 262 MovieClip {guipackage.BlockTime}
"herring"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 249 MovieClip {guipackage.BlockGold}
"rainbow"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 241 MovieClip {BlockRainbow}
"coolCatInstructionTf"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 267 EditableText
"herringInstructionTf"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 268 EditableText
"clockInstructionTf"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 269 EditableText
"rainbowCatInstructionTf"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 270 EditableText
"instructionTf"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 271 EditableText
"instructionsLabel"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 272 EditableText
"countDownTf1"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 273 EditableText
"shuffleInstructionTf"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 274 EditableText
"countDownDigitTf"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 276 EditableText
"countDownTf2"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 277 EditableText
"clickToStartTf"Symbol 281 MovieClip {guipackage.Intro} Frame 1Symbol 278 EditableText
"exitBtnTf"Symbol 292 MovieClip {librarynames.Background} Frame 1Symbol 288 EditableText
"soundBtnTf"Symbol 292 MovieClip {librarynames.Background} Frame 1Symbol 289 EditableText
"sndBtn"Symbol 292 MovieClip {librarynames.Background} Frame 1Symbol 291 MovieClip
"exitBtn"Symbol 292 MovieClip {librarynames.Background} Frame 1Symbol 291 MovieClip
"c"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 193 MovieClip {CatCorner_fla.mc_PianoKeyWhite_15}
"shuffleBtn2"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 193 MovieClip {CatCorner_fla.mc_PianoKeyWhite_15}
"e"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 193 MovieClip {CatCorner_fla.mc_PianoKeyWhite_15}
"f"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 193 MovieClip {CatCorner_fla.mc_PianoKeyWhite_15}
"g"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 193 MovieClip {CatCorner_fla.mc_PianoKeyWhite_15}
"a"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 193 MovieClip {CatCorner_fla.mc_PianoKeyWhite_15}
"b"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 193 MovieClip {CatCorner_fla.mc_PianoKeyWhite_15}
"d2"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 193 MovieClip {CatCorner_fla.mc_PianoKeyWhite_15}
"e2"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 193 MovieClip {CatCorner_fla.mc_PianoKeyWhite_15}
"c2"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 193 MovieClip {CatCorner_fla.mc_PianoKeyWhite_15}
"ciss"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 200 MovieClip {CatCorner_fla.mc_PianoKeyBlack_18}
"shuffleBtn1"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 200 MovieClip {CatCorner_fla.mc_PianoKeyBlack_18}
"fiss"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 200 MovieClip {CatCorner_fla.mc_PianoKeyBlack_18}
"aiss"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 200 MovieClip {CatCorner_fla.mc_PianoKeyBlack_18}
"ciss2"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 200 MovieClip {CatCorner_fla.mc_PianoKeyBlack_18}
"diss2"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 200 MovieClip {CatCorner_fla.mc_PianoKeyBlack_18}
"giss"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 200 MovieClip {CatCorner_fla.mc_PianoKeyBlack_18}
"levelLabel"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 293 EditableText
"level"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 294 EditableText
"timeLabel"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 295 EditableText
"time"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 296 EditableText
"scoreLabel"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 297 EditableText
"score"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 298 EditableText
"shuffleLabel"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 299 EditableText
"paw"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 275 MovieClip
"shuffleBtn"Symbol 302 MovieClip {guipackage.GameBackground} Frame 1Symbol 301 MovieClip {InvisibleButton}
"eye1"Symbol 305 MovieClip {EyeAnimation3} Frame 1Symbol 304 MovieClip
"eye2"Symbol 305 MovieClip {EyeAnimation3} Frame 1Symbol 304 MovieClip
"eye1"Symbol 307 MovieClip {EyeAnimation4} Frame 1Symbol 304 MovieClip
"eye2"Symbol 307 MovieClip {EyeAnimation4} Frame 1Symbol 304 MovieClip
"eye1"Symbol 308 MovieClip {EyeAnimation5} Frame 1Symbol 304 MovieClip
"eye2"Symbol 308 MovieClip {EyeAnimation5} Frame 1Symbol 304 MovieClip
"eye1"Symbol 310 MovieClip {EyeAnimation6} Frame 1Symbol 304 MovieClip
"eye2"Symbol 310 MovieClip {EyeAnimation6} Frame 1Symbol 304 MovieClip
"eye1"Symbol 311 MovieClip {EyeAnimationRainbow} Frame 1Symbol 304 MovieClip
"eye2"Symbol 311 MovieClip {EyeAnimationRainbow} Frame 1Symbol 304 MovieClip
"eye1"Symbol 313 MovieClip {EyeAnimation2} Frame 1Symbol 304 MovieClip
"eye2"Symbol 313 MovieClip {EyeAnimation2} Frame 1Symbol 304 MovieClip
"eye1"Symbol 315 MovieClip {EyeAnimation1} Frame 1Symbol 304 MovieClip
"eye2"Symbol 315 MovieClip {EyeAnimation1} Frame 1Symbol 304 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.

Labels

"blank"Symbol 89 MovieClip {CatCorner_fla.Cat6Song_101} Frame 1
"neutral"Symbol 89 MovieClip {CatCorner_fla.Cat6Song_101} Frame 10
"happy"Symbol 89 MovieClip {CatCorner_fla.Cat6Song_101} Frame 19
"sad"Symbol 89 MovieClip {CatCorner_fla.Cat6Song_101} Frame 29
"miao"Symbol 89 MovieClip {CatCorner_fla.Cat6Song_101} Frame 39
"cool"Symbol 89 MovieClip {CatCorner_fla.Cat6Song_101} Frame 49
"blank"Symbol 101 MovieClip {CatCorner_fla.Cat5Trumpet_98} Frame 1
"neutral"Symbol 101 MovieClip {CatCorner_fla.Cat5Trumpet_98} Frame 10
"happy"Symbol 101 MovieClip {CatCorner_fla.Cat5Trumpet_98} Frame 19
"sad"Symbol 101 MovieClip {CatCorner_fla.Cat5Trumpet_98} Frame 29
"miao"Symbol 101 MovieClip {CatCorner_fla.Cat5Trumpet_98} Frame 39
"cool"Symbol 101 MovieClip {CatCorner_fla.Cat5Trumpet_98} Frame 49
"blinking"Symbol 101 MovieClip {CatCorner_fla.Cat5Trumpet_98} Frame 58
"blank"Symbol 110 MovieClip {CatCorner_fla.Cat4Drums_95} Frame 1
"neutral"Symbol 110 MovieClip {CatCorner_fla.Cat4Drums_95} Frame 10
"happy"Symbol 110 MovieClip {CatCorner_fla.Cat4Drums_95} Frame 19
"sad"Symbol 110 MovieClip {CatCorner_fla.Cat4Drums_95} Frame 29
"miao"Symbol 110 MovieClip {CatCorner_fla.Cat4Drums_95} Frame 39
"cool"Symbol 110 MovieClip {CatCorner_fla.Cat4Drums_95} Frame 49
"blinking"Symbol 110 MovieClip {CatCorner_fla.Cat4Drums_95} Frame 58
"blank"Symbol 118 MovieClip {CatCorner_fla.Cat3Bass_92} Frame 1
"neutral"Symbol 118 MovieClip {CatCorner_fla.Cat3Bass_92} Frame 11
"happy"Symbol 118 MovieClip {CatCorner_fla.Cat3Bass_92} Frame 20
"sad"Symbol 118 MovieClip {CatCorner_fla.Cat3Bass_92} Frame 30
"miao"Symbol 118 MovieClip {CatCorner_fla.Cat3Bass_92} Frame 40
"cool"Symbol 118 MovieClip {CatCorner_fla.Cat3Bass_92} Frame 50
"blinking"Symbol 118 MovieClip {CatCorner_fla.Cat3Bass_92} Frame 59
"blank"Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88} Frame 1
"neutral"Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88} Frame 11
"happy"Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88} Frame 20
"sad"Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88} Frame 30
"miao"Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88} Frame 40
"cool"Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88} Frame 50
"blinking"Symbol 126 MovieClip {CatCorner_fla.Cat2Piano_88} Frame 60
"blank"Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42} Frame 1
"neutral"Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42} Frame 11
"happy"Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42} Frame 20
"sad"Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42} Frame 30
"miao"Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42} Frame 40
"cool"Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42} Frame 50
"blinking"Symbol 134 MovieClip {CatCorner_fla.Cat1Sax_42} Frame 61
"still"Symbol 148 MovieClip {PlayBtn} Frame 1
"running"Symbol 148 MovieClip {PlayBtn} Frame 2
"TwoCats"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 1
"LevelTwo"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 70
"PracticeTwo"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 125
"TwoCatsEnd"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 145
"ThreeCats"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 146
"LevelThree"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 215
"PracticeThree"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 269
"ThreeCatsEnd"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 290
"FourCats"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 291
"LevelFour"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 370
"PractiseFour"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 424
"FourCatsEnd"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 445
"FiveCats"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 446
"LevelFive"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 525
"FiveCatsEnd"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 545
"SixCats"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 546
"LevelSix"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 624
"SixCatsEnd"Symbol 221 MovieClip {guipackage.OutroAnimation} Frame 644
"blank"Symbol 240 MovieClip {CatCorner_fla.CatRainbow_63} Frame 1
"neutral"Symbol 240 MovieClip {CatCorner_fla.CatRainbow_63} Frame 11
"happy"Symbol 240 MovieClip {CatCorner_fla.CatRainbow_63} Frame 20
"sad"Symbol 240 MovieClip {CatCorner_fla.CatRainbow_63} Frame 30
"miao"Symbol 240 MovieClip {CatCorner_fla.CatRainbow_63} Frame 40
"cool"Symbol 240 MovieClip {CatCorner_fla.CatRainbow_63} Frame 50




http://swfchan.com/53/261590/info.shtml
Created: 17/8 -2025 20:25:15 Last modified: 17/8 -2025 20:25:15 Server time: 07/12 -2025 04:32:57