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

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/72292088?noj=FRM72292088-20DC" width="1" height="1"></div>

triple-rotate.swf

This is the info page for
Flash #125903

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


Text
Loading...

You passed all levels
available in this version!

Ok

Download

Do you wish more? Download
the advanced version please.

Congratulations!

Continue

Restart level

Help

Abort game

Rotate the group of three
figures by clicking at it with
the mouse. If the figures in
the group are identical they
will disappear and the
triangle where they are
situated will change into
gold. To pass to the next
level turn all triangles on the
playing field into gold. Do not
forget about the timer, it
shows how much time you
have.

Rules

(Click to continue)

Rotate the group of three
figures by clicking at it with
the mouse. If the figures in the
group are identical they will
disappear and the triangle
where they are situated will
change into gold. To pass to
the next level turn all triangles
on the playing field into gold.
Do not forget about the timer,
it shows how much time you
have.

1/3

Shuffle – use this bonus to shuffle the figures on
the playing field. It fills up in time.
Bomb – you can explode the figures in any triangle
using the bomb. Make combos to get this bonus.
Lightning – blasts three triangles on the playing
field. The more combos you collect the quicker you
get the bonus.

Bonuses

(the bonuses become available as you are passing)

2/3

Production, design, sounds
GameGlade Team
Programming:
Daniel Vibe
Music:
Artyom "Vuk" Ivanov

Credits

3/3

Time bonus score:

Level score:

Total score:

0

0

0

Level Complete!

* Autosave
* More levels

* Full-screen mode
* More bonuses

The advantages of the advanced
version:

v.1.0

New game

More Games

Your time is over.
Try the level again.

Main Menu

Play

Do not forget about the
timer, it shows how much
time you have

(click to continue)

Black figures do not
disappear even if they are
collected 3 or more
together.

Collect 3 figures of the same
color in this triangle to
destroy the lock

To destroy such lock make
two matches in this
triangle

To destroy such lock collect
three figures of the same
color in this triangle

The chain does not allow the
figure to move. To destroy it
make the match with the figure
under the chain

The double chain can be
destroyed only with the double
match with the figure under
the chain

Use this bonus to shuffle the
figures on the playing filed. It
fills up in time.

The bonus “Bomb” is available.
Use it to explode figures in any
triangle. To get this bonus
collect combos.

“Lightning” is available. It
blasts three triangles on the
playing field. The more click-
combos you collect the quicker
you get the bonus.

The bonus “Bomb” has
filled up! Use it to explode
figures in any triangle.

“Lightning” has filled up!
Use it to blasts figures in
three triangles on the
playing field.

Cancel

Level 100

50

ActionScript [AS3]

Section 1
//png (cursor.png) package cursor { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package cursor
Section 2
//png (cursor_bomb.png) package cursor_bomb { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package cursor_bomb
Section 3
//png (cursor_color_bomb.png) package cursor_color_bomb { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package cursor_color_bomb
Section 4
//AlphaObject (main.AlphaObject) package main { import flash.events.*; public class AlphaObject extends CustomAlphaObject { override protected function OnAlphaUpdate(_arg1:Event):void{ if (Game.gamePause){ return; }; super.OnAlphaUpdate(_arg1); } } }//package main
Section 5
//BasicObject (main.BasicObject) package main { import flash.geom.*; import flash.events.*; public class BasicObject extends AlphaObject { private var m_speed:Number; private var m_targetPoints:Array; protected var m_velocity:Vect; private var m_distance:Number;// = 0 private var m_startPoint:Point; private var m_moving:Boolean;// = false private var m_targetPoint:Point; public static const MOVE_FINISH = "moveFinish"; public static const MOVE_START = "moveStart"; public function BasicObject(){ m_distance = 0; m_moving = false; super(); m_velocity = new Vect(); } private function doOnMoveFinish(_arg1:Point, _arg2:Point, _arg3:int){ var _local4:int; if (((m_targetPoints) && (m_targetPoints.length))){ _local4 = 0; while (_local4 < m_targetPoints.length) { if (_arg2.equals(m_targetPoints[_local4])){ break; }; _local4++; }; if (_local4 == (m_targetPoints.length - 1)){ m_targetPoints.length = 0; m_targetPoints = null; dispatchEvent(new MoveEvent(BasicObject.MOVE_FINISH, _arg1, _arg2, _arg3)); } else { if (_local4 < (m_targetPoints.length - 1)){ moveToPoint(m_targetPoints[(_local4 + 1)], _arg3); } else { throw (new Error("Ошибка при движении по маршруту")); }; }; } else { dispatchEvent(new MoveEvent(BasicObject.MOVE_FINISH, _arg1, _arg2, _arg3)); }; } public function moveToPoints(_arg1:Array, _arg2:int){ var _local3:Point; if (!(_arg1.length)){ return; }; m_targetPoints = new Array(); m_targetPoints = _arg1.concat(); _local3 = m_targetPoints[0]; moveToPoint(_local3, _arg2); } public function get moving():Boolean{ return (m_moving); } private function doOnMoveStart(_arg1:Point, _arg2:Point, _arg3:int){ if (((m_targetPoints) && (m_targetPoints.length))){ if (_arg2.equals(m_targetPoints[0])){ dispatchEvent(new MoveEvent(BasicObject.MOVE_START, _arg1, _arg2, _arg3)); }; } else { dispatchEvent(new MoveEvent(BasicObject.MOVE_START, _arg1, _arg2, _arg3)); }; } protected function updateVelocity(){ m_velocity.setMembers((m_targetPoint.x - x), (m_targetPoint.y - y)); m_velocity.mulScalar((m_speed / m_velocity.magnitude())); } protected function move():void{ if (Game.gamePause){ return; }; x = (x + m_velocity.x); y = (y + m_velocity.y); } public function moveToPoint(_arg1:Point, _arg2:int, _arg3:Number=1){ m_startPoint = null; m_targetPoint = null; m_startPoint = new Point(x, y); m_targetPoint = new Point(_arg1.x, _arg1.y); m_speed = _arg2; m_startAlpha = alpha; m_finishAlpha = _arg3; updateVelocity(); m_distance = Point.distance(new Point(x, y), m_targetPoint); addEventListener(Event.ENTER_FRAME, Update); m_moving = true; doOnMoveStart(m_startPoint, m_targetPoint, m_speed); } private function Update(_arg1:Event):void{ var _local2:Number; var _local3:Number; var _local4:Number; move(); updateVelocity(); _local2 = Point.distance(new Point(x, y), m_targetPoint); if ((((_local2 > m_distance)) || ((_local2 == 0)))){ removeEventListener(Event.ENTER_FRAME, Update); x = m_targetPoint.x; y = m_targetPoint.y; alpha = m_finishAlpha; m_moving = false; doOnMoveFinish(m_startPoint, m_targetPoint, m_speed); } else { m_distance = _local2; if (((((!((m_startAlpha == m_finishAlpha))) && ((m_rest_alpha == 0)))) && (!((alpha == m_finishAlpha))))){ _local3 = Point.distance(m_startPoint, m_targetPoint); _local4 = (((m_finishAlpha - m_startAlpha) * _local2) / _local3); alpha = (m_finishAlpha - _local4); }; }; } } }//package main
Section 6
//BombaSound (main.BombaSound) package main { import flash.media.*; public dynamic class BombaSound extends Sound { } }//package main
Section 7
//BombButtonFilling (main.BombButtonFilling) package main { import flash.text.*; public class BombButtonFilling extends ButtonFilling { public var m_text:TextField; override protected function getText():TextField{ return (m_text); } } }//package main
Section 8
//BombMovie (main.BombMovie) package main { import flash.display.*; public class BombMovie extends MyButton { override protected function createAnimation(_arg1:int):MovieClip{ switch (_arg1){ case MyButton.MODE_NORMAL: return (new BombMovieNormal()); case MyButton.MODE_OVER: return (new BombMovieOver()); case MyButton.MODE_PRESSED: return (new BombMoviePressed()); case MyButton.MODE_DISABLED: return (new BombMovieDisabled()); }; return (null); } } }//package main
Section 9
//BombMovieDisabled (main.BombMovieDisabled) package main { import flash.display.*; public dynamic class BombMovieDisabled extends MovieClip { } }//package main
Section 10
//BombMovieNormal (main.BombMovieNormal) package main { import flash.display.*; public dynamic class BombMovieNormal extends MovieClip { } }//package main
Section 11
//BombMovieOver (main.BombMovieOver) package main { import flash.display.*; public dynamic class BombMovieOver extends MovieClip { } }//package main
Section 12
//BombMoviePressed (main.BombMoviePressed) package main { import flash.display.*; public dynamic class BombMoviePressed extends MovieClip { } }//package main
Section 13
//BonusFullSound (main.BonusFullSound) package main { import flash.media.*; public dynamic class BonusFullSound extends Sound { } }//package main
Section 14
//Boom1Sound (main.Boom1Sound) package main { import flash.media.*; public dynamic class Boom1Sound extends Sound { } }//package main
Section 15
//Burst1Sound (main.Burst1Sound) package main { import flash.media.*; public dynamic class Burst1Sound extends Sound { } }//package main
Section 16
//Burst2Sound (main.Burst2Sound) package main { import flash.media.*; public dynamic class Burst2Sound extends Sound { } }//package main
Section 17
//Burst3Sound (main.Burst3Sound) package main { import flash.media.*; public dynamic class Burst3Sound extends Sound { } }//package main
Section 18
//Burst4Sound (main.Burst4Sound) package main { import flash.media.*; public dynamic class Burst4Sound extends Sound { } }//package main
Section 19
//Burst5Sound (main.Burst5Sound) package main { import flash.media.*; public dynamic class Burst5Sound extends Sound { } }//package main
Section 20
//Button1Sound (main.Button1Sound) package main { import flash.media.*; public dynamic class Button1Sound extends Sound { } }//package main
Section 21
//ButtonFilling (main.ButtonFilling) package main { import flash.text.*; import flash.media.*; import flash.events.*; import flash.display.*; public class ButtonFilling extends MovieClip { private var m_savePercent:Number;// = 0 private var m_fillingNumber:TextField; protected var m_percent:Number;// = 0 public static const ON_PERCENT_CHANGE = "onPercentChange"; public static const ON_FULL = "onButtonFull"; public function ButtonFilling(){ m_percent = 0; m_savePercent = 0; super(); gotoAndStop(1); m_fillingNumber = getText(); } protected function internalSetPersent(_arg1:Number){ m_percent = _arg1; } public function get percent():Number{ return (m_percent); } public function save(){ m_savePercent = m_percent; } public function set percent(_arg1:Number){ var _local2:Number; var _local3:uint; var _local4:uint; var _local5:uint; var _local6:uint; var _local7:Sound; if (m_percent == _arg1){ return; }; _local2 = m_percent; internalSetPersent(_arg1); m_percent = Math.min(m_percent, GameSettings.MaxBonusFillPercent); if (_local2 == m_percent){ return; }; dispatchEvent(new Event(ON_PERCENT_CHANGE)); _local3 = (_local2 / 100); _local4 = (m_percent / 100); if (_local3 < _local4){ if (Game.soundOn){ _local7 = new BonusFullSound(); _local7.play(); }; dispatchEvent(new Event(ON_FULL)); }; _local5 = (((m_percent - 1) % 100) + 1); _local6 = ((totalFrames * _local5) / 100); gotoAndStop(_local6); m_fillingNumber = getText(); if (m_fillingNumber){ _local4 = (m_percent / 100); if (_local4 == 0){ m_fillingNumber.text = ""; } else { m_fillingNumber.text = String(_local4); }; }; } public function restore(){ m_percent = m_savePercent; } protected function getText():TextField{ return (null); } } }//package main
Section 22
//Chain1 (main.Chain1) package main { import flash.display.*; public dynamic class Chain1 extends MovieClip { } }//package main
Section 23
//Chain2 (main.Chain2) package main { import flash.display.*; public dynamic class Chain2 extends MovieClip { } }//package main
Section 24
//Chains (main.Chains) package main { import flash.display.*; public class Chains extends ObjectManager { public static const MODE_CHAIN = 1; public static const MODE_NO_CHAIN = 0; public static const MODE_DOUBLE_CHAIN = 2; override protected function createAnimation(_arg1:int):MovieClip{ switch (_arg1){ case MODE_CHAIN: return (new Chain1()); case MODE_DOUBLE_CHAIN: return (new Chain2()); }; return (null); } } }//package main
Section 25
//Cursor (main.Cursor) package main { import flash.display.*; public class Cursor extends MovieClip { private var m_mode:int; public static const MODE_NORMAL = 1; public static const MODE_COLOR_BOMB = 3; public static const MODE_BOMB = 2; public function Cursor(){ mode = MODE_NORMAL; } public function set mode(_arg1:int):void{ if (m_mode == _arg1){ return; }; m_mode = _arg1; switch (m_mode){ case MODE_NORMAL: gotoAndStop(1); break; case MODE_BOMB: gotoAndStop(2); break; case MODE_COLOR_BOMB: gotoAndStop(3); break; }; } public function get mode():int{ return (m_mode); } } }//package main
Section 26
//CustomAlphaObject (main.CustomAlphaObject) package main { import flash.events.*; import flash.display.*; public class CustomAlphaObject extends MovieClip { protected var m_startAlpha:Number; protected var m_rest_alpha:Number;// = 0 private var m_inc_alpha:Number; protected var m_finishAlpha:Number; public static const ON_FINISH_ALPHA_CHANGE = "OnFinishAlphaChange"; public function CustomAlphaObject(){ m_rest_alpha = 0; super(); } protected function OnAlphaUpdate(_arg1:Event):void{ alpha = (alpha + m_inc_alpha); if (Math.abs((alpha - m_finishAlpha)) > m_rest_alpha){ alpha = m_finishAlpha; m_rest_alpha = 0; removeEventListener(Event.ENTER_FRAME, OnAlphaUpdate); dispatchEvent(new Event(ON_FINISH_ALPHA_CHANGE)); } else { m_rest_alpha = Math.abs((alpha - m_finishAlpha)); }; } public function changeAlpha(_arg1:Number, _arg2:int){ var _local3:Number; var _local4:int; m_startAlpha = alpha; m_finishAlpha = _arg1; if (stage){ _local3 = stage.frameRate; } else { _local3 = GameSettings.FrameRate; }; _local4 = ((_local3 * _arg2) / 1000); m_inc_alpha = ((m_finishAlpha - alpha) / _local4); if (m_inc_alpha == 0){ m_inc_alpha = 1E-7; }; m_rest_alpha = Math.abs((alpha - m_finishAlpha)); addEventListener(Event.ENTER_FRAME, OnAlphaUpdate); } } }//package main
Section 27
//Figure (main.Figure) package main { import flash.geom.*; import flash.events.*; import flash.display.*; public class Figure extends BasicObject { private var m_maxFrame:int; private var m_tremble:Boolean; private var m_tremblePoint:Point; private var m_figureClip:MovieClip;// = null private var m_figureManager:FigureManager; public static const PULL_FINISH = "pullFinish"; public static const DESTROING_FINISH = "destroingFinish"; public function Figure(_arg1:Point, _arg2:uint, _arg3:Boolean){ var _local4:uint; var _local5:uint; m_figureClip = null; m_tremblePoint = new Point(); super(); x = _arg1.x; y = _arg1.y; m_maxFrame = Math.min(_arg2, 7); _local4 = (Math.floor((Math.random() * m_maxFrame)) + 1); _local5 = (_arg3) ? 8 : _local4; m_figureManager = new FigureManager(_local5); addChild(m_figureManager); } public function destroy():void{ m_figureManager.mode = FigureManager.MODE_DESTROY; m_figureManager.addEventListener(ObjectManager2.CHANGE_MODE_FINISH, onDestroingFinish); } public function get tremble():Boolean{ return (m_tremble); } public function get active():Boolean{ return ((m_figureManager.mode == 2)); } public function set active(_arg1:Boolean){ var _local2:int; _local2 = (_arg1) ? FigureManager.MODE_ACTIVE : FigureManager.MODE_NORMAL; if (m_figureManager.mode == _local2){ return; }; m_figureManager.mode = _local2; } private function onTremble(_arg1:Event){ if (x > m_tremblePoint.x){ x = (m_tremblePoint.x - 1); } else { x = (m_tremblePoint.x + 1); }; } public function pull(_arg1:Point, _arg2:int){ moveToPoint(_arg1, _arg2); addEventListener(BasicObject.MOVE_FINISH, OnPull); } private function OnPull(_arg1:MoveEvent){ removeEventListener(BasicObject.MOVE_FINISH, OnPull); moveToPoint(_arg1.startPoint, _arg1.speed); addEventListener(BasicObject.MOVE_FINISH, OnPullFinish); } public function randomFrame():void{ var _local1:int; do { _local1 = (Math.floor((Math.random() * m_maxFrame)) + 1); } while (_local1 == m_figureManager.figureIndex); m_figureManager.figureIndex = _local1; } public function get figureIndex():uint{ return (m_figureManager.figureIndex); } private function startTremble(){ m_tremblePoint.x = x; m_tremblePoint.y = y; x++; addEventListener(Event.ENTER_FRAME, onTremble); } private function OnPullFinish(_arg1:MoveEvent){ removeEventListener(BasicObject.MOVE_FINISH, OnPullFinish); dispatchEvent(new MoveEvent(Figure.PULL_FINISH, _arg1.startPoint, _arg1.stopPoint, _arg1.speed)); } private function stopTremble(){ removeEventListener(Event.ENTER_FRAME, onTremble); x = m_tremblePoint.x; y = m_tremblePoint.y; } private function onDestroingFinish(_arg1:Event):void{ m_figureManager.removeEventListener(ObjectManager2.CHANGE_MODE_FINISH, onDestroingFinish); dispatchEvent(new Event(DESTROING_FINISH)); } public function set tremble(_arg1):void{ if (m_tremble == _arg1){ return; }; m_tremble = _arg1; if (m_tremble){ startTremble(); } else { stopTremble(); }; } public function get black():Boolean{ return ((m_figureManager.figureIndex == 8)); } } }//package main
Section 28
//Figure1Active (main.Figure1Active) package main { import flash.display.*; public dynamic class Figure1Active extends MovieClip { public function Figure1Active(){ addFrameScript(19, frame20); } function frame20(){ this.gotoAndPlay(1); } } }//package main
Section 29
//Figure1Destroying (main.Figure1Destroying) package main { import flash.display.*; public dynamic class Figure1Destroying extends MovieClip { } }//package main
Section 30
//Figure1Normal (main.Figure1Normal) package main { import flash.display.*; public dynamic class Figure1Normal extends MovieClip { } }//package main
Section 31
//Figure2Active (main.Figure2Active) package main { import flash.display.*; public dynamic class Figure2Active extends MovieClip { public function Figure2Active(){ addFrameScript(19, frame20); } function frame20(){ this.gotoAndPlay(1); } } }//package main
Section 32
//Figure2Destroying (main.Figure2Destroying) package main { import flash.display.*; public dynamic class Figure2Destroying extends MovieClip { } }//package main
Section 33
//Figure2Normal (main.Figure2Normal) package main { import flash.display.*; public dynamic class Figure2Normal extends MovieClip { } }//package main
Section 34
//Figure3Active (main.Figure3Active) package main { import flash.display.*; public dynamic class Figure3Active extends MovieClip { public function Figure3Active(){ addFrameScript(19, frame20); } function frame20(){ this.gotoAndPlay(1); } } }//package main
Section 35
//Figure3Destroying (main.Figure3Destroying) package main { import flash.display.*; public dynamic class Figure3Destroying extends MovieClip { } }//package main
Section 36
//Figure3Normal (main.Figure3Normal) package main { import flash.display.*; public dynamic class Figure3Normal extends MovieClip { } }//package main
Section 37
//Figure4Active (main.Figure4Active) package main { import flash.display.*; public dynamic class Figure4Active extends MovieClip { public function Figure4Active(){ addFrameScript(19, frame20); } function frame20(){ this.gotoAndPlay(1); } } }//package main
Section 38
//Figure4Destroying (main.Figure4Destroying) package main { import flash.display.*; public dynamic class Figure4Destroying extends MovieClip { } }//package main
Section 39
//Figure4Normal (main.Figure4Normal) package main { import flash.display.*; public dynamic class Figure4Normal extends MovieClip { } }//package main
Section 40
//Figure5Active (main.Figure5Active) package main { import flash.display.*; public dynamic class Figure5Active extends MovieClip { public function Figure5Active(){ addFrameScript(19, frame20); } function frame20(){ this.gotoAndPlay(1); } } }//package main
Section 41
//Figure5Destroying (main.Figure5Destroying) package main { import flash.display.*; public dynamic class Figure5Destroying extends MovieClip { } }//package main
Section 42
//Figure5Normal (main.Figure5Normal) package main { import flash.display.*; public dynamic class Figure5Normal extends MovieClip { } }//package main
Section 43
//Figure6Active (main.Figure6Active) package main { import flash.display.*; public dynamic class Figure6Active extends MovieClip { public function Figure6Active(){ addFrameScript(19, frame20); } function frame20(){ this.gotoAndPlay(1); } } }//package main
Section 44
//Figure6Destroying (main.Figure6Destroying) package main { import flash.display.*; public dynamic class Figure6Destroying extends MovieClip { } }//package main
Section 45
//Figure6Normal (main.Figure6Normal) package main { import flash.display.*; public dynamic class Figure6Normal extends MovieClip { } }//package main
Section 46
//Figure7Active (main.Figure7Active) package main { import flash.display.*; public dynamic class Figure7Active extends MovieClip { public function Figure7Active(){ addFrameScript(19, frame20); } function frame20(){ this.gotoAndPlay(1); } } }//package main
Section 47
//Figure7Destroying (main.Figure7Destroying) package main { import flash.display.*; public dynamic class Figure7Destroying extends MovieClip { } }//package main
Section 48
//Figure7Normal (main.Figure7Normal) package main { import flash.display.*; public dynamic class Figure7Normal extends MovieClip { } }//package main
Section 49
//FigureBlackActive (main.FigureBlackActive) package main { import flash.display.*; public dynamic class FigureBlackActive extends MovieClip { public function FigureBlackActive(){ addFrameScript(19, frame20); } function frame20(){ this.gotoAndPlay(1); } } }//package main
Section 50
//FigureBlackDestroying (main.FigureBlackDestroying) package main { import flash.display.*; public dynamic class FigureBlackDestroying extends MovieClip { } }//package main
Section 51
//FigureBlackNormal (main.FigureBlackNormal) package main { import flash.display.*; public dynamic class FigureBlackNormal extends MovieClip { } }//package main
Section 52
//FigureInfo (main.FigureInfo) package main { public class FigureInfo { private var m_index:int; private var m_mode:int; public function FigureInfo(_arg1:int, _arg2:int){ m_index = _arg1; m_mode = _arg2; } public function get index():int{ return (m_index); } public function get mode():int{ return (m_mode); } } }//package main
Section 53
//FigureManager (main.FigureManager) package main { import flash.display.*; public class FigureManager extends ObjectManager2 { private var m_figureIndex:uint; public static const MODE_ACTIVE = 2; public static const MODE_NORMAL = 1; public static const MODE_DESTROY = 3; public function FigureManager(_arg1:uint){ m_figureIndex = _arg1; mode = MODE_NORMAL; } public function get figureIndex():uint{ return (m_figureIndex); } public function set figureIndex(_arg1:uint){ var _local2:int; if (m_figureIndex == _arg1){ return; }; m_figureIndex = _arg1; _local2 = mode; mode = -1; mode = _local2; } override protected function createAnimation(_arg1:int):MovieClip{ switch (_arg1){ case MODE_NORMAL: switch (m_figureIndex){ case 1: return (new Figure1Normal()); case 2: return (new Figure2Normal()); case 3: return (new Figure3Normal()); case 4: return (new Figure4Normal()); case 5: return (new Figure5Normal()); case 6: return (new Figure6Normal()); case 7: return (new Figure7Normal()); case 8: return (new FigureBlackNormal()); default: return (null); }; case MODE_ACTIVE: switch (m_figureIndex){ case 1: return (new Figure1Active()); case 2: return (new Figure2Active()); case 3: return (new Figure3Active()); case 4: return (new Figure4Active()); case 5: return (new Figure5Active()); case 6: return (new Figure6Active()); case 7: return (new Figure7Active()); case 8: return (new FigureBlackActive()); default: return (null); }; case MODE_DESTROY: switch (m_figureIndex){ case 1: return (new Figure1Destroying()); case 2: return (new Figure2Destroying()); case 3: return (new Figure3Destroying()); case 4: return (new Figure4Destroying()); case 5: return (new Figure5Destroying()); case 6: return (new Figure6Destroying()); case 7: return (new Figure7Destroying()); case 8: return (new FigureBlackDestroying()); default: return (null); }; }; return (null); } } }//package main
Section 54
//FigurePlace (main.FigurePlace) package main { import flash.events.*; import flash.geom.*; import flash.display.*; public class FigurePlace extends MovieClip { private var m_chains:Chains; private var m_row:int; private var m_index:int; private var m_col:int; private var m_figure:Figure; public function FigurePlace(_arg1:Array, _arg2:int, _arg3:int, _arg4:Point){ var _local5:int; super(); m_row = _arg2; m_col = _arg3; x = _arg4.x; y = _arg4.y; _arg1[m_row][m_col] = this; m_index = 0; _local5 = 0; while (_local5 < m_row) { m_index = (m_index + _arg1[_local5].length); _local5++; }; m_index = (m_index + _arg3); } public function get figure(){ return (m_figure); } public function set mode(_arg1:int):void{ if (mode == _arg1){ return; }; if (!(m_chains)){ m_chains = new Chains(); addChild(m_chains); }; m_chains.mode = _arg1; } public function get point():Point{ return (new Point(x, y)); } public function get col(){ return (m_col); } public function get mode():int{ if (m_chains){ return (m_chains.mode); }; return (Chains.MODE_NO_CHAIN); } public function get index(){ return (m_index); } public function set figure(_arg1){ m_figure = _arg1; } public function get row(){ return (m_row); } } }//package main
Section 55
//FlyingNumber (main.FlyingNumber) package main { import flash.utils.*; import flash.events.*; import flash.display.*; import flash.geom.*; import flash.text.*; public class FlyingNumber extends BasicObject { private var m_i:int;// = 0 public var m_text:TextField; public function FlyingNumber(_arg1:DisplayObjectContainer, _arg2:String, _arg3:Point, _arg4:Point, _arg5:Number){ var _local6:Timer; m_i = 0; super(); m_text.text = _arg2; m_text.selectable = false; m_text.embedFonts = true; x = _arg3.x; y = _arg3.y; if (_arg1){ _arg1.addChild(this); }; addEventListener(MouseEvent.CLICK, OnMouseClick); addEventListener(BasicObject.MOVE_FINISH, onMoveFinish); moveToPoint(_arg4, _arg5); _local6 = new Timer(GameSettings.FLYING_NUMBER_FLY, 1); _local6.addEventListener(TimerEvent.TIMER, onMoveTimer); _local6.start(); } private function onMoveFinish(_arg1:Event){ removeEventListener(BasicObject.MOVE_FINISH, onMoveFinish); if (parent){ parent.removeChild(this); }; } private function OnMouseClick(_arg1:Event){ trace(("click" + m_i++)); } override protected function move():void{ super.move(); } private function onMoveTimer(_arg1:Event){ changeAlpha(0, GameSettings.FLYING_NUMBER_ALPHA); } } }//package main
Section 56
//Game (main.Game) package main { import flash.geom.*; import flash.events.*; import flash.net.*; import flash.utils.*; import flash.media.*; import flash.display.*; import flash.text.*; public class Game extends MovieClip { public var m_shuffleButtonFilling:ShuffleButtonFilling; private var m_match4_tooltip_show:Boolean;// = false public var m_musicOffBtn:SimpleButton; private var m_onTriangleLockAppearShow:Boolean;// = false private var m_tooltipWindowTimer:Timer; public var bg:MovieClip; private var m_blinkTimer:Timer; private var m_gameScore:uint; private var m_lightningPoints:Array; public var m_menuButton:SimpleButton; private var m_timeScore:uint; private var m_musicPlayer:MusicPlayer; private var m_lightningTimer:Timer; private var m_level_info_array:Array; private var m_tooltipEvents:Array; public var m_gameScoreText:TextField; public var m_lightningButton:LightningButton; private var m_menuBackgroundWindow:MenuBackgroundWindow; private var m_bomb_tooltip_show:Boolean;// = false public var m_levelNumberText:TextField; public var m_moreGamesBtn:SimpleButton; private var m_timer:Timer; public var m_bombButtonFilling:BombButtonFilling; private var m_onTriangleColorLockAppearShow:Boolean;// = false private var m_level:PlayingField; public var m_levelTimer:MovieClip; private var m_lightning_tooltip_show:Boolean;// = false public var m_shuffleButton:ShuffleButton; public var m_soundOnBtn:SimpleButton; public var m_lightningButtonFilling:BombButtonFilling; private var m_cursor:Cursor; private var m_tooltipWindow:TooltipWindow; private var m_timer_tooltip_show:Boolean;// = false private var m_timerSoundChannel:SoundChannel; public var m_soundOffBtn:SimpleButton; public var m_bombButton:BombMovie; private var m_onFigureDoubleChainAppearShow:Boolean;// = false private var m_onTriangleDoubleLockAppearShow:Boolean;// = false private var m_match5_tooltip_show:Boolean;// = false private var m_timerSound:Sound; private var m_onFigureChainAppearShow:Boolean;// = false private var m_onBlackFigureAppearShow:Boolean;// = false public var m_musicOnBtn:SimpleButton; private static var m_musicOn:Boolean = true; public static var GAME_END = "gameEnd"; private static var m_gamePause:Boolean = false; private static var m_soundOn:Boolean = true; public function Game(_arg1:Cursor){ var _local2:HelpTooltipWindow; m_timer_tooltip_show = false; m_match4_tooltip_show = false; m_match5_tooltip_show = false; m_bomb_tooltip_show = false; m_onBlackFigureAppearShow = false; m_onTriangleLockAppearShow = false; m_onTriangleDoubleLockAppearShow = false; m_onTriangleColorLockAppearShow = false; m_onFigureChainAppearShow = false; m_onFigureDoubleChainAppearShow = false; m_lightning_tooltip_show = false; m_tooltipEvents = new Array(); super(); m_cursor = _arg1; m_levelTimer.gotoAndStop(1); m_level_info_array = new Array(new LevelInfo([[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 1, 0, 0, 0], [0, 0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 1, 1, 1, 1, 0], [0, 1, 1, 1, 1, 1, 1, 0], [0, 1, 1, 1, 1, 1, 1, 0], [0, 1, 1, 1, 1, 1, 1, 0], [0, 1, 1, 1, 1, 1, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]], [], 300, 0, 5, 1), new LevelInfo([[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 0, 0, 1, 1, 0], [0, 1, 1, 1, 1, 1, 1, 0], [0, 1, 1, 1, 1, 1, 1, 0], [1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 0], [0, 1, 1, 1, 1, 1, 1, 0], [0, 1, 1, 0, 0, 1, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]], [], 300, 0, 5, 2), new LevelInfo([[0, 0, 0, 1, 1, 0, 0, 0], [0, 0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 1, 1, 1, 1, 0], [1, 1, 1, 0, 0, 1, 1, 1], [1, 1, 1, 0, 0, 1, 1, 1], [1, 1, 1, 0, 0, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 0], [0, 0, 1, 1, 1, 1, 0, 0], [0, 0, 0, 1, 1, 0, 0, 0], [0, 0, 0, 1, 1, 0, 0, 0], [0, 0, 0, 1, 1, 0, 0, 0]], [], 300, 0, 5, 2), new LevelInfo([[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 1, 1, 1, 1, 0], [0, 1, 1, 1, 1, 1, 1, 0], [1, 1, 1, 2, 2, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 0, 0, 1, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]], [], 300, 0, 5, 2), new LevelInfo([[0, 0, 0, 1, 1, 0, 0, 0], [0, 0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 1, 1, 1, 1, 0], [1, 1, 1, 1, 1, 1, 1, 1], [1, 2, 1, 0, 0, 1, 2, 1], [1, 1, 0, 0, 0, 0, 1, 1], [1, 0, 0, 1, 1, 0, 0, 1], [0, 0, 1, 1, 1, 1, 0, 0], [0, 2, 1, 1, 1, 1, 2, 0], [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 0, 0, 1, 1, 1]], [], 360, 0, 5, 2), new LevelInfo([[0, 0, 0, 0, 0, 1, 1, 1], [0, 0, 0, 0, 1, 1, 1, 1], [0, 0, 0, 1, 1, 1, 1, 0], [0, 0, 1, 1, 1, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 0], [1, 1, 1, 1, 1, 1, 0, 0], [2, 1, 1, 1, 1, 0, 0, 0], [1, 1, 1, 1, 0, 0, 0, 0], [0, 1, 1, 1, 1, 0, 0, 0], [0, 0, 1, 1, 1, 1, 0, 0], [0, 0, 0, 1, 1, 1, 1, 0]], [new FigureInfo(32, Chains.MODE_CHAIN), new FigureInfo(33, Chains.MODE_CHAIN), new FigureInfo(34, Chains.MODE_CHAIN)], 360, 0, 5, 2), new LevelInfo([[0, 0, 0, 1, 1, 0, 0, 0], [0, 0, 1, 2, 2, 1, 0, 0], [0, 1, 1, 1, 1, 1, 1, 0], [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 0, 0, 1, 1, 1], [1, 1, 0, 0, 0, 0, 1, 1], [1, 1, 1, 0, 0, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 0], [0, 0, 1, 2, 2, 1, 0, 0], [0, 0, 0, 1, 1, 0, 0, 0]], [new FigureInfo(27, Chains.MODE_CHAIN), new FigureInfo(28, Chains.MODE_CHAIN), new FigureInfo(30, Chains.MODE_CHAIN), new FigureInfo(31, Chains.MODE_CHAIN)], 360, 0, 5, 2), new LevelInfo([[2, 0, 0, 0, 0, 0, 0, 2], [1, 1, 0, 0, 0, 0, 1, 1], [2, 1, 1, 0, 0, 1, 1, 2], [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [2, 1, 1, 0, 0, 1, 1, 2], [1, 1, 0, 0, 0, 0, 1, 1], [2, 0, 0, 0, 0, 0, 0, 2]], [new FigureInfo(29, Chains.MODE_CHAIN)], 360, 0, 5, 2), new LevelInfo([[0, 1, 1, 1, 1, 0, 0, 1], [1, 2, 1, 1, 0, 0, 1, 1], [1, 1, 1, 0, 0, 1, 1, 1], [1, 1, 0, 0, 1, 1, 1, 1], [1, 0, 0, 2, 1, 1, 1, 0], [0, 0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 1, 2, 0, 0, 1], [1, 1, 1, 1, 0, 0, 1, 1], [1, 1, 1, 0, 0, 1, 1, 1], [1, 1, 0, 0, 1, 1, 2, 1], [1, 0, 0, 1, 1, 1, 1, 0]], [new FigureInfo(4, Chains.MODE_CHAIN), new FigureInfo(54, Chains.MODE_CHAIN)], 420, 0, 6, 3), new LevelInfo([[0, 1, 1, 1, 1, 1, 1, 0], [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 0, 0, 1, 1, 1], [1, 1, 1, 0, 0, 1, 1, 1], [1, 1, 1, 0, 0, 1, 1, 1], [1, 1, 1, 0, 0, 1, 1, 1], [1, 1, 1, 0, 0, 1, 1, 1], [2, 2, 0, 0, 0, 0, 2, 2], [1, 1, 1, 0, 0, 1, 1, 1], [0, 1, 1, 0, 0, 1, 1, 0], [0, 1, 1, 0, 0, 1, 1, 0]], [new FigureInfo(6, Chains.MODE_CHAIN), new FigureInfo(7, Chains.MODE_CHAIN)], 420, 0, 6, 3), new LevelInfo([[0, 1, 1, 1, 1, 1, 1, 0], [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 1, 1, 0, 0, 0], [0, 0, 1, 1, 1, 1, 0, 0], [0, 0, 0, 1, 1, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 0]], [new FigureInfo(10, Chains.MODE_CHAIN), new FigureInfo(12, Chains.MODE_CHAIN), new FigureInfo(46, Chains.MODE_CHAIN), new FigureInfo(48, Chains.MODE_CHAIN)], 360, 0, 6, 3), new LevelInfo([[0, 1, 1, 1, 1, 1, 1, 0], [0, 0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 1, 1, 1, 1, 0], [0, 0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 1, 1, 1, 1, 0], [0, 0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 1, 1, 1, 1, 0], [0, 0, 1, 1, 1, 1, 0, 0], [2, 1, 1, 1, 1, 1, 1, 2], [0, 0, 1, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]], [new FigureInfo(41, Chains.MODE_CHAIN), new FigureInfo(44, Chains.MODE_CHAIN)], 420, 8, 6, 3), new LevelInfo([[0, 0, 0, 1, 1, 0, 0, 0], [0, 0, 1, 1, 1, 1, 0, 0], [0, 0, 0, 1, 1, 0, 0, 0], [0, 0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 1, 1, 1, 1, 0], [1, 1, 1, 0, 0, 1, 1, 1], [1, 2, 1, 0, 0, 1, 2, 1], [1, 1, 1, 0, 0, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 0], [0, 0, 1, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 1, 0, 0]], [new FigureInfo(24, Chains.MODE_CHAIN), new FigureInfo(25, Chains.MODE_CHAIN), new FigureInfo(42, Chains.MODE_CHAIN), new FigureInfo(43, Chains.MODE_CHAIN)], 420, 8, 6, 3), new LevelInfo([[0, 2, 2, 0, 0, 2, 2, 0], [0, 2, 2, 0, 0, 2, 2, 0], [0, 2, 2, 0, 0, 2, 2, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 1, 1, 1, 1, 0], [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 0, 0, 1, 1, 1], [1, 2, 1, 0, 0, 1, 2, 1], [1, 1, 1, 0, 0, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 0]], [new FigureInfo(19, Chains.MODE_CHAIN), new FigureInfo(21, Chains.MODE_CHAIN)], 420, 8, 6, 3), new LevelInfo([[0, 2, 1, 0, 0, 1, 2, 0], [1, 2, 2, 1, 1, 2, 2, 1], [0, 1, 2, 0, 0, 2, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 2, 1, 0, 0, 1, 2, 0], [1, 2, 2, 1, 1, 2, 2, 1], [0, 1, 2, 0, 0, 2, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 2, 1, 0, 0, 1, 2, 0], [1, 2, 2, 1, 1, 2, 2, 1], [0, 1, 2, 0, 0, 2, 1, 0]], [], 420, 8, 6, 3), new LevelInfo([[1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 2, 2, 1, 1, 0], [0, 0, 1, 1, 1, 1, 0, 0], [4, 0, 1, 1, 1, 1, 0, 4], [4, 0, 1, 1, 1, 1, 0, 4], [4, 0, 1, 1, 1, 1, 0, 4], [1, 0, 1, 1, 1, 1, 0, 1], [1, 0, 1, 1, 1, 1, 0, 1], [1, 0, 1, 1, 1, 1, 0, 1], [1, 1, 0, 1, 1, 0, 1, 1]], [new FigureInfo(46, Chains.MODE_CHAIN), new FigureInfo(48, Chains.MODE_CHAIN)], 420, 11, 6, 3), new LevelInfo([[0, 1, 1, 1, 1, 1, 1, 0], [0, 1, 2, 1, 1, 2, 1, 0], [0, 1, 1, 1, 1, 1, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 1, 0, 0, 0], [0, 0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 1, 1, 1, 1, 0], [1, 2, 1, 4, 4, 1, 2, 1], [1, 2, 1, 1, 1, 1, 2, 1], [1, 2, 1, 1, 1, 1, 2, 1], [1, 0, 0, 1, 1, 0, 0, 1]], [new FigureInfo(20, Chains.MODE_CHAIN)], 420, 11, 6, 3), new LevelInfo([[1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 4, 4, 4, 4, 1, 0], [0, 0, 1, 4, 4, 1, 0, 0], [1, 0, 0, 1, 1, 0, 0, 1], [1, 1, 0, 0, 0, 0, 1, 1], [1, 1, 1, 0, 0, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 4, 4, 4, 4, 1, 1], [0, 0, 1, 4, 4, 1, 0, 0], [0, 0, 0, 1, 1, 0, 0, 0]], [new FigureInfo(2, Chains.MODE_CHAIN), new FigureInfo(56, Chains.MODE_CHAIN)], 420, 11, 6, 3), new LevelInfo([[0, 1, 1, 0, 0, 1, 1, 0], [2, 1, 1, 4, 4, 1, 1, 2], [0, 1, 1, 0, 0, 1, 1, 0], [2, 1, 1, 4, 4, 1, 1, 2], [0, 1, 1, 0, 0, 1, 1, 0], [2, 1, 1, 4, 4, 1, 1, 2], [0, 1, 1, 0, 0, 1, 1, 0], [2, 1, 1, 4, 4, 1, 1, 2], [0, 1, 1, 0, 0, 1, 1, 0], [2, 1, 1, 4, 4, 1, 1, 2], [0, 1, 1, 0, 0, 1, 1, 0]], [new FigureInfo(11, Chains.MODE_CHAIN), new FigureInfo(20, Chains.MODE_CHAIN), new FigureInfo(29, Chains.MODE_CHAIN), new FigureInfo(38, Chains.MODE_CHAIN), new FigureInfo(47, Chains.MODE_CHAIN)], 420, 11, 6, 3), new LevelInfo([[4, 1, 1, 0, 0, 0, 0, 0], [0, 0, 1, 1, 0, 0, 0, 0], [4, 1, 1, 1, 1, 0, 0, 0], [0, 0, 1, 1, 1, 1, 0, 0], [4, 1, 1, 1, 1, 1, 1, 0], [0, 0, 1, 1, 1, 1, 2, 2], [4, 1, 1, 1, 1, 1, 1, 0], [0, 0, 1, 1, 1, 1, 0, 0], [4, 1, 1, 1, 1, 0, 0, 0], [0, 0, 1, 1, 0, 0, 0, 0], [4, 1, 1, 0, 0, 0, 0, 0]], [new FigureInfo(5, Chains.MODE_CHAIN), new FigureInfo(14, Chains.MODE_CHAIN), new FigureInfo(23, Chains.MODE_CHAIN), new FigureInfo(32, Chains.MODE_CHAIN), new FigureInfo(41, Chains.MODE_CHAIN), new FigureInfo(50, Chains.MODE_CHAIN)], 420, 11, 6, 3)); _local2 = new HelpTooltipWindow(new Point((bg.width / 2), (bg.height / 2))); _local2.addEventListener(MyWindow.ON_CLOSE, OnCloseHelpTooltipWindow); addChild(_local2); if (Game.soundOn){ new HintSound().play(); }; m_shuffleButton.addEventListener(MyButton.BUTTON_CLICK, onShuffleButtonClick); m_shuffleButton.addEventListener(MyButton.DISABLED_BUTTON_CLICK, onDisabledButtonClick); m_shuffleButtonFilling.addEventListener(ButtonFilling.ON_FULL, onShuffleButtonFull); m_shuffleButtonFilling.addEventListener(ButtonFilling.ON_PERCENT_CHANGE, onShuffleButtonUpdate); m_shuffleButton.mode = MyButton.MODE_DISABLED; m_bombButton.addEventListener(MyButton.BUTTON_CLICK, onBombButtonClick); m_bombButton.addEventListener(MyButton.DISABLED_BUTTON_CLICK, onDisabledButtonClick); m_bombButtonFilling.addEventListener(ButtonFilling.ON_FULL, onBombButtonFull); m_bombButtonFilling.addEventListener(ButtonFilling.ON_PERCENT_CHANGE, onBombButtonUpdate); m_bombButton.mode = MyButton.MODE_DISABLED; m_lightningButton.addEventListener(MyButton.BUTTON_CLICK, onLightningButtonClick); m_lightningButton.addEventListener(MyButton.DISABLED_BUTTON_CLICK, onDisabledButtonClick); m_lightningButtonFilling.addEventListener(ButtonFilling.ON_FULL, onLightningButtonFull); m_lightningButtonFilling.addEventListener(ButtonFilling.ON_PERCENT_CHANGE, onLightningButtonUpdate); m_lightningButton.mode = MyButton.MODE_DISABLED; m_menuButton.addEventListener(MouseEvent.CLICK, onMenuButtonClick); m_moreGamesBtn.addEventListener(MouseEvent.CLICK, onMoreGamesBtnClick); m_musicOnBtn.x = m_musicOffBtn.x; m_musicOnBtn.y = m_musicOffBtn.y; m_musicOnBtn.visible = false; m_musicOnBtn.addEventListener(MouseEvent.MOUSE_DOWN, onMusicOnBtnClick); m_soundOnBtn.x = m_soundOffBtn.x; m_soundOnBtn.y = m_soundOffBtn.y; m_soundOnBtn.visible = false; m_soundOnBtn.addEventListener(MouseEvent.MOUSE_DOWN, onSoundOnBtnClick); m_musicOffBtn.addEventListener(MouseEvent.MOUSE_DOWN, onMusicOffBtnClick); m_soundOffBtn.addEventListener(MouseEvent.MOUSE_DOWN, onSoundOffBtnClick); if (!(m_musicOn)){ onMusicOffBtnClick(null); }; if (!(m_soundOn)){ onSoundOffBtnClick(null); }; setButtonEnabled(false); } private function OnBombMouseClick(_arg1:MouseEvent){ if (m_level.getMode() != PlayingField.MODE_BOMB){ removeEventListener(MouseEvent.CLICK, OnBombMouseClick); return; }; if (!(m_level.haveTriangleByPoint(new Point(_arg1.stageX, _arg1.stageY)))){ m_level.cancelBomb(); if (m_level.getMode() == PlayingField.MODE_NORMAL){ removeEventListener(MouseEvent.CLICK, OnBombMouseClick); m_level.removeEventListener(PlayingField.ON_BOMB_USE, onBombFinish); m_cursor.mode = Cursor.MODE_NORMAL; } else { throw (new Error("После отмены бомбы поле не перешло в нормальный режим")); }; }; } private function onFigureChainAppear(_arg1:TooltipEvent):void{ m_level.removeEventListener(PlayingField.ON_FIGURE_CHAIN_APPEAR, onFigureChainAppear); if (m_onFigureChainAppearShow){ return; }; m_onFigureChainAppearShow = true; if (m_level.getMode() == PlayingField.MODE_LOADING){ m_tooltipEvents.push(new TooltipEventInfo(GameSettings.CHAIN_TOOLTIP, globalToLocal(_arg1.point))); } else { showTooltipWindow(GameSettings.CHAIN_TOOLTIP, globalToLocal(_arg1.point)); }; } private function onSoundOnBtnClick(_arg1:Event){ if (!(m_soundOnBtn.enabled)){ return; }; m_soundOnBtn.visible = false; m_soundOffBtn.visible = true; soundOn = true; } private function loadLevel(_arg1:int){ var _local2:LevelInfo; freeLevel(); m_shuffleButtonFilling.percent = 0; m_levelTimer.gotoAndStop(1); m_levelTimer.visible = true; m_levelNumberText.text = String(_arg1); m_gameScoreText.text = String(m_gameScore); _local2 = m_level_info_array[(_arg1 - 1)]; m_timer = new Timer(1000, _local2.time); m_timer.addEventListener(TimerEvent.TIMER, onLevelTimer); m_timer.addEventListener(TimerEvent.TIMER_COMPLETE, onLevelTimerComplete); m_blinkTimer = new Timer(500); m_blinkTimer.addEventListener(TimerEvent.TIMER, onBlinkTimer); m_level = new PlayingField(_local2, _arg1); m_level.x = 63; m_level.y = 63; addChild(m_level); m_level.addEventListener(PlayingField.LOAD_COMPLETE, onLevelLoadComplete); m_level.addEventListener(PlayingField.LEVEL_COMPLETE, onLevelComplete); m_level.addEventListener(PlayingField.ON_SCORE_CHANGE, onLevelScoreChange); m_shuffleButtonFilling.visible = (_local2.bonus >= 1); m_bombButtonFilling.visible = (_local2.bonus >= 2); if (((m_bombButtonFilling.visible) && (!(m_bomb_tooltip_show)))){ m_bomb_tooltip_show = true; m_tooltipEvents.push(new TooltipEventInfo(GameSettings.BOMB_TOOLTIP, globalToLocal(new Point(m_bombButton.x, m_bombButton.y)))); }; m_lightningButtonFilling.visible = (_local2.bonus >= 3); if (((m_lightningButtonFilling.visible) && (!(m_lightning_tooltip_show)))){ m_lightning_tooltip_show = true; m_tooltipEvents.push(new TooltipEventInfo(GameSettings.LIGHTNING_TOOLTIP, globalToLocal(new Point(m_lightningButton.x, m_lightningButton.y)))); }; m_shuffleButton.mode = MyButton.MODE_DISABLED; m_bombButton.mode = MyButton.MODE_DISABLED; m_lightningButton.mode = MyButton.MODE_DISABLED; m_shuffleButtonFilling.save(); m_bombButtonFilling.save(); m_lightningButtonFilling.save(); m_level.addEventListener(PlayingField.ON_BLACK_FIGURE_APPEAR, onBlackFigureAppear); m_level.addEventListener(PlayingField.ON_TRIANGLE_LOCK_APPEAR, onTriangleLockAppear); m_level.addEventListener(PlayingField.ON_TRIANGLE_DOUBLE_LOCK_APPEAR, onTriangleDoubleLockAppear); m_level.addEventListener(PlayingField.ON_TRIANGLE_COLOR_LOCK_APPEAR, onTriangleColorLockAppear); m_level.addEventListener(PlayingField.ON_FIGURE_CHAIN_APPEAR, onFigureChainAppear); m_level.addEventListener(PlayingField.ON_FIGURE_DOUBLE_CHAIN_APPEAR, onFigureDoubleChainAppear); if (stage){ stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); }; } private function onLightningStarMoveFinish(_arg1:Event){ var _local2:Star; _local2 = (_arg1.target as Star); m_lightningButtonFilling.percent = (m_lightningButtonFilling.percent + _local2.percent); } private function set gamePause(_arg1:Boolean):void{ if (m_gamePause == _arg1){ return; }; m_gamePause = _arg1; if (m_gamePause){ if (m_level){ m_level.gamePause(); }; if (m_timer){ m_timer.stop(); }; setButtonEnabled(false); } else { if (m_level){ m_level.gameContinue(); }; if (m_timer){ m_timer.start(); }; setButtonEnabled(true); }; } private function onLightningTimer(_arg1:TimerEvent){ var _local2:Point; var _local3:MyLightning; _local2 = m_lightningPoints[(m_lightningTimer.currentCount - 1)]; _local3 = new MyLightning(new Point(m_lightningButton.x, m_lightningButton.y), _local2); addChild(_local3); m_level.lightning(_local2); } private function onBombButtonUpdate(_arg1:Event){ if (m_bombButtonFilling.percent >= 100){ m_bombButton.mode = MyButton.MODE_NORMAL; } else { m_bombButton.mode = MyButton.MODE_DISABLED; }; } private function keyDownHandler(_arg1:KeyboardEvent){ } private function setButtonEnabled(_arg1:Boolean){ m_menuButton.enabled = _arg1; m_moreGamesBtn.enabled = _arg1; m_musicOnBtn.enabled = _arg1; m_soundOnBtn.enabled = _arg1; m_musicOffBtn.enabled = _arg1; m_soundOffBtn.enabled = _arg1; if (!(_arg1)){ m_lightningButton.mode = MyButton.MODE_DISABLED; m_shuffleButton.mode = MyButton.MODE_DISABLED; m_bombButton.mode = MyButton.MODE_DISABLED; } else { onLightningButtonUpdate(null); onShuffleButtonUpdate(null); onBombButtonUpdate(null); }; } private function onTriangleColorLockAppear(_arg1:TooltipEvent):void{ m_level.removeEventListener(PlayingField.ON_TRIANGLE_COLOR_LOCK_APPEAR, onTriangleColorLockAppear); if (m_onTriangleColorLockAppearShow){ return; }; m_onTriangleColorLockAppearShow = true; if (m_level.getMode() == PlayingField.MODE_LOADING){ m_tooltipEvents.push(new TooltipEventInfo(GameSettings.COLOR_LOCK_TOOLTIP, globalToLocal(_arg1.point))); } else { showTooltipWindow(GameSettings.COLOR_LOCK_TOOLTIP, globalToLocal(_arg1.point)); }; } private function afterLevelSoundStopOnLevelComplete(_arg1:Event){ var _local2:LevelCompleteWindow; hideTooltipWindow(true); addBackgroundWindow(); _local2 = new LevelCompleteWindow(new Point((bg.width / 2), (bg.height / 2)), m_level.levelScore, m_timeScore); addChild(_local2); _local2.addEventListener(MyWindow.ON_CLOSE, onCloseLevelCompleteWindow); new SoundPlayer(new LevelCompleteSound()); } private function onCloseGameCompleteWindow(_arg1:Event){ var _local2:GameCompleteWindow; _local2 = GameCompleteWindow(_arg1.target); _local2.removeEventListener(MyWindow.ON_CLOSE, onCloseGameCompleteWindow); removeChild(_local2); removeBackgroundWindow(); endGame(); } private function onTriangleDoubleLockAppear(_arg1:TooltipEvent):void{ m_level.removeEventListener(PlayingField.ON_TRIANGLE_DOUBLE_LOCK_APPEAR, onTriangleDoubleLockAppear); if (m_onTriangleDoubleLockAppearShow){ return; }; m_onTriangleDoubleLockAppearShow = true; if (m_level.getMode() == PlayingField.MODE_LOADING){ m_tooltipEvents.push(new TooltipEventInfo(GameSettings.DOUBLE_LOCK_TOOLTIP, globalToLocal(_arg1.point))); } else { showTooltipWindow(GameSettings.DOUBLE_LOCK_TOOLTIP, globalToLocal(_arg1.point)); }; } private function freeLevel(){ if (stage){ stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); }; removeEventListener(MouseEvent.CLICK, OnBombMouseClick); m_tooltipEvents.length = 0; if (m_musicPlayer){ m_musicPlayer.stop(0, null); m_musicPlayer = null; }; if (m_timer){ m_timer.stop(); m_timer.removeEventListener(TimerEvent.TIMER, onLevelTimer); m_timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onLevelTimerComplete); m_timer = null; }; if (m_blinkTimer){ m_blinkTimer.removeEventListener(TimerEvent.TIMER, onBlinkTimer); m_blinkTimer = null; }; if (m_level){ m_level.removeEventListener(PlayingField.ON_BOMB_USE, onBombFinish); m_level.removeEventListener(PlayingField.LOAD_COMPLETE, onLevelLoadComplete); m_level.removeEventListener(PlayingField.LEVEL_COMPLETE, onLevelComplete); m_level.removeEventListener(PlayingField.ON_SCORE_CHANGE, onLevelScoreChange); m_level.removeEventListener(PlayingField.ON_BLACK_FIGURE_APPEAR, onBlackFigureAppear); m_level.removeEventListener(PlayingField.ON_TRIANGLE_LOCK_APPEAR, onTriangleLockAppear); m_level.removeEventListener(PlayingField.ON_TRIANGLE_DOUBLE_LOCK_APPEAR, onTriangleDoubleLockAppear); m_level.removeEventListener(PlayingField.ON_TRIANGLE_COLOR_LOCK_APPEAR, onTriangleColorLockAppear); m_level.removeEventListener(PlayingField.ON_FIGURE_CHAIN_APPEAR, onFigureChainAppear); m_level.removeEventListener(PlayingField.ON_FIGURE_DOUBLE_CHAIN_APPEAR, onFigureDoubleChainAppear); removeChild(m_level); m_level = null; }; m_levelTimer.gotoAndStop(1); m_levelTimer.visible = true; } private function onBlinkTimer(_arg1:TimerEvent){ m_levelTimer.visible = !(m_levelTimer.visible); } private function onSoundOffBtnClick(_arg1:Event){ if (!(m_soundOffBtn.enabled)){ return; }; m_soundOnBtn.visible = true; m_soundOffBtn.visible = false; soundOn = false; } private function set soundOn(_arg1:Boolean){ var _local2:Boolean; if (m_soundOn == _arg1){ return; }; m_soundOn = _arg1; if (!(m_soundOn)){ _local2 = ((m_musicPlayer) && (m_musicPlayer.soundChannel)); m_musicPlayer.pause(); SoundMixer.stopAll(); if (((m_musicOn) && (_local2))){ m_musicPlayer.play(); }; }; } private function onShuffleButtonFull(_arg1:Event){ m_shuffleButtonFilling.removeEventListener(ButtonFilling.ON_FULL, onShuffleButtonFull); showTooltipWindow(GameSettings.SHUFFLE_TOOLTIP, globalToLocal(new Point(m_shuffleButton.x, m_shuffleButton.y))); } private function onMenuButtonClick(_arg1:Event):void{ var _local2:GameMenuWindow; if (!(m_menuButton.enabled)){ return; }; if (gamePause){ return; }; if (Game.soundOn){ new Button1Sound().play(); }; addBackgroundWindow(); _local2 = new GameMenuWindow(new Point((bg.width / 2), (bg.height / 2))); _local2.addEventListener(MyWindow.ON_CLOSE, onMenuWindowClose); addChild(_local2); gamePause = true; } private function onLevelScoreChange(_arg1:ScoreEvent){ var _local2:FlyingNumber; var _local3:uint; var _local4:uint; var _local5:Star; var _local6:String; var _local7:Point; var _local8:Sound; var _local9:int; (m_gameScore + m_level.levelScore); m_gameScoreText.text = String((m_gameScore + m_level.levelScore)); _local2 = new FlyingNumber(m_level, String(_arg1.score), m_level.globalToLocal(_arg1.point), m_level.globalToLocal(new Point(_arg1.point.x, (_arg1.point.y - 500))), GameSettings.FLYING_NUMBER_SPEED); _local3 = 0; if ((((_arg1.combo > 1)) && (m_bombButtonFilling.visible))){ switch (_arg1.combo){ case 2: _local3 = GameSettings.BONUS_COMBO2_PERSENT; break; case 3: _local3 = GameSettings.BONUS_COMBO3_PERSENT; break; case 4: _local3 = GameSettings.BONUS_COMBO4_PERSENT; break; case 5: _local3 = GameSettings.BONUS_COMBO5_PERSENT; break; default: _local3 = GameSettings.BONUS_COMBO6_PERSENT; break; }; _local4 = 0; while (_local4 < _arg1.points.length) { _local7 = _arg1.points[_local4]; _local5 = new Star(this, globalToLocal(_local7), globalToLocal(m_bombButton.localToGlobal(new Point(0, 0))), GameSettings.STAR_SPEED, _local3); if (_local4 == 0){ _local5.addEventListener(BasicObject.MOVE_FINISH, onBombStarMoveFinish); }; _local4++; }; }; if ((((_arg1.clickCombo > 1)) && (m_lightningButtonFilling.visible))){ switch (_arg1.clickCombo){ case 2: _local3 = GameSettings.BONUS_CLICK_COMBO2_PERSENT; break; case 3: _local3 = GameSettings.BONUS_CLICK_COMBO3_PERSENT; break; case 4: _local3 = GameSettings.BONUS_CLICK_COMBO4_PERSENT; break; case 5: _local3 = GameSettings.BONUS_CLICK_COMBO5_PERSENT; break; default: _local3 = GameSettings.BONUS_CLICK_COMBO6_PERSENT; break; }; _local4 = 0; while (_local4 < _arg1.points.length) { _local7 = _arg1.points[_local4]; _local5 = new Star(this, globalToLocal(_local7), globalToLocal(m_lightningButton.localToGlobal(new Point(0, 0))), GameSettings.STAR_SPEED, _local3); if (_local4 == 0){ _local5.addEventListener(BasicObject.MOVE_FINISH, onLightningStarMoveFinish); }; _local4++; }; }; if ((_arg1.clickCombo * _arg1.combo) > 1){ if (_arg1.clickCombo > 1){ _local6 = (((GameSettings.CLICK_COMBO_TEXT + " ") + String(_arg1.clickCombo)) + "X"); }; if (_arg1.combo > 1){ _local6 = (((GameSettings.COMBO_TEXT + " ") + String(_arg1.combo)) + "X"); }; _local7 = new Point(_arg1.point.x, _arg1.point.y); _local7.offset(0, _local2.height); new FlyingNumber(m_level, _local6, m_level.globalToLocal(_local7), m_level.globalToLocal(new Point(_local7.x, (_local7.y - 500))), GameSettings.FLYING_NUMBER_SPEED); if (Game.soundOn){ _local9 = Math.max(_arg1.clickCombo, _arg1.combo); switch (_local9){ case 2: _local8 = new Burst2Sound(); break; case 3: _local8 = new Burst3Sound(); break; case 4: _local8 = new Burst4Sound(); break; default: _local8 = new Burst5Sound(); break; }; _local8.play(); }; }; } private function onLightningButtonClick(_arg1:Event){ if (((m_level.isPlayerMove()) || (!((m_level.getMode() == PlayingField.MODE_NORMAL))))){ return; }; if (Game.soundOn){ new Lightning1Sound().play(); }; m_lightningPoints = m_level.getRandomPoints(); m_lightningTimer = new Timer(GameSettings.LIGHTNING_DELAY, m_lightningPoints.length); m_lightningTimer.addEventListener(TimerEvent.TIMER, onLightningTimer); m_lightningTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onLightningTimerComplete); m_lightningTimer.start(); } private function onLevelTimerComplete(_arg1:TimerEvent){ m_blinkTimer.stop(); if (m_timerSoundChannel){ m_timerSoundChannel.stop(); }; m_timer.stop(); m_timer.removeEventListener(TimerEvent.TIMER, onLevelTimer); m_timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onLevelTimerComplete); m_timer = null; if (m_musicPlayer.stop(GameSettings.STOP_MUSIC_DELAY, afterLevelMusicStopOnTimeOut)){ afterLevelMusicStopOnTimeOut(null); }; } private function onBombButtonFull(_arg1:Event){ m_bombButtonFilling.removeEventListener(ButtonFilling.ON_FULL, onBombButtonFull); showTooltipWindow(GameSettings.BOMB_FULL_TOOLTIP, globalToLocal(new Point(m_bombButton.x, m_bombButton.y))); } private function onMoreGamesBtnClick(_arg1:Event){ var url:String; var request:URLRequest; var e = _arg1; if (!(m_moreGamesBtn.enabled)){ return; }; new SoundPlayer(new Button1Sound()); url = GameSettings.MORE_GAME_URL; request = new URLRequest(url); try { navigateToURL(request, "_blank"); } catch(e:Error) { trace("Error occurred!"); }; } private function onLightningButtonFull(_arg1:Event){ m_lightningButtonFilling.removeEventListener(ButtonFilling.ON_FULL, onLightningButtonFull); showTooltipWindow(GameSettings.LIGHTNING_FULL_TOOLTIP, globalToLocal(new Point(m_lightningButton.x, m_lightningButton.y))); } private function onShuffleButtonClick(_arg1:Event){ if (((m_level.isPlayerMove()) || (!((m_level.getMode() == PlayingField.MODE_NORMAL))))){ return; }; if (Game.soundOn){ new Shuffle1Sound().play(); }; m_level.shuffle(); m_shuffleButtonFilling.percent = 0; } private function onCloseLevelCompleteWindow(_arg1:Event){ var _local2:LevelCompleteWindow; var _local3:GameCompleteWindow; _local2 = LevelCompleteWindow(_arg1.target); removeChild(_local2); if (m_level.levelNumber == m_level_info_array.length){ _local3 = new GameCompleteWindow(new Point((bg.width / 2), (bg.height / 2))); addChild(_local3); _local3.addEventListener(MyWindow.ON_CLOSE, onCloseGameCompleteWindow); if (Game.soundOn){ new Win1Sound().play(); }; } else { removeBackgroundWindow(); loadLevel((m_level.levelNumber + 1)); }; } private function onBombFinish(_arg1:Event){ removeEventListener(MouseEvent.CLICK, OnBombMouseClick); m_level.removeEventListener(PlayingField.ON_BOMB_USE, onBombFinish); if (m_level.getMode() == PlayingField.MODE_BOMB){ if (m_bombButtonFilling.percent >= 100){ m_bombButtonFilling.percent = (m_bombButtonFilling.percent - 100); m_cursor.mode = Cursor.MODE_NORMAL; } else { throw (new Error("Бомба ещё не заполнена")); }; } else { throw (new Error("После применения бомбы поле не в режиме цветной бомбы")); }; } private function onTriangleLockAppear(_arg1:TooltipEvent):void{ m_level.removeEventListener(PlayingField.ON_TRIANGLE_LOCK_APPEAR, onTriangleLockAppear); if (m_onTriangleLockAppearShow){ return; }; m_onTriangleLockAppearShow = true; if (m_level.getMode() == PlayingField.MODE_LOADING){ m_tooltipEvents.push(new TooltipEventInfo(GameSettings.LOCK_TOOLTIP, globalToLocal(_arg1.point))); } else { showTooltipWindow(GameSettings.LOCK_TOOLTIP, globalToLocal(_arg1.point)); }; } private function onMenuWindowClose(_arg1:Event):void{ var _local2:GameMenuWindow; _local2 = GameMenuWindow(_arg1.target); if (contains(_local2)){ removeChild(_local2); removeBackgroundWindow(); gamePause = false; switch (_local2.action){ case GameMenuWindow.ACTION_RESTART_LEVEL: m_shuffleButtonFilling.restore(); m_bombButtonFilling.restore(); m_lightningButtonFilling.restore(); loadLevel(m_level.levelNumber); break; case GameMenuWindow.ACTION_ABORT_GAME: endGame(); break; }; }; } private function onBlackFigureAppear(_arg1:TooltipEvent):void{ m_level.removeEventListener(PlayingField.ON_BLACK_FIGURE_APPEAR, onBlackFigureAppear); if (m_onBlackFigureAppearShow){ return; }; m_onBlackFigureAppearShow = true; if (m_level.getMode() == PlayingField.MODE_LOADING){ m_tooltipEvents.push(new TooltipEventInfo(GameSettings.BLACK_FIGURE_TOOLTIP, globalToLocal(_arg1.point))); } else { showTooltipWindow(GameSettings.BLACK_FIGURE_TOOLTIP, globalToLocal(_arg1.point)); }; } private function onBombStarMoveFinish(_arg1:Event){ var _local2:Star; _local2 = (_arg1.target as Star); m_bombButtonFilling.percent = (m_bombButtonFilling.percent + _local2.percent); } private function onLevelComplete(_arg1:Event){ m_timeScore = ((m_timer.repeatCount - m_timer.currentCount) * GameSettings.TIME_SCORE); m_timer.stop(); m_timer.removeEventListener(TimerEvent.TIMER, onLevelTimer); m_timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onLevelTimerComplete); m_timer = null; m_blinkTimer.stop(); if (m_timerSoundChannel){ m_timerSoundChannel.stop(); }; m_gameScore = (m_gameScore + (m_level.levelScore + m_timeScore)); if (m_musicPlayer.stop(GameSettings.STOP_MUSIC_DELAY, afterLevelSoundStopOnLevelComplete)){ afterLevelSoundStopOnLevelComplete(null); }; } private function removeBackgroundWindow(){ if (!(m_menuBackgroundWindow)){ return; }; if (contains(m_menuBackgroundWindow)){ removeChild(m_menuBackgroundWindow); }; m_menuBackgroundWindow = null; } private function endGame(){ freeLevel(); dispatchEvent(new Event(GAME_END)); } private function onDisabledButtonClick(_arg1:Event){ if (Game.soundOn){ new NoSound().play(); }; } private function onLevelTimer(_arg1:TimerEvent){ var _local2:uint; _local2 = ((m_timer.currentCount * m_levelTimer.totalFrames) / m_timer.repeatCount); m_levelTimer.gotoAndStop(_local2); if (m_timer.currentCount >= (m_timer.repeatCount / 2)){ if (!(m_timer_tooltip_show)){ m_timer_tooltip_show = true; showTooltipWindow(GameSettings.TIMER_TOOLTIP, new Point(bg.width, (bg.height / 2))); }; }; if (m_shuffleButtonFilling.visible){ m_shuffleButtonFilling.percent = (m_shuffleButtonFilling.percent + (100 / GameSettings.SHUFFLE_TIME_COUNT)); }; if (((m_timer.currentCount * 100) / m_timer.repeatCount) >= (100 - GameSettings.LITLE_TIME)){ m_timerSound = new RunningTimeSound(); if (Game.soundOn){ m_timerSoundChannel = m_timerSound.play(); }; m_blinkTimer.start(); }; } private function addBackgroundWindow(){ if (!(m_menuBackgroundWindow)){ m_menuBackgroundWindow = new MenuBackgroundWindow(new Point((bg.width / 2), (bg.height / 2))); m_menuBackgroundWindow.alpha = GameSettings.BACKGROUND_WINDOW_ALPHA; }; if (!(contains(m_menuBackgroundWindow))){ addChild(m_menuBackgroundWindow); }; } private function afterLevelMusicStopOnTimeOut(_arg1:Event){ var _local2:TimeOutWindow; hideTooltipWindow(true); addBackgroundWindow(); _local2 = new TimeOutWindow(new Point((bg.width / 2), (bg.height / 2))); addChild(_local2); _local2.addEventListener(MyWindow.ON_CLOSE, onCloseTimeOutWindow); new SoundPlayer(new TimeOutSound()); } private function onBombButtonClick(_arg1:Event){ if (((m_level.isPlayerMove()) || (!((m_level.getMode() == PlayingField.MODE_NORMAL))))){ return; }; m_level.bomb(); if (m_level.getMode() == PlayingField.MODE_BOMB){ if (Game.soundOn){ new BombaSound().play(); }; m_cursor.mode = Cursor.MODE_BOMB; m_level.addEventListener(PlayingField.ON_BOMB_USE, onBombFinish); addEventListener(MouseEvent.CLICK, OnBombMouseClick); } else { throw (new Error("После нажатия на бонус бомба поле не перешло в режим бомбы")); }; } private function onMusicOnBtnClick(_arg1:Event){ if (!(m_musicOnBtn.enabled)){ return; }; m_musicOnBtn.visible = false; m_musicOffBtn.visible = true; musicOn = true; } private function onLightningTimerComplete(_arg1:TimerEvent){ m_level.lightnings(m_lightningPoints); m_lightningTimer = null; m_lightningPoints = null; m_lightningButtonFilling.percent = (m_lightningButtonFilling.percent - 100); } private function onMusicOffBtnClick(_arg1:Event){ if (!(m_musicOffBtn.enabled)){ return; }; m_musicOnBtn.visible = true; m_musicOffBtn.visible = false; musicOn = false; } private function hideTooltipWindow(_arg1:Boolean=false){ var _local2:TooltipEventInfo; if (((m_tooltipWindow) && (contains(m_tooltipWindow)))){ m_tooltipWindowTimer = null; removeChild(m_tooltipWindow); m_tooltipWindow = null; if (((m_tooltipEvents.length) && (!(_arg1)))){ _local2 = m_tooltipEvents.shift(); showTooltipWindow(_local2.tooltip, _local2.point); } else { m_tooltipEvents.length = 0; gamePause = false; }; }; } private function onFigureDoubleChainAppear(_arg1:TooltipEvent):void{ m_level.removeEventListener(PlayingField.ON_FIGURE_DOUBLE_CHAIN_APPEAR, onFigureDoubleChainAppear); if (m_onFigureDoubleChainAppearShow){ return; }; m_onFigureDoubleChainAppearShow = true; if (m_level.getMode() == PlayingField.MODE_LOADING){ m_tooltipEvents.push(new TooltipEventInfo(GameSettings.DOUBLE_CHAIN_TOOLTIP, globalToLocal(_arg1.point))); } else { showTooltipWindow(GameSettings.DOUBLE_CHAIN_TOOLTIP, globalToLocal(_arg1.point)); }; } private function onTooltipWindowTimerComplete(_arg1:Event){ hideTooltipWindow(); } private function onShuffleButtonUpdate(_arg1:Event){ if (m_shuffleButtonFilling.percent >= 100){ m_shuffleButton.mode = MyButton.MODE_NORMAL; } else { m_shuffleButton.mode = MyButton.MODE_DISABLED; }; } private function showTooltipWindow(_arg1:uint, _arg2:Point){ if (((m_tooltipWindow) && (contains(m_tooltipWindow)))){ m_tooltipEvents.push(new TooltipEventInfo(_arg1, _arg2)); return; }; m_tooltipWindow = new TooltipWindow(new Point((bg.width / 2), (bg.height / 2)), _arg2, _arg1, new Point(0, 0), new Point(bg.width, bg.height)); addChild(m_tooltipWindow); if (Game.soundOn){ new HintSound().play(); }; m_tooltipWindow.addEventListener(MyWindow.ON_CLOSE, onTooltipWindowTimerComplete); gamePause = true; } private function set musicOn(_arg1:Boolean){ if (m_musicOn == _arg1){ return; }; m_musicOn = _arg1; if (((!(m_musicOn)) && (m_musicPlayer))){ m_musicPlayer.pause(); }; if (((m_musicOn) && (m_musicPlayer))){ m_musicPlayer.play(); }; } private function OnCloseHelpTooltipWindow(_arg1:Event){ var _local2:HelpTooltipWindow; _local2 = HelpTooltipWindow(_arg1.target); _local2.removeEventListener(MyWindow.ON_CLOSE, OnCloseHelpTooltipWindow); removeChild(_local2); setButtonEnabled(true); loadLevel(1); } private function isLevelLoadComplete():Boolean{ return (((m_level) && (!((m_level.getMode() == PlayingField.MODE_LOADING))))); } private function onCloseTimeOutWindow(_arg1:Event){ var _local2:TimeOutWindow; _local2 = TimeOutWindow(_arg1.target); _local2.removeEventListener(MyWindow.ON_CLOSE, onCloseTimeOutWindow); removeChild(_local2); removeBackgroundWindow(); switch (_local2.action){ case TimeOutWindow.ACTION_PLAY: loadLevel(m_level.levelNumber); break; case TimeOutWindow.ACTION_MAIN_MENU: endGame(); break; }; } private function onLightningButtonUpdate(_arg1:Event){ if (m_lightningButtonFilling.percent >= 100){ m_lightningButton.mode = MyButton.MODE_NORMAL; } else { m_lightningButton.mode = MyButton.MODE_DISABLED; }; } private function onLevelLoadComplete(_arg1:Event){ var _local2:TooltipEventInfo; m_timer.start(); m_musicPlayer = new MusicPlayer(new LevelSound()); if (musicOn){ m_musicPlayer.play(); }; onLightningButtonUpdate(null); onShuffleButtonUpdate(null); onBombButtonUpdate(null); if (m_tooltipEvents.length){ _local2 = m_tooltipEvents.shift(); showTooltipWindow(_local2.tooltip, _local2.point); }; } public static function get musicOn():Boolean{ return (m_musicOn); } public static function get gamePause():Boolean{ return (m_gamePause); } public static function get soundOn():Boolean{ return (m_soundOn); } } }//package main
Section 57
//GameCompleteWindow (main.GameCompleteWindow) package main { import flash.events.*; import flash.geom.*; import flash.net.*; import flash.display.*; public class GameCompleteWindow extends MyWindow { public var m_OKBtn:SimpleButton; public var m_downloadBtn:SimpleButton; public function GameCompleteWindow(_arg1:Point){ super(_arg1, false); m_OKBtn.addEventListener(MouseEvent.CLICK, onOkBtnClick); m_downloadBtn.addEventListener(MouseEvent.CLICK, onDownloadBtnClick); } private function onDownloadBtnClick(_arg1:Event):void{ var url:String; var request:URLRequest; var event = _arg1; new SoundPlayer(new Button1Sound()); url = GameSettings.DOWNLOAD_URL; request = new URLRequest(url); try { navigateToURL(request, "_blank"); } catch(e:Error) { trace("Error occurred!"); }; } private function onOkBtnClick(_arg1:Event):void{ if (Game.soundOn){ new Button1Sound().play(); }; dispatchEvent(new Event(MyWindow.ON_CLOSE)); } } }//package main
Section 58
//GameMenuWindow (main.GameMenuWindow) package main { import flash.events.*; import flash.geom.*; import flash.net.*; import flash.display.*; public class GameMenuWindow extends MyWindow { private var m_action:uint;// = 0 public var m_abortGameBtn:SimpleButton; public var m_continueBtn:SimpleButton; public var m_helpBtn:SimpleButton; public var m_restartLevelBtn:SimpleButton; public var m_url1Btn:SimpleButton; public static const ACTION_CONTINUE = 1; public static const ACTION_NONE = 0; public static const ACTION_ABORT_GAME = 4; public static const ACTION_RESTART_LEVEL = 2; public function GameMenuWindow(_arg1:Point){ m_action = ACTION_NONE; super(_arg1, false); m_continueBtn.addEventListener(MouseEvent.CLICK, onContinueButtonClick); m_restartLevelBtn.addEventListener(MouseEvent.CLICK, onLevelRestartButtonClick); m_helpBtn.addEventListener(MouseEvent.CLICK, onHelpButtonClick); m_abortGameBtn.addEventListener(MouseEvent.CLICK, onAbortGameButtonClick); m_url1Btn.addEventListener(MouseEvent.CLICK, onURL1BtnClick); } private function onSureWindowClose2(_arg1:Event){ var _local2:SureWindow; _local2 = SureWindow(_arg1.target); _local2.removeEventListener(MyWindow.ON_CLOSE, onSureWindowClose2); removeChild(_local2); if (_local2.action == SureWindow.ACTION_OK){ m_action = ACTION_ABORT_GAME; dispatchEvent(new Event(MyWindow.ON_CLOSE)); }; } public function get action():uint{ return (m_action); } private function onHelpClose(_arg1:Event):void{ var _local2:*; _local2 = HelpWindow(_arg1.target); _local2.removeEventListener(MyWindow.ON_CLOSE, onHelpClose); removeChild(_local2); } private function onAbortGameButtonClick(_arg1:Event):void{ var _local2:SureWindow; if (Game.soundOn){ new Button1Sound().play(); }; m_action = ACTION_ABORT_GAME; _local2 = new SureWindow(new Point(0, 0), GameSettings.SURE_ABORT_GAME); _local2.addEventListener(MyWindow.ON_CLOSE, onSureWindowClose2); addChild(_local2); } private function onHelpButtonClick(_arg1:Event):void{ var _local2:*; if (Game.soundOn){ new Button1Sound().play(); }; _local2 = new HelpWindow(new Point(0, 0)); _local2.addEventListener(MyWindow.ON_CLOSE, onHelpClose); addChild(_local2); } private function onLevelRestartButtonClick(_arg1:Event):void{ var _local2:SureWindow; if (Game.soundOn){ new Button1Sound().play(); }; _local2 = new SureWindow(new Point(0, 0), GameSettings.SURE_RESTART_LEVEL); _local2.addEventListener(MyWindow.ON_CLOSE, onSureWindowClose); addChild(_local2); } private function onSureWindowClose(_arg1:Event){ var _local2:SureWindow; _local2 = SureWindow(_arg1.target); _local2.removeEventListener(MyWindow.ON_CLOSE, onSureWindowClose); removeChild(_local2); if (_local2.action == SureWindow.ACTION_OK){ m_action = ACTION_RESTART_LEVEL; dispatchEvent(new Event(MyWindow.ON_CLOSE)); }; } private function onURL1BtnClick(_arg1:Event):void{ var url:String; var request:URLRequest; var event = _arg1; if (Game.soundOn){ new Button1Sound().play(); }; url = GameSettings.DOWNLOAD_URL; request = new URLRequest(url); try { navigateToURL(request, "_blank"); } catch(e:Error) { trace("Error occurred!"); }; } private function onContinueButtonClick(_arg1:Event):void{ if (Game.soundOn){ new Button1Sound().play(); }; m_action = ACTION_CONTINUE; dispatchEvent(new Event(MyWindow.ON_CLOSE)); } } }//package main
Section 59
//GameSettings (main.GameSettings) package main { public class GameSettings { public static const MaxBonusFillPercent = 300; public static const LEVEL_NUMBER_TEXT = "Level"; public static const STAR_SPEED = 15; public static const FLYING_NUMBER_FLY = 500; public static const SURE_EXIT = "Are you sure you want to exit the game?"; public static const TOOLTIP_DELAY = 3000; public static const DOWNLOAD_URL = "http://www.gameglade.com/onlinegames/triplerotate/"; public static const SURE_LOAD_GAME = "The saved game will be deleted. Are you sure?"; public static const BONUS_MATCH4_COUNT = 7; public static const SHUFFLE_TIME_COUNT = 90; public static const ROTATION_SPEED = 18; public static const SURE_ABORT_GAME = "Are you sure you want to abort?"; public static const MORE_GAME_URL = "http://www.gameglade.com/"; public static const MATCH3 = 30; public static const MATCH4 = 50; public static const MATCH6 = 100; public static const MATCH7 = 100; public static const MATCH8 = 100; public static const MATCH5 = 70; public static const PlayingFieldLaphaChanheDelay = 1000; public static const TREMBLE_SPEED = 1; public static const SHUFFLE_SPEED = 10; public static const CONFIRM_PROFILE_EXIST = "Such profile already exists. Change the name."; public static const CHAIN_TOOLTIP = 9; public static const BONUS_MATCH6_PERSENT = 25; public static const FILE_LIST_FILE_NAME = "Files.txt"; public static const CLEANER_TOOLTIP = 15; public static const COLOR_LOCK_TOOLTIP = 8; public static const FIGURE_RADIUS = 17.5; public static const LIGHTNING_TOOLTIP = 13; public static const BONUS_CLICK_COMBO2_PERSENT = 10; public static const BONUS_CLICK_COMBO3_PERSENT = 15; public static const BONUS_CLICK_COMBO4_PERSENT = 20; public static const BONUS_CLICK_COMBO5_PERSENT = 25; public static const BONUS_CLICK_COMBO6_PERSENT = 30; public static const DOUBLE_CHAIN_TOOLTIP = 10; public static const CLOCK_VISIBLE_TIME = 20000; public static const CLOCK_TIMER_ADD = 60; public static const SURE_DELETE_PROFILE = "Are you sure you want to delete the profile?"; public static const FLYING_NUMBER_SPEED = 4; public static const FALL_SPEED = 17; public static const COMBO_TEXT = "Combo"; public static const BONUS_MATCH5_PERSENT = 15; public static const SURE_RESTART_LEVEL = "Are you sure you wish to restart the level?"; public static const CURR_PROFILE_FILE_NAME = "CurrProfile.txt"; public static const CLOCK_ALPHA_CHANGE_TIME = 3000; public static const BOMB_TOOLTIP = 12; public static const TIP_WINDOW_START = 100; public static const FLYING_NUMBER_ALPHA = 500; public static const CLICK_COMBO_TOOLTIP = 4; public static const LITLE_TIME = 10; public static const DOUBLE_LOCK_TOOLTIP = 7; public static const MAIN_MENU_BTN_LABEL = "Main menu"; public static const PROFILE_LIST_FILE_NAME = "Profiles.txt"; public static const SHUFFLE_TOOLTIP = 11; public static const TIME_SCORE = 10; public static const LEVEL_BUTTON_LEVEL_COUNT = 2; public static const LIGHTNING_DELAY = 250; public static const DROP_FIGURE_DELAY = 20; public static const CLOCK_TOOLTIP = 16; public static const BONUS_COMBO3_PERSENT = 15; public static const CLICK_COMBO_TEXT = "Click-combo"; public static const BONUS_COMBO5_PERSENT = 25; public static const BONUS_COMBO6_PERSENT = 30; public static const BACKGROUND_WINDOW_ALPHA = 0; public static const BONUS_COMBO4_PERSENT = 20; public static const BOMB_FULL_TOOLTIP = 17; public static const TRIANGLE_ROW_COUNT = 11; public static const LIGHTNING_FULL_TOOLTIP = 18; public static const DROP_TRIANGLE_DELAY = 20; public static const LEVEL_BUTTON_COUNT = 5; public static const OPTIONS_FILENAME = "Options.txt"; public static const BONUS_COMBO2_PERSENT = 10; public static const TIMER_TOOLTIP = 1; public static const FrameRate = 24; public static const LOCK_TOOLTIP = 6; public static const COLOR_BOMB_TOOLTIP = 14; public static const MATCH4_TOOLTIP = 2; public static const PULL_OFFSET = (Triangle.triWidth / 8); public static const DROP_OFFSETX = 0; public static const DROP_OFFSETY = -40; public static const DROP_SPEED = 17; public static const TRIANGLE_COL_COUNT = 8; public static const MATCH5_TOOLTIP = 3; public static const TIP_POINTER_START = 76; public static const CLOCK_TIMER_DELAY_PERCENT = 40; public static const PROFILE_DIR = "Saves\"; public static const GameBackGroundAlphaDelay = 3000; public static const BLACK_FIGURE_TOOLTIP = 5; public static const PLAY_BTN_LABEL = "Continue Saved Game"; public static const STOP_MUSIC_DELAY = 300; public static const MAX_PROFILE_LENGTH = 12; public static const CLOCK_TIMER_DELAY = 20000; } }//package main
Section 60
//HelpTooltipWindow (main.HelpTooltipWindow) package main { import flash.geom.*; import flash.display.*; public class HelpTooltipWindow extends MyWindow { public var m_help:MovieClip; public function HelpTooltipWindow(_arg1:Point){ super(_arg1); m_help.gotoAndStop(1); } } }//package main
Section 61
//HelpWindow (main.HelpWindow) package main { import flash.events.*; import flash.geom.*; import flash.display.*; public class HelpWindow extends MyWindow { public var m_backBtn:SimpleButton; public var m_OKBtn:SimpleButton; public var m_nextBtn:SimpleButton; public var m_help:MovieClip; public function HelpWindow(_arg1:Point){ super(_arg1, false); m_help.gotoAndStop(1); updateButtons(); m_backBtn.addEventListener(MouseEvent.CLICK, onBackBtnClick); m_nextBtn.addEventListener(MouseEvent.CLICK, onNextBtnClick); m_OKBtn.addEventListener(MouseEvent.CLICK, onOkBtnClick); } private function onBackBtnClick(_arg1:Event):void{ if (Game.soundOn){ new Button1Sound().play(); }; m_help.gotoAndStop(Math.max(1, (m_help.currentFrame - 1))); updateButtons(); } private function onNextBtnClick(_arg1:Event):void{ if (Game.soundOn){ new Button1Sound().play(); }; m_help.gotoAndStop(Math.min(m_help.totalFrames, (m_help.currentFrame + 1))); updateButtons(); } private function updateButtons(){ m_backBtn.enabled = (m_help.currentFrame > 1); m_nextBtn.enabled = (m_help.currentFrame < m_help.totalFrames); } private function onOkBtnClick(_arg1:Event):void{ if (Game.soundOn){ new Button1Sound().play(); }; dispatchEvent(new Event(MyWindow.ON_CLOSE)); } } }//package main
Section 62
//HintSound (main.HintSound) package main { import flash.media.*; public dynamic class HintSound extends Sound { } }//package main
Section 63
//LevelBegin1Sound (main.LevelBegin1Sound) package main { import flash.media.*; public dynamic class LevelBegin1Sound extends Sound { } }//package main
Section 64
//LevelBegin2Sound (main.LevelBegin2Sound) package main { import flash.media.*; public dynamic class LevelBegin2Sound extends Sound { } }//package main
Section 65
//LevelCompleteSound (main.LevelCompleteSound) package main { import flash.media.*; public dynamic class LevelCompleteSound extends Sound { } }//package main
Section 66
//LevelCompleteWindow (main.LevelCompleteWindow) package main { import flash.events.*; import flash.geom.*; import flash.net.*; import flash.text.*; import flash.display.*; public class LevelCompleteWindow extends MyWindow { public var m_totalScoreText:TextField; public var m_timeScoreText:TextField; public var m_OKBtn:SimpleButton; public var m_levelScoreText:TextField; public var m_downloadBtn:SimpleButton; public function LevelCompleteWindow(_arg1:Point, _arg2:uint, _arg3:uint){ super(_arg1, false); m_levelScoreText.text = String(_arg2); m_timeScoreText.text = String(_arg3); m_totalScoreText.text = String((_arg2 + _arg3)); m_OKBtn.addEventListener(MouseEvent.CLICK, onOKBtnClick); m_downloadBtn.addEventListener(MouseEvent.CLICK, onDownloadBtnClick); } private function onDownloadBtnClick(_arg1:Event):void{ var url:String; var request:URLRequest; var event = _arg1; new SoundPlayer(new Button1Sound()); url = GameSettings.DOWNLOAD_URL; request = new URLRequest(url); try { navigateToURL(request, "_blank"); } catch(e:Error) { trace("Error occurred!"); }; } private function onOKBtnClick(_arg1:Event):void{ new SoundPlayer(new Button1Sound()); dispatchEvent(new Event(MyWindow.ON_CLOSE)); } } }//package main
Section 67
//LevelInfo (main.LevelInfo) package main { public class LevelInfo { protected var m_figureColorCount:uint; protected var m_figureInfoSet:Array; protected var m_tri_modes:Array; protected var m_bonus:uint; protected var m_blackFigurePercent:uint; protected var m_time:uint; public function LevelInfo(_arg1:Array, _arg2:Array, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint=1){ var _local7:int; super(); m_time = _arg3; if (_arg4 > 20){ throw (new Error("% чёрных фигур должен быть от 0 до 20%")); }; m_blackFigurePercent = _arg4; if ((((_arg5 < 5)) || ((_arg5 > 7)))){ throw (new Error("Количество цветов фигур должно быть от 5 до 7")); }; m_figureColorCount = _arg5; if ((((_arg6 < 1)) || ((_arg6 > 5)))){ throw (new Error("Кол-во бонусов должно быть от 1 до 5")); }; m_bonus = _arg6; m_tri_modes = _arg1; if (_arg1.length != GameSettings.TRIANGLE_ROW_COUNT){ _arg1.length = GameSettings.TRIANGLE_ROW_COUNT; }; _local7 = 0; while (_local7 < m_tri_modes.length) { if (!((m_tri_modes[_local7] is Array))){ m_tri_modes[_local7] = new Array(GameSettings.TRIANGLE_COL_COUNT); }; if (m_tri_modes[_local7].length != GameSettings.TRIANGLE_COL_COUNT){ m_tri_modes[_local7].length = GameSettings.TRIANGLE_COL_COUNT; }; _local7++; }; m_figureInfoSet = _arg2; } public function get time():uint{ return (m_time); } public function get bonus():uint{ return (m_bonus); } public function get blackFigurePercent():uint{ return (m_blackFigurePercent); } public function get figureColorCount():uint{ return (m_figureColorCount); } public function getFigureInfo(_arg1:int):FigureInfo{ var _local2:FigureInfo; for each (_local2 in m_figureInfoSet) { if (_local2.index == _arg1){ return (_local2); }; }; return (new FigureInfo(_arg1, Chains.MODE_NO_CHAIN)); } public function getTriMode(_arg1:int, _arg2:int):int{ return (m_tri_modes[_arg1][_arg2]); } } }//package main
Section 68
//LevelNumber (main.LevelNumber) package main { import flash.geom.*; import flash.text.*; public class LevelNumber extends BasicObject { public var m_text:TextField; public function LevelNumber(_arg1:uint, _arg2:Point){ m_text.text = ((GameSettings.LEVEL_NUMBER_TEXT + " ") + String(_arg1)); m_text.selectable = false; x = _arg2.x; y = _arg2.y; } } }//package main
Section 69
//LevelSound (main.LevelSound) package main { import flash.media.*; public dynamic class LevelSound extends Sound { } }//package main
Section 70
//Lightning (main.Lightning) package main { import flash.display.*; public dynamic class Lightning extends MovieClip { } }//package main
Section 71
//Lightning1Sound (main.Lightning1Sound) package main { import flash.media.*; public dynamic class Lightning1Sound extends Sound { } }//package main
Section 72
//LightningButton (main.LightningButton) package main { import flash.display.*; public class LightningButton extends MyButton { override protected function createAnimation(_arg1:int):MovieClip{ switch (_arg1){ case MyButton.MODE_NORMAL: return (new LightningMovieNormal()); case MyButton.MODE_OVER: return (new LightningMovieOver()); case MyButton.MODE_PRESSED: return (new LightningMoviePressed()); case MyButton.MODE_DISABLED: return (new LightningMovieDisabled()); }; return (null); } } }//package main
Section 73
//LightningEnd (main.LightningEnd) package main { import flash.display.*; public dynamic class LightningEnd extends MovieClip { } }//package main
Section 74
//LightningMovieDisabled (main.LightningMovieDisabled) package main { import flash.display.*; public dynamic class LightningMovieDisabled extends MovieClip { } }//package main
Section 75
//LightningMovieNormal (main.LightningMovieNormal) package main { import flash.display.*; public dynamic class LightningMovieNormal extends MovieClip { } }//package main
Section 76
//LightningMovieOver (main.LightningMovieOver) package main { import flash.display.*; public dynamic class LightningMovieOver extends MovieClip { } }//package main
Section 77
//LightningMoviePressed (main.LightningMoviePressed) package main { import flash.display.*; public dynamic class LightningMoviePressed extends MovieClip { } }//package main
Section 78
//Lock1 (main.Lock1) package main { import flash.display.*; public dynamic class Lock1 extends MovieClip { } }//package main
Section 79
//Lock2 (main.Lock2) package main { import flash.display.*; public dynamic class Lock2 extends MovieClip { } }//package main
Section 80
//Lock3 (main.Lock3) package main { import flash.display.*; public dynamic class Lock3 extends MovieClip { } }//package main
Section 81
//Lock4 (main.Lock4) package main { import flash.display.*; public dynamic class Lock4 extends MovieClip { } }//package main
Section 82
//Lock5 (main.Lock5) package main { import flash.display.*; public dynamic class Lock5 extends MovieClip { } }//package main
Section 83
//Lock6 (main.Lock6) package main { import flash.display.*; public dynamic class Lock6 extends MovieClip { } }//package main
Section 84
//Lock7 (main.Lock7) package main { import flash.display.*; public dynamic class Lock7 extends MovieClip { } }//package main
Section 85
//LockB1 (main.LockB1) package main { import flash.display.*; public dynamic class LockB1 extends MovieClip { } }//package main
Section 86
//LockB2 (main.LockB2) package main { import flash.display.*; public dynamic class LockB2 extends MovieClip { } }//package main
Section 87
//Locks (main.Locks) package main { import flash.display.*; public class Locks extends ObjectManager { public static const MODE_LOCK = 2; public static const MODE_COLOR_LOCK_6 = 12; public static const MODE_NO_LOCK = 1; public static const MODE_COLOR_LOCK_1 = 7; public static const MODE_COLOR_LOCK_2 = 8; public static const MODE_COLOR_LOCK_3 = 9; public static const MODE_COLOR_LOCK_4 = 10; public static const MODE_COLOR_LOCK_5 = 11; public static const MODE_COLOR_LOCK_7 = 13; public static const MODE_DOUBLE_LOCK = 3; override protected function createAnimation(_arg1:int):MovieClip{ switch (_arg1){ case MODE_LOCK: return (new LockB1()); case MODE_DOUBLE_LOCK: return (new LockB2()); case MODE_COLOR_LOCK_1: return (new Lock1()); case MODE_COLOR_LOCK_2: return (new Lock2()); case MODE_COLOR_LOCK_3: return (new Lock3()); case MODE_COLOR_LOCK_4: return (new Lock4()); case MODE_COLOR_LOCK_5: return (new Lock5()); case MODE_COLOR_LOCK_6: return (new Lock6()); case MODE_COLOR_LOCK_7: return (new Lock7()); }; return (null); } } }//package main
Section 88
//MainClass (main.MainClass) package main { import flash.display.*; import flash.events.*; public class MainClass extends MovieClip { public var m_preloaderMov:preloader; public function MainClass(){ gotoAndStop(1); m_preloaderMov.addEventListener(preloader.LOAD_COMPLETE, doOnLoadComplete); stage.scaleMode = StageScaleMode.NO_SCALE; } private function doOnLoadComplete(_arg1:Event){ m_preloaderMov.removeEventListener(preloader.LOAD_COMPLETE, doOnLoadComplete); gotoAndStop(5); } } }//package main
Section 89
//MainMenuWindow (main.MainMenuWindow) package main { import flash.events.*; import flash.geom.*; import flash.net.*; import flash.media.*; import flash.display.*; public class MainMenuWindow extends MovieClip { public var m_newGameBtn:SimpleButton; private var m_cursor:Cursor; public var m_helpBtn:SimpleButton; public var m_url1Btn:SimpleButton; private var m_menuSoundChannel:SoundChannel; private var m_menuSound:MenuSound; public var m_url2Btn_2:SimpleButton; public var m_url2Btn:SimpleButton; public function MainMenuWindow(_arg1:Cursor){ m_menuSound = new MenuSound(); super(); m_cursor = _arg1; m_newGameBtn.addEventListener(MouseEvent.CLICK, onNewGameBtnClick); m_helpBtn.addEventListener(MouseEvent.CLICK, onHelpBtnClick); m_url1Btn.addEventListener(MouseEvent.CLICK, onURL1BtnClick); m_url2Btn.addEventListener(MouseEvent.CLICK, onURL2BtnClick); m_url2Btn_2.addEventListener(MouseEvent.CLICK, onURL2BtnClick); if (Game.musicOn){ m_menuSoundChannel = m_menuSound.play(0, 1000000); }; } private function onHelpClose(_arg1:Event):void{ var _local2:*; _local2 = HelpWindow(_arg1.target); _local2.removeEventListener(MyWindow.ON_CLOSE, onHelpClose); removeChild(_local2); } private function onHelpBtnClick(_arg1:Event):void{ var _local2:*; if (Game.soundOn){ new Button1Sound().play(); }; _local2 = new HelpWindow(new Point(0, 0)); _local2.addEventListener(MyWindow.ON_CLOSE, onHelpClose); addChild(_local2); } private function onNewGameBtnClick(_arg1:Event):void{ var _local2:Game; var _local3:Point; m_menuSoundChannel.stop(); if (Game.soundOn){ new Button1Sound().play(); }; _local2 = new Game(m_cursor); _local2.addEventListener(Game.GAME_END, onEndGame); _local3 = globalToLocal(new Point(0, 0)); _local2.x = _local3.x; _local2.y = _local3.y; addChild(_local2); } private function onEndGame(_arg1:Event):void{ var _local2:Game; _local2 = Game(_arg1.target); _local2.removeEventListener(Game.GAME_END, onEndGame); removeChild(_local2); if (Game.musicOn){ m_menuSoundChannel = m_menuSound.play(0, 1000000); }; } private function onURL1BtnClick(_arg1:Event):void{ var url:String; var request:URLRequest; var event = _arg1; if (Game.soundOn){ new Button1Sound().play(); }; url = GameSettings.DOWNLOAD_URL; request = new URLRequest(url); try { navigateToURL(request, "_blank"); } catch(e:Error) { trace("Error occurred!"); }; } private function onURL2BtnClick(_arg1:Event):void{ var url:String; var request:URLRequest; var event = _arg1; if (Game.soundOn){ new Button1Sound().play(); }; url = GameSettings.MORE_GAME_URL; request = new URLRequest(url); try { navigateToURL(request, "_blank"); } catch(e:Error) { trace("Error occurred!"); }; } } }//package main
Section 90
//MenuBackgroundWindow (main.MenuBackgroundWindow) package main { import flash.geom.*; public class MenuBackgroundWindow extends MyWindow { public function MenuBackgroundWindow(_arg1:Point){ super(_arg1, false); } } }//package main
Section 91
//MenuSound (main.MenuSound) package main { import flash.media.*; public dynamic class MenuSound extends Sound { } }//package main
Section 92
//MoveEvent (main.MoveEvent) package main { import flash.geom.*; import flash.events.*; public class MoveEvent extends Event { private var m_stopPoint:Point; private var m_startPoint:Point; private var m_speed:Number; public function MoveEvent(_arg1:String, _arg2:Point, _arg3:Point, _arg4:Number, _arg5:Boolean=false, _arg6:Boolean=false){ super(_arg1, _arg5, _arg6); m_startPoint = new Point(_arg2.x, _arg2.y); m_stopPoint = new Point(_arg3.x, _arg3.y); m_speed = _arg4; } public function get startPoint():Point{ return (m_startPoint); } public function get speed():Number{ return (m_speed); } public function get stopPoint():Point{ return (m_stopPoint); } } }//package main
Section 93
//MusicPlayer (main.MusicPlayer) package main { import flash.media.*; import flash.events.*; import flash.utils.*; public class MusicPlayer { private var m_soundChannel:SoundChannel;// = null private var m_dec_volume:Number; private var m_soundChannelPosition:Number;// = 0 private var m_stopTimer:Timer; private var m_soundTransform:SoundTransform;// = null private var m_sound:Sound; public function MusicPlayer(_arg1:Sound){ m_soundChannel = null; m_soundTransform = null; m_soundChannelPosition = 0; super(); m_soundTransform = new SoundTransform(1); m_sound = _arg1; } public function get soundChannel():SoundChannel{ return (m_soundChannel); } public function stop(_arg1:uint, _arg2:Function):Boolean{ if (!(m_soundChannel)){ return (true); }; if (_arg1 == 0){ m_soundChannel.stop(); m_soundChannel = null; return (true); }; m_stopTimer = new Timer(100, (_arg1 / 100)); m_dec_volume = (m_soundTransform.volume / m_stopTimer.repeatCount); m_stopTimer.addEventListener(TimerEvent.TIMER, stopTimerHandler); m_stopTimer.addEventListener(TimerEvent.TIMER_COMPLETE, stopTimerComplete); if (_arg2 != null){ m_stopTimer.addEventListener(TimerEvent.TIMER_COMPLETE, _arg2); }; m_stopTimer.start(); return (false); } private function stopTimerComplete(_arg1:Event){ m_stopTimer.removeEventListener(TimerEvent.TIMER, stopTimerHandler); m_stopTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, stopTimerComplete); m_stopTimer = null; if (m_soundChannel){ m_soundChannel.stop(); }; m_soundChannel = null; m_soundTransform.volume = 1; } public function pause(){ if (m_soundChannel){ m_soundChannelPosition = m_soundChannel.position; m_soundChannel.stop(); m_soundChannel = null; } else { m_soundChannelPosition = 0; }; } public function play(){ m_soundChannel = m_sound.play(m_soundChannelPosition); m_soundChannel.soundTransform = m_soundTransform; m_soundChannel.addEventListener(Event.SOUND_COMPLETE, playSoundComplete); } private function playSoundComplete(_arg1:Event){ m_soundChannel.removeEventListener(Event.SOUND_COMPLETE, playSoundComplete); m_soundChannel = m_sound.play(); m_soundChannel.soundTransform = m_soundTransform; m_soundChannel.addEventListener(Event.SOUND_COMPLETE, playSoundComplete); } private function stopTimerHandler(_arg1:Event){ m_soundTransform.volume = (m_soundTransform.volume - m_dec_volume); if (m_soundChannel){ m_soundChannel.soundTransform = m_soundTransform; }; } } }//package main
Section 94
//MyButton (main.MyButton) package main { import flash.events.*; public class MyButton extends ObjectManager2 { private var m_i:int;// = 0 public static const MODE_NORMAL = 1; public static const MODE_PRESSED = 3; public static const MODE_OVER = 2; public static const MODE_DISABLED = 4; public static const BUTTON_CLICK = "buttonClick"; public static const DISABLED_BUTTON_CLICK = "disabledButtonClick"; public function MyButton(){ m_i = 0; super(); gotoAndStop(2); mode = MODE_NORMAL; addEventListener(MouseEvent.MOUSE_MOVE, OnMouseMove); addEventListener(MouseEvent.MOUSE_OUT, OnMouseOut); addEventListener(MouseEvent.MOUSE_DOWN, OnMouseDown); addEventListener(MouseEvent.MOUSE_UP, OnMouseUp); } private function OnMouseUp(_arg1:MouseEvent):void{ if (mode == MODE_DISABLED){ dispatchEvent(new Event(DISABLED_BUTTON_CLICK)); } else { mode = MODE_OVER; dispatchEvent(new Event(BUTTON_CLICK)); }; } private function OnMouseOut(_arg1:MouseEvent):void{ if (mode == MODE_DISABLED){ return; }; mode = MODE_NORMAL; trace(("out" + m_i++)); } private function OnMouseDown(_arg1:MouseEvent):void{ if (mode == MODE_DISABLED){ return; }; mode = MODE_PRESSED; } private function OnMouseMove(_arg1:MouseEvent):void{ if (mode == MODE_DISABLED){ return; }; mode = MODE_OVER; } } }//package main
Section 95
//MyLightning (main.MyLightning) package main { import flash.geom.*; import flash.events.*; import flash.display.*; public class MyLightning extends MovieClip { private var m_lightningEnd:LightningEnd; private var m_lightning:Lightning; public function MyLightning(_arg1:Point, _arg2:Point){ var _local3:Number; var _local4:Number; var _local5:Point; var _local6:Number; var _local7:Number; var _local8:Number; super(); m_lightning = new Lightning(); m_lightning.x = _arg1.x; m_lightning.y = _arg1.y; m_lightningEnd = new LightningEnd(); m_lightningEnd.x = _arg2.x; m_lightningEnd.y = _arg2.y; _local3 = Point.distance(_arg1, _arg2); _local4 = _local3; _local5 = new Point((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local6 = Math.asin((-(_local5.y) / Math.sqrt(((_local5.x * _local5.x) + (_local5.y * _local5.y))))); if (_local5.x < 0){ _local6 = (Math.PI - _local6); }; _local7 = ((180 * _local6) / Math.PI); _local8 = ((-180 * _local6) / Math.PI); m_lightning.width = _local4; m_lightning.rotation = _local8; addEventListener(Event.ENTER_FRAME, myOnEnterFrame); addChild(m_lightning); addChild(m_lightningEnd); } private function myOnEnterFrame(_arg1:Event){ if (((m_lightning) && ((m_lightning.currentFrame == m_lightning.totalFrames)))){ if (parent){ parent.removeChild(this); }; addEventListener(Event.ENTER_FRAME, myOnEnterFrame); }; } } }//package main
Section 96
//MyTipPointer (main.MyTipPointer) package main { import flash.geom.*; import flash.display.*; public class MyTipPointer extends MovieClip { private var m_tipPointer:TipPointer; public function MyTipPointer(_arg1:Point, _arg2:Point){ var _local3:Point; var _local4:Number; var _local5:Number; var _local6:Number; super(); m_tipPointer = new TipPointer(); m_tipPointer.x = _arg1.x; m_tipPointer.y = _arg1.y; _local3 = new Point((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local4 = Math.asin((-(_local3.y) / Math.sqrt(((_local3.x * _local3.x) + (_local3.y * _local3.y))))); if (_local3.x < 0){ _local4 = (Math.PI - _local4); }; _local5 = ((180 * _local4) / Math.PI); _local6 = ((-180 * _local4) / Math.PI); m_tipPointer.rotation = _local6; addChild(m_tipPointer); } } }//package main
Section 97
//MyWindow (main.MyWindow) package main { import flash.events.*; import flash.geom.*; import flash.display.*; public class MyWindow extends MovieClip { public static const ON_CLOSE = "onCloseWindow"; public function MyWindow(_arg1:Point, _arg2:Boolean=true){ x = _arg1.x; y = _arg1.y; if (_arg2){ addEventListener(MouseEvent.CLICK, OnMouseClick); }; } private function OnMouseClick(_arg1:MouseEvent){ dispatchEvent(new Event(ON_CLOSE)); } } }//package main
Section 98
//NoSound (main.NoSound) package main { import flash.media.*; public dynamic class NoSound extends Sound { } }//package main
Section 99
//ObjectManager (main.ObjectManager) package main { import flash.events.*; import flash.display.*; public class ObjectManager extends MovieClip { private var m_mode:int; private var m_animationClip:MovieClip; public static const AFTER_MODE_UPDATE = "AfterModeUpdate"; public function set mode(_arg1:int):void{ if (m_mode == _arg1){ return; }; if (m_animationClip){ m_animationClip.gotoAndPlay(2); }; m_mode = _arg1; addEventListener(Event.ENTER_FRAME, OnModeUpdate); } private function OnModeUpdate(_arg1:Event){ if (((!(m_animationClip)) || (((m_animationClip) && ((m_animationClip.currentFrame == m_animationClip.totalFrames)))))){ if (m_animationClip){ m_animationClip.stop(); removeChild(m_animationClip); m_animationClip = null; }; removeEventListener(Event.ENTER_FRAME, OnModeUpdate); m_animationClip = createAnimation(m_mode); if (m_animationClip){ m_animationClip.gotoAndStop(1); addChild(m_animationClip); }; dispatchEvent(new Event(AFTER_MODE_UPDATE)); }; } public function get mode():int{ return (m_mode); } protected function createAnimation(_arg1:int):MovieClip{ return (null); } } }//package main
Section 100
//ObjectManager2 (main.ObjectManager2) package main { import flash.display.*; import flash.events.*; public class ObjectManager2 extends MovieClip { private var m_animationMode:uint;// = 1 private var m_mode:int; private var m_animationClip:MovieClip; public static const CHANGE_MODE_FINISH = "ChangeModeFinish"; public static const ANIMATION_STOP_ON_LAST_CADR = 1; public static const ANIMATION_CYCLE = 2; public function ObjectManager2(){ m_animationMode = 1; super(); } protected function get animationClip():MovieClip{ return (m_animationClip); } public function set mode(_arg1:int):void{ if (m_mode == _arg1){ return; }; if (m_animationClip){ m_animationClip.stop(); removeChild(m_animationClip); m_animationClip = null; }; m_mode = _arg1; m_animationClip = createAnimation(m_mode); m_animationMode = getAnimationMode(); if (m_animationClip){ addChild(m_animationClip); m_animationClip.play(); }; addEventListener(Event.ENTER_FRAME, OnModeUpdate); } protected function getAnimationMode():uint{ return (ANIMATION_STOP_ON_LAST_CADR); } private function OnModeUpdate(_arg1:Event){ if (m_animationClip){ if ((((m_animationClip.currentFrame == m_animationClip.totalFrames)) && ((m_animationMode == ANIMATION_STOP_ON_LAST_CADR)))){ m_animationClip.stop(); removeEventListener(Event.ENTER_FRAME, OnModeUpdate); dispatchEvent(new Event(CHANGE_MODE_FINISH)); } else { if (Game.gamePause){ m_animationClip.stop(); } else { m_animationClip.play(); }; }; } else { removeEventListener(Event.ENTER_FRAME, OnModeUpdate); }; } public function get mode():int{ return (m_mode); } protected function createAnimation(_arg1:int):MovieClip{ return (null); } } }//package main
Section 101
//PlayingField (main.PlayingField) package main { import flash.geom.*; import flash.utils.*; import flash.events.*; import flash.media.*; import flash.display.*; public class PlayingField extends MovieClip { private var m_triangles:Array; private var m_blackFigureTryCount:uint; private var m_rotate_wrong_sound:Sound; private var m_mode:int;// = 1 private var m_figures:Array; private var m_trianglesCount:uint; private var m_levelScore:uint; private var m_playerMoveIterate:uint; private var m_levelBeginSound:Sound; private var m_clickComboCoeff:uint; private var m_rowCount:int;// = 11 private var m_levelNumberText:LevelNumber; private var m_figurePlaces:Array; private var m_levelInfo:LevelInfo; private var m_colCount:int;// = 8 private var m_levelNumber:int; private var m_levelBeginSoundChannel:SoundChannel; private var m_movedfpSet:Array; private var m_playerMoveScore:uint; private var m_movingFigures:Array; private var m_rotate_sound:Sound; private var m_rotatedTriangle:Triangle; private var m_figurePlaceCount:uint; private var m_timers:Array; private var m_triTimer:Timer; private var m_figureTimer:Timer; public static const MODE_LOADING = 1; public static const MODE_NORMAL = 2; public static const ON_PLAYER_MOVE_END = "onPlayerMoveEnd"; public static const ON_FIGURE_CHAIN_APPEAR = "onFigureChainAppear"; public static const ON_BLACK_FIGURE_APPEAR = "onBlackFigureAppear"; public static const ON_TRIANGLE_LOCK_APPEAR = "onTriangleLockAppear"; public static const MODE_COMPLETE = 4; public static const ON_TRIANGLE_COLOR_LOCK_APPEAR = "onTriangleColorLockAppear"; public static const ON_PLAYER_MOVE_START = "onPlayerMoveStart"; public static const ON_FIGURE_DOUBLE_CHAIN_APPEAR = "onFigureDoubleChainAppear"; public static const ON_BOMB_USE = "onBombUse"; public static const ON_MODE_CHANGE = "onModeChange"; public static const ON_TRIANGLE_DOUBLE_LOCK_APPEAR = "onTriangleDoubleLockAppear"; public static const LEVEL_COMPLETE = "levelComplete"; public static const LOAD_COMPLETE = "loadComplete"; public static const ON_SCORE_CHANGE = "onScoreChange"; public static const MODE_BOMB = 3; public function PlayingField(_arg1:LevelInfo, _arg2:int){ var _local3:Triangle; var _local4:Boolean; var _local5:Point; var _local6:int; var _local7:int; var _local8:Array; var _local9:Array; var _local10:FigurePlace; var _local11:Array; var _local12:Array; var _local13:Boolean; var _local14:int; var _local15:int; var _local16:int; var _local17:*; var _local18:uint; m_mode = MODE_LOADING; m_rowCount = GameSettings.TRIANGLE_ROW_COUNT; m_colCount = GameSettings.TRIANGLE_COL_COUNT; m_timers = new Array(); m_rotate_sound = new RotateSound(); m_rotate_wrong_sound = new RotateWrongSound(); super(); _local5 = new Point(0, 0); m_levelInfo = _arg1; m_levelNumber = _arg2; m_movingFigures = new Array(); m_movedfpSet = new Array(); m_figures = new Array(); m_triangles = new Array(); _local7 = 0; while (_local7 < m_rowCount) { if ((_local7 % 2) == 0){ _local5.y = (((_local7 / 2) * Triangle.triHeight) + (Triangle.triHeight / 2)); _local4 = false; } else { _local5.y = Math.floor((((_local7 / 2) + 0.5) * Triangle.triHeight)); _local4 = true; }; m_triangles[_local7] = new Array(); _local14 = 0; while (_local14 < m_colCount) { _local6 = _arg1.getTriMode(_local7, _local14); if (_local6 > 0){ m_trianglesCount++; _local5.x = ((_local14 * Triangle.triWidth) + (Triangle.triWidth / 2)); _local3 = new Triangle(_local5, _local4, _local7, _local14, _local6); _local3.addEventListener(Triangle.ON_GOLD_TRIANGLE, onGoldTriangle); m_triangles[_local7][_local14] = _local3; }; _local4 = !(_local4); _local14++; }; _local7++; }; m_triTimer = new Timer(GameSettings.DROP_TRIANGLE_DELAY, m_trianglesCount); m_triTimer.addEventListener(TimerEvent.TIMER, onTriTimer); m_triTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTriTimerComplete); m_triTimer.start(); m_levelNumberText = new LevelNumber(_arg2, new Point((width / 2), (height / 2))); addChild(m_levelNumberText); m_levelBeginSound = new LevelBegin1Sound(); new SoundPlayer(new LevelBegin1Sound()); m_figurePlaces = new Array(); _local7 = 0; while (_local7 < (m_rowCount + 2)) { _local5.y = ((_local7 * Triangle.triHeight) / 2); if ((_local7 % 2) == 0){ _local15 = 5; } else { _local15 = 4; }; m_figurePlaces[_local7] = new Array(_local15); _local14 = 0; while (_local14 < _local15) { if ((_local7 % 2) == 0){ _local5.x = ((_local14 * Triangle.triWidth) * 2); } else { _local5.x = (Triangle.triWidth + ((_local14 * Triangle.triWidth) * 2)); }; addChild(new FigurePlace(m_figurePlaces, _local7, _local14, _local5)); _local14++; }; _local7++; }; _local9 = new Array(); m_figurePlaceCount = 0; _local7 = 0; while (_local7 < m_rowCount) { _local14 = 0; while (_local14 < m_colCount) { _local3 = m_triangles[_local7][_local14]; if (_local3){ _local8 = getFigurePlacesByTriangle(_local3); for each (_local10 in _local8) { if (_local9.indexOf(_local10) < 0){ _local9.push(_local10); m_figurePlaceCount++; }; }; }; _local14++; }; _local7++; }; _local9 = null; _local13 = false; _local7 = 0; while (_local7 < m_rowCount) { _local14 = 0; while (_local14 < m_colCount) { _local3 = m_triangles[_local7][_local14]; if (_local3){ _local8 = getFigurePlacesByTriangle(_local3); _local16 = 0; while (_local16 < _local8.length) { _local10 = _local8[_local16]; if (!(_local10.figure)){ createFigure(_local10); if (figureCount(_local3) == 3){ _local12 = trianglesByFigurePlace(_local10); do { _local13 = false; for each (_local17 in _local12) { if (figureCount(_local17) < 3){ } else { _local11 = getTriangleFigureColors(_local17); while (_local11.length == 1) { _local10.figure.randomFrame(); _local11 = getTriangleFigureColors(_local17); _local13 = true; }; }; }; } while (_local13); }; }; _local16++; }; switch (_local3.mode){ case Triangle.MODE_COLOR_LOCK_A: case Triangle.MODE_COLOR_LOCK_B: case Triangle.MODE_COLOR_LOCK_C: _local10 = _local8[(_local3.mode - Triangle.MODE_COLOR_LOCK_A)]; if (_local10.figure.black){ _local18 = 1; } else { _local18 = _local10.figure.figureIndex; }; _local3.mode = ((_local18 - 1) + Triangle.MODE_COLOR_LOCK_1); }; }; _local14++; }; _local7++; }; _local7 = (m_figurePlaces.length - 1); while (_local7 >= 0) { _local14 = (m_figurePlaces[_local7].length - 1); while (_local14 >= 0) { _local10 = m_figurePlaces[_local7][_local14]; if (_local10.figure){ _local10.figure.x = (_local10.figure.x + 1); } else { delete m_figurePlaces[_local7][_local14]; }; _local14--; }; _local7--; }; m_figureTimer = new Timer(GameSettings.DROP_FIGURE_DELAY, m_figures.length); m_figureTimer.addEventListener(TimerEvent.TIMER, onFigureTimer); } private function trianglesByFigurePlace(_arg1:FigurePlace):Array{ var push:Function; var triangles:Array; var k:int; var i:int; var fp = _arg1; push = function (_arg1:Array, _arg2:int, _arg3:int){ if ((((((((((_arg2 >= 0)) && ((_arg2 < m_triangles.length)))) && ((_arg3 >= 0)))) && ((_arg3 < m_triangles[_arg2].length)))) && (m_triangles[_arg2][_arg3]))){ _arg1.push(m_triangles[_arg2][_arg3]); }; }; triangles = new Array(); k = ((m_figurePlaces[fp.row].length)==5) ? -1 : 1; i = 0; while (i < 3) { push(triangles, (fp.row - i), (fp.col * 2)); push(triangles, (fp.row - i), ((fp.col * 2) + k)); i = (i + 1); }; return (triangles); } private function OnBombMouseClick(_arg1:MouseEvent):void{ var _local2:Triangle; if (mode != MODE_BOMB){ removeEventListener(MouseEvent.CLICK, OnBombMouseClick); return; }; _local2 = getTriangleByPoint(new Point(_arg1.stageX, _arg1.stageY)); if (_local2){ blowTriangles(new Array(_local2)); if (Game.soundOn){ new Boom1Sound().play(); }; dispatchEvent(new Event(ON_BOMB_USE)); mode = MODE_NORMAL; }; } private function onGoldTriangle(_arg1:Event){ dispatchEvent(new Event(Triangle.ON_GOLD_TRIANGLE)); if (goldTriangleCount >= m_trianglesCount){ mode = MODE_COMPLETE; }; } private function getTriangleFigureColors(_arg1:Triangle):Array{ var _local2:Array; var _local3:Array; var _local4:FigurePlace; _local2 = new Array(); _local3 = getFigurePlacesByTriangle(_arg1); for each (_local4 in _local3) { if (_local4.figure){ if (_local2.indexOf(_local4.figure.figureIndex) < 0){ _local2.push(_local4.figure.figureIndex); }; }; }; return (_local2); } private function triangleHaveBlackFigure(_arg1:Triangle){ var _local2:Array; var _local3:FigurePlace; _local2 = getFigurePlacesByTriangle(_arg1); for each (_local3 in _local2) { if (((_local3.figure) && (_local3.figure.black))){ return (true); }; }; return (false); } private function getTriangleByPoint(_arg1:Point):Triangle{ var _local2:int; var _local3:int; var _local4:Triangle; _local2 = 0; while (_local2 < m_rowCount) { _local3 = 0; while (_local3 < m_colCount) { _local4 = Triangle(m_triangles[_local2][_local3]); if (((_local4) && (_local4.PointInTriangle(_local4.globalToLocal(_arg1))))){ return (_local4); }; _local3++; }; _local2++; }; return (null); } private function neighboringFigurePlaces(_arg1:FigurePlace){ var _local2:Array; var _local3:Array; var _local4:Triangle; var _local5:Array; var _local6:FigurePlace; _local2 = new Array(); _local2.push(_arg1); _local3 = trianglesByFigurePlace(_arg1); for each (_local4 in _local3) { _local5 = getFigurePlacesByTriangle(_local4); for each (_local6 in _local5) { if (_local2.indexOf(_local6) < 0){ _local2.push(_local6); }; }; }; _local2.shift(); return (_local2); } public function getMode():int{ return (m_mode); } private function waitForLevelComplete(_arg1:Event){ if (m_movingFigures.length == 0){ removeEventListener(Event.ENTER_FRAME, waitForLevelComplete); dispatchEvent(new Event(LEVEL_COMPLETE)); }; } function dropFigures(_arg1:int){ var _local2:FigurePlace; var _local3:Figure; var _local4:int; var _local5:int; var _local6:int; _local5 = (m_figurePlaces.length - 1); while (_local5 >= 0) { _local6 = 0; while (_local6 < m_figurePlaces[_local5].length) { _local2 = m_figurePlaces[_local5][_local6]; if (((_local2) && (!(_local2.figure)))){ ++_local4; if (_local4 > _arg1){ throw (new Error("Кол-во добавленных фигур больше кол-ва удалённых")); }; createFigure(_local2); dropObject(_local2.point, _local2.figure, GameSettings.FALL_SPEED); }; _local6++; }; _local5--; }; if (_local4 != _arg1){ throw (new Error("Кол-во добавленных фигур не равно кол-ву удалённых")); }; } public function cancelBomb(){ if (mode == MODE_BOMB){ mode = MODE_NORMAL; }; } function startFigureFall(_arg1:int){ var getFigureForPlace:Function; var f:Figure; var points:Array; var fp:FigurePlace; var i = _arg1; getFigureForPlace = function (_arg1:FigurePlace, _arg2:Array):Figure{ var _local3:Array; var _local4:FigurePlace; var _local5:FigurePlace; var _local6:FigurePlace; var _local7:Figure; _local3 = getUpperFigurePlaces(_arg1); _local4 = _local3[1]; if (_local4){ if (((((_local4.figure) && (!((_local4.mode == Chains.MODE_CHAIN))))) && (!((_local4.mode == Chains.MODE_DOUBLE_CHAIN))))){ _arg2.push(new Point(_arg1.point.x, _arg1.point.y)); return (_local4.figure); }; if (!(_local4.figure)){ _local7 = getFigureForPlace(_local4, _arg2); if (_local7){ _arg2.push(new Point(_arg1.point.x, _arg1.point.y)); return (_local7); }; }; }; _local4 = _local3[0]; if (((((((_local4) && (_local4.figure))) && (!((_local4.mode == Chains.MODE_CHAIN))))) && (!((_local4.mode == Chains.MODE_DOUBLE_CHAIN))))){ _arg2.push(new Point(_arg1.point.x, _arg1.point.y)); return (_local4.figure); }; _local4 = _local3[2]; if (((((((_local4) && (_local4.figure))) && (!((_local4.mode == Chains.MODE_CHAIN))))) && (!((_local4.mode == Chains.MODE_DOUBLE_CHAIN))))){ _arg2.push(new Point(_arg1.point.x, _arg1.point.y)); return (_local4.figure); }; _local4 = _local3[0]; if (((_local4) && (!(_local4.figure)))){ _local7 = getFigureForPlace(_local4, _arg2); if (_local7){ _arg2.push(new Point(_arg1.point.x, _arg1.point.y)); return (_local7); }; }; _local4 = _local3[2]; if (((_local4) && (!(_local4.figure)))){ _local7 = getFigureForPlace(_local4, _arg2); if (_local7){ _arg2.push(new Point(_arg1.point.x, _arg1.point.y)); return (_local7); }; }; return (null); }; points = new Array(); for each (fp in m_figurePlaces[i]) { if (((!(fp)) || (fp.figure))){ } else { points.length = 0; f = getFigureForPlace(fp, points); if (f){ f.moveToPoints(points, GameSettings.FALL_SPEED); fp.figure = f; }; }; }; } private function OnFigureMoveStart(_arg1:MoveEvent){ var _local2:Figure; var _local3:FigurePlace; if ((((m_movingFigures.length == 0)) && (!((mode == MODE_LOADING))))){ dispatchEvent(new Event(ON_PLAYER_MOVE_START)); }; _local2 = Figure(_arg1.currentTarget); if (m_movingFigures.indexOf(_local2) < 0){ m_movingFigures.push(_local2); }; _local3 = findFigurePlace(_arg1.startPoint); if (_local3){ _local3.figure = null; }; changeActiveTriangle(null); } private function figureCount(_arg1:Triangle):int{ var _local2:Array; var _local3:int; var _local4:FigurePlace; _local2 = getFigurePlacesByTriangle(_arg1); _local3 = 0; for each (_local4 in _local2) { if (_local4.figure){ _local3++; }; }; return (_local3); } public function bomb(){ mode = MODE_BOMB; } public function gameContinue(){ var _local1:Timer; for each (_local1 in m_timers) { _local1.start(); }; m_timers.length = 0; } private function onBombMouseMoveProcess(_arg1:Event){ activateTriangleByPoint(localToGlobal(new Point(mouseX, mouseY))); } private function updateChildIndex(){ var _local1:uint; var _local2:int; var _local3:int; var _local4:Triangle; var _local5:FigurePlace; _local1 = 0; _local2 = 0; while (_local2 < m_triangles.length) { _local3 = 0; while (_local3 < m_triangles[_local2].length) { _local4 = m_triangles[_local2][_local3]; if (((_local4) && (contains(_local4)))){ setChildIndex(_local4, 1); }; _local3++; }; _local2++; }; _local2 = 0; while (_local2 < m_figurePlaces.length) { _local3 = 0; while (_local3 < m_figurePlaces[_local2].length) { _local5 = m_figurePlaces[_local2][_local3]; if (((_local5) && (contains(_local5)))){ setChildIndex(_local5, (numChildren - 1)); }; _local3++; }; _local2++; }; } public function lightning(_arg1:Point){ var _local2:Triangle; _local2 = getTriangleByPoint(_arg1); if (_local2){ _local2.mode = Triangle.MODE_GOLD; }; } function getMaxRow(_arg1:Array){ var _local2:int; var _local3:FigurePlace; _local2 = -1; for each (_local3 in _arg1) { if (_local3.row > _local2){ _local2 = _local3.row; }; }; return (_local2); } private function leftAndRightTrianglesByFigurePlace(_arg1:FigurePlace):Array{ var push:Function; var triangles:Array; var k:int; var fp = _arg1; push = function (_arg1:Array, _arg2:int, _arg3:int){ if ((((((((((_arg2 >= 0)) && ((_arg2 < m_triangles.length)))) && ((_arg3 >= 0)))) && ((_arg3 < m_triangles[_arg2].length)))) && (m_triangles[_arg2][_arg3]))){ _arg1.push(m_triangles[_arg2][_arg3]); }; }; triangles = new Array(); k = ((m_figurePlaces[fp.row].length)==5) ? -1 : 1; push(triangles, (fp.row - 1), (fp.col * 2)); push(triangles, (fp.row - 1), ((fp.col * 2) + k)); return (triangles); } private function OnMouseMove(_arg1:MouseEvent):void{ if (m_movingFigures.length){ return; }; activateTriangleByPoint(new Point(_arg1.stageX, _arg1.stageY)); } private function activateTriangleByPoint(_arg1:Point){ var _local2:Triangle; _local2 = getTriangleByPoint(_arg1); changeActiveTriangle(_local2); } private function getFigurePlacesByTriangle(_arg1:Triangle):Array{ var _local2:Array; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; _local2 = new Array(3); _local6 = 0; _local7 = 1; _local8 = 2; if ((_arg1.row % 2) == 0){ _local3 = ((_arg1.col + 1) / 2); _local4 = (_arg1.col / 2); } else { _local3 = (_arg1.col / 2); _local4 = ((_arg1.col + 1) / 2); }; _local5 = _local3; if (!(_arg1.isLeft)){ _local7 = 2; _local8 = 1; }; _local2[_local6] = m_figurePlaces[_arg1.row][_local3]; _local2[_local7] = m_figurePlaces[(_arg1.row + 1)][_local4]; _local2[_local8] = m_figurePlaces[(_arg1.row + 2)][_local5]; return (_local2); } private function addLevelScore(_arg1:uint, _arg2:Point, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:Array){ var _local7:Array; var _local8:FigurePlace; _local7 = new Array(); for each (_local8 in _arg6) { _local7.push(localToGlobal(_local8.point)); }; m_levelScore = (m_levelScore + _arg1); if ((((_arg4 > 1)) && ((_arg5 > 1)))){ throw (new Error("Комбо и клик-комбо не могут быть одновременно!")); }; dispatchEvent(new ScoreEvent(ON_SCORE_CHANGE, _arg2, _arg1, _arg3, _arg4, _arg5, _local7)); } public function shuffle(){ var _local1:Array; var _local2:FigurePlace; var _local3:FigurePlace; var _local4:uint; var _local5:uint; var _local6:uint; var _local7:int; var _local8:int; var _local9:int; var _local10:int; if ((((mode == MODE_LOADING)) || (m_movingFigures.length))){ return; }; m_clickComboCoeff = 1; _local1 = new Array(); _local7 = 0; while (_local7 < m_figurePlaces.length) { _local8 = 0; while (_local8 < m_figurePlaces[_local7].length) { _local2 = m_figurePlaces[_local7][_local8]; if (((((_local2) && (!((_local2.mode == Chains.MODE_CHAIN))))) && (!((_local2.mode == Chains.MODE_DOUBLE_CHAIN))))){ _local5++; }; _local8++; }; _local7++; }; _local7 = 0; while (_local7 < m_figurePlaces.length) { _local8 = 0; while (_local8 < m_figurePlaces[_local7].length) { _local2 = m_figurePlaces[_local7][_local8]; if (((((_local2) && (!((_local2.mode == Chains.MODE_CHAIN))))) && (!((_local2.mode == Chains.MODE_DOUBLE_CHAIN))))){ _local4 = (Math.floor((Math.random() * ((_local5 - _local1.length) - 1))) + 1); _local6 = 0; _local9 = 0; while (_local9 < m_figurePlaces.length) { _local10 = 0; while (_local10 < m_figurePlaces[_local9].length) { _local3 = m_figurePlaces[_local9][_local10]; if (((((((((_local3) && (!((_local3 == _local2))))) && ((_local1.indexOf(_local3) < 0)))) && (!((_local3.mode == Chains.MODE_CHAIN))))) && (!((_local3.mode == Chains.MODE_DOUBLE_CHAIN))))){ ++_local6; if (_local6 == _local4){ break; }; }; _local3 = null; _local10++; }; if (_local6 == _local4){ break; }; _local9++; }; if (((_local3) && (_local2.figure))){ _local1.push(_local3); _local2.figure.moveToPoint(_local3.point, GameSettings.SHUFFLE_SPEED); }; }; _local8++; }; _local7++; }; } private function getMatches(_arg1:Array):Array{ var _local2:Array; var _local3:Array; var _local4:Boolean; var _local5:FigurePlace; _local3 = new Array(); for each (_local5 in _arg1) { _local4 = false; for each (_local2 in _local3) { if (_local2.indexOf(_local5) >= 0){ _local4 = true; break; }; }; if (!(_local4)){ _local2 = sameFigurePlaces(_local5, _arg1); _local3.push(_local2); }; }; return (_local3); } private function changeActiveTriangle(_arg1:Triangle){ var _local2:Triangle; var _local3:Array; var _local4:FigurePlace; var _local5:Array; var _local6:int; var _local7:int; var _local8:Boolean; _local5 = new Array(); _local6 = 0; while (_local6 < m_figurePlaces.length) { _local7 = 0; while (_local7 < m_figurePlaces[_local6].length) { _local4 = m_figurePlaces[_local6][_local7]; if (((((_local4) && (_local4.figure))) && (_local4.figure.active))){ _local5.push(_local4); }; _local7++; }; _local6++; }; _local6 = 0; while (_local6 < m_rowCount) { _local7 = 0; while (_local7 < m_colCount) { _local2 = Triangle(m_triangles[_local6][_local7]); if (_local2){ if (_local2 == _arg1){ switch (mode){ case MODE_NORMAL: if (triangleHaveChain(_local2)){ _local2.state = Triangle.STATE_DISABLED; } else { _local2.state = Triangle.STATE_ACTIVE; }; break; case MODE_BOMB: _local2.state = Triangle.STATE_NORMAL; break; }; setChildIndex(_local2, ((1 + m_trianglesCount) - 1)); _local3 = getFigurePlacesByTriangle(_local2); _local8 = equalFigurePlaces(_local3, _local5); for each (_local4 in _local3) { if (_local4.figure){ if (!(_local8)){ _local4.figure.active = false; }; _local4.figure.active = true; if (mode == MODE_BOMB){ _local4.figure.tremble = true; }; }; }; } else { _local2.state = Triangle.STATE_NORMAL; }; }; _local7++; }; _local6++; }; _local6 = 0; while (_local6 < m_figurePlaces.length) { _local7 = 0; while (_local7 < m_figurePlaces[_local6].length) { _local4 = m_figurePlaces[_local6][_local7]; if (((_local4) && (_local4.figure))){ if (((!(_local3)) || (((_local3) && ((_local3.indexOf(_local4) < 0)))))){ _local4.figure.active = false; _local4.figure.tremble = false; }; }; _local7++; }; _local6++; }; } public function lightnings(_arg1:Array){ var _local2:Array; var _local3:Point; var _local4:Triangle; _local2 = new Array(); for each (_local3 in _arg1) { _local4 = getTriangleByPoint(_local3); if (_local4){ _local2.push(_local4); }; }; if (_local2.length){ blowTriangles(_local2); }; } private function dropObject(_arg1:Point, _arg2:BasicObject, _arg3:int):void{ var _local4:Point; _local4 = new Point(_arg1.x, _arg1.y); _local4.offset(GameSettings.DROP_OFFSETX, GameSettings.DROP_OFFSETY); _arg2.x = _local4.x; _arg2.y = _local4.y; _arg2.moveToPoint(_arg1, _arg3); addChild(_arg2); updateChildIndex(); } private function blackFigureCount():uint{ var _local1:uint; var _local2:Figure; _local1 = 0; for each (_local2 in m_figures) { if (_local2.black){ _local1++; }; }; return (_local1); } private function findFigurePlace(_arg1:Point):FigurePlace{ var _local2:FigurePlace; var _local3:int; var _local4:int; _local3 = 0; while (_local3 < m_figurePlaces.length) { _local4 = 0; while (_local4 < m_figurePlaces[_local3].length) { _local2 = m_figurePlaces[_local3][_local4]; if (((_local2) && (_local2.point.equals(_arg1)))){ return (_local2); }; _local4++; }; _local3++; }; return (null); } private function triangleHaveChain(_arg1:Triangle):Boolean{ var _local2:Array; var _local3:FigurePlace; _local2 = getFigurePlacesByTriangle(_arg1); for each (_local3 in _local2) { if (((_local3.figure) && ((((_local3.mode == Chains.MODE_CHAIN)) || ((_local3.mode == Chains.MODE_DOUBLE_CHAIN)))))){ return (true); }; }; return (false); } public function isPlayerMove():Boolean{ return ((m_movingFigures.length > 0)); } private function onTriangleLockAppear(_arg1:Event){ var _local2:Triangle; var _local3:String; _local2 = Triangle(_arg1.target); _local2.removeEventListener(CustomAlphaObject.ON_FINISH_ALPHA_CHANGE, onTriangleLockAppear); _local3 = null; switch (_local2.mode){ case Triangle.MODE_LOCK: _local3 = ON_TRIANGLE_LOCK_APPEAR; break; case Triangle.MODE_DOUBLE_LOCK: _local3 = ON_TRIANGLE_DOUBLE_LOCK_APPEAR; break; case Triangle.MODE_COLOR_LOCK_A: case Triangle.MODE_COLOR_LOCK_B: case Triangle.MODE_COLOR_LOCK_C: case Triangle.MODE_COLOR_LOCK_1: case Triangle.MODE_COLOR_LOCK_2: case Triangle.MODE_COLOR_LOCK_3: case Triangle.MODE_COLOR_LOCK_4: case Triangle.MODE_COLOR_LOCK_5: case Triangle.MODE_COLOR_LOCK_6: case Triangle.MODE_COLOR_LOCK_7: _local3 = ON_TRIANGLE_COLOR_LOCK_APPEAR; break; }; if (_local3 != null){ dispatchEvent(new TooltipEvent(_local3, _local2.localToGlobal(_local2.centerPoint))); }; } private function createFigure(_arg1:FigurePlace){ var _local2:Boolean; var _local3:uint; if (_arg1.figure){ throw (new Error("Ошибка при создании фигуры. Выбранное место уже содержит другую фигуру")); }; _local2 = false; _local3 = (Math.floor((Math.random() * 100)) + 1); if (((m_blackFigureTryCount) || ((_local3 <= (m_levelInfo.blackFigurePercent + 5))))){ if ((((((mode == MODE_LOADING)) && ((m_levelInfo.getFigureInfo(_arg1.index).mode == Chains.MODE_NO_CHAIN)))) || (((!((mode == MODE_LOADING))) && ((_arg1.mode == Chains.MODE_NO_CHAIN)))))){ if ((blackFigureCount() + 1) <= Math.floor(((m_figurePlaceCount * m_levelInfo.blackFigurePercent) / 100))){ _local2 = true; }; if (m_blackFigureTryCount){ m_blackFigureTryCount--; }; } else { m_blackFigureTryCount++; }; }; _arg1.figure = new Figure(_arg1.point, m_levelInfo.figureColorCount, _local2); m_figures.push(_arg1.figure); _arg1.figure.alpha = 0; _arg1.figure.addEventListener(BasicObject.MOVE_START, OnFigureMoveStart); _arg1.figure.addEventListener(BasicObject.MOVE_FINISH, OnFigureMoveFinish); } private function doOnLoadComplete(){ removeChild(m_levelNumberText); m_levelNumberText = null; updateChildIndex(); dispatchEvent(new Event(PlayingField.LOAD_COMPLETE)); } public function gamePause(){ if (((m_figureTimer) && (m_figureTimer.running))){ m_figureTimer.stop(); m_timers.push(m_figureTimer); }; if (((m_triTimer) && (m_triTimer.running))){ m_triTimer.stop(); m_timers.push(m_triTimer); }; } private function OnMouseClick(_arg1:MouseEvent):void{ var _local2:Triangle; var _local3:Array; var _local4:FigurePlace; var _local5:FigurePlace; var _local6:FigurePlace; var _local7:Vect; var _local8:Vect; var _local9:Vect; if (m_movingFigures.length){ return; }; if (_arg1.ctrlKey){ }; _local2 = getTriangleByPoint(new Point(_arg1.stageX, _arg1.stageY)); if (_local2){ _local3 = getFigurePlacesByTriangle(_local2); _local4 = _local3[0]; _local5 = _local3[1]; _local6 = _local3[2]; if (triangleHaveChain(_local2)){ _local7 = new Vect((_local5.point.x - _local4.point.x), (_local5.point.y - _local4.point.y)); _local7.mulScalar((GameSettings.PULL_OFFSET / _local7.magnitude())); _local8 = new Vect((_local6.point.x - _local5.point.x), (_local6.point.y - _local5.point.y)); _local8.mulScalar((GameSettings.PULL_OFFSET / _local8.magnitude())); _local9 = new Vect((_local4.point.x - _local6.point.x), (_local4.point.y - _local6.point.y)); _local9.mulScalar((GameSettings.PULL_OFFSET / _local9.magnitude())); if (Game.soundOn){ m_rotate_wrong_sound.play(); }; if (_local4.figure){ _local4.figure.pull(new Point((_local4.figure.x + _local7.x), (_local4.figure.y + _local7.y)), GameSettings.ROTATION_SPEED); }; if (_local5.figure){ _local5.figure.pull(new Point((_local5.figure.x + _local8.x), (_local5.figure.y + _local8.y)), GameSettings.ROTATION_SPEED); }; if (_local6.figure){ _local6.figure.pull(new Point((_local6.figure.x + _local9.x), (_local6.figure.y + _local9.y)), GameSettings.ROTATION_SPEED); }; } else { if (Game.soundOn){ m_rotate_sound.play(); }; if (_local4.figure){ _local4.figure.moveToPoint(new Point(_local5.point.x, _local5.point.y), GameSettings.ROTATION_SPEED); }; if (_local5.figure){ _local5.figure.moveToPoint(new Point(_local6.point.x, _local6.point.y), GameSettings.ROTATION_SPEED); }; if (_local6.figure){ _local6.figure.moveToPoint(new Point(_local4.point.x, _local4.point.y), GameSettings.ROTATION_SPEED); }; m_rotatedTriangle = _local2; }; }; } private function upperTrianglesByFigurePlace(_arg1:FigurePlace):Array{ var push:Function; var triangles:Array; var k:int; var fp = _arg1; push = function (_arg1:Array, _arg2:int, _arg3:int){ if ((((((((((_arg2 >= 0)) && ((_arg2 < m_triangles.length)))) && ((_arg3 >= 0)))) && ((_arg3 < m_triangles[_arg2].length)))) && (m_triangles[_arg2][_arg3]))){ _arg1.push(m_triangles[_arg2][_arg3]); }; }; triangles = new Array(); k = ((m_figurePlaces[fp.row].length)==5) ? -1 : 1; push(triangles, (fp.row - 2), (fp.col * 2)); push(triangles, (fp.row - 2), ((fp.col * 2) + k)); return (triangles); } private function getMatchCenter(_arg1:Array):Point{ var _local2:FigurePlace; var _local3:int; var _local4:int; var _local5:int; var _local6:int; _local2 = _arg1[0]; _local3 = _local2.point.x; _local4 = _local2.point.y; _local5 = _local2.point.x; _local6 = _local2.point.y; for each (_local2 in _arg1) { if (_local2.point.x < _local3){ _local3 = _local2.point.x; }; if (_local2.point.x > _local5){ _local5 = _local2.point.x; }; if (_local2.point.y < _local4){ _local4 = _local2.point.y; }; if (_local2.point.y > _local6){ _local6 = _local2.point.y; }; }; return (new Point((_local3 + ((_local5 - _local3) / 2)), (_local4 + ((_local6 - _local4) / 2)))); } private function set mode(_arg1:int){ if (m_mode == _arg1){ return; }; if (m_mode == MODE_COMPLETE){ return; }; if (m_mode == MODE_LOADING){ doOnLoadComplete(); }; m_mode = _arg1; removeEventListener(MouseEvent.CLICK, OnMouseClick); removeEventListener(MouseEvent.MOUSE_MOVE, OnMouseMove); removeEventListener(MouseEvent.CLICK, OnBombMouseClick); removeEventListener(Event.ENTER_FRAME, onBombMouseMoveProcess); removeEventListener(Event.ENTER_FRAME, waitForLevelComplete); switch (m_mode){ case MODE_NORMAL: addEventListener(MouseEvent.MOUSE_MOVE, OnMouseMove); addEventListener(MouseEvent.CLICK, OnMouseClick); break; case MODE_BOMB: addEventListener(MouseEvent.CLICK, OnBombMouseClick); addEventListener(Event.ENTER_FRAME, onBombMouseMoveProcess); break; case MODE_COMPLETE: addEventListener(Event.ENTER_FRAME, waitForLevelComplete); break; }; dispatchEvent(new Event(ON_MODE_CHANGE)); } private function onFigureTimer(_arg1:TimerEvent):void{ var _local2:int; var _local3:int; var _local4:FigurePlace; _local2 = (m_figurePlaces.length - 1); while (_local2 >= 0) { _local3 = (m_figurePlaces[_local2].length - 1); while (_local3 >= 0) { _local4 = m_figurePlaces[_local2][_local3]; if (((_local4) && (_local4.figure))){ if (((!(_local4.figure.moving)) && (!(_local4.point.equals(new Point(_local4.figure.x, _local4.figure.y)))))){ dropObject(_local4.point, _local4.figure, GameSettings.DROP_SPEED); setChildIndex(m_levelNumberText, (numChildren - 1)); return; }; }; _local3--; }; _local2--; }; } private function getUpperFigurePlaces(_arg1:FigurePlace):Array{ var _local2:Array; var _local3:Array; var _local4:Array; var _local5:Triangle; var _local6:Array; var _local7:int; _local2 = new Array(null, null, null); _local3 = upperTrianglesByFigurePlace(_arg1); _local4 = leftAndRightTrianglesByFigurePlace(_arg1); if (_local3.length){ _local5 = _local3[0]; _local6 = getFigurePlacesByTriangle(_local5); _local2[1] = _local6[0]; }; if (_local4.length){ for each (_local5 in _local4) { _local6 = getFigurePlacesByTriangle(_local5); _local7 = (_local5.isLeft) ? 2 : 0; _local2[_local7] = _local6[0]; }; }; return (_local2); } private function get goldTriangleCount():uint{ var _local1:uint; var _local2:int; var _local3:int; var _local4:Triangle; _local1 = 0; _local2 = 0; while (_local2 < m_triangles.length) { _local3 = 0; while (_local3 < m_triangles[_local2].length) { _local4 = m_triangles[_local2][_local3]; if (((_local4) && ((_local4.mode == Triangle.MODE_GOLD)))){ _local1++; }; _local3++; }; _local2++; }; return (_local1); } private function onTriTimer(_arg1:TimerEvent):void{ var _local2:int; var _local3:int; var _local4:Triangle; _local2 = 0; while (_local2 < m_triangles.length) { _local3 = 0; while (_local3 < m_triangles[_local2].length) { _local4 = m_triangles[_local2][_local3]; if (((_local4) && (!(contains(_local4))))){ _local4.alpha = 0; addChild(_local4); setChildIndex(m_levelNumberText, (numChildren - 1)); _local4.changeAlpha(1, 2000); _local4.addEventListener(CustomAlphaObject.ON_FINISH_ALPHA_CHANGE, onTriangleLockAppear); return; }; _local3++; }; _local2++; }; } private function onFigureDestroingFinish(_arg1:Event){ var _local2:Figure; _local2 = Figure(_arg1.target); _local2.removeEventListener(Figure.DESTROING_FINISH, onFigureDestroingFinish); removeChild(_local2); } public function get levelScore():uint{ return (m_levelScore); } private function getScoreForMatch(_arg1:int){ switch (_arg1){ case 3: return (GameSettings.MATCH3); case 4: return (GameSettings.MATCH4); case 5: return (GameSettings.MATCH5); case 6: return (GameSettings.MATCH6); case 7: return (GameSettings.MATCH7); case 8: return (GameSettings.MATCH8); }; } private function onPlayerMove(_arg1:Array):int{ var _local2:Array; var _local3:Array; var _local4:Array; var _local5:Triangle; var _local6:FigurePlace; var _local7:Figure; var _local8:Array; var _local9:Array; var _local10:Array; var _local11:Array; var _local12:Array; var _local13:Array; var _local14:int; var _local15:int; var _local16:int; var _local17:uint; var _local18:uint; var _local19:Array; var _local20:uint; var _local21:uint; var _local22:uint; var _local23:Array; var _local24:Sound; _local8 = new Array(); _local9 = new Array(); _local10 = new Array(); _local11 = new Array(); _local12 = new Array(); _local13 = new Array(); for each (_local6 in _arg1) { _local2 = trianglesByFigurePlace(_local6); for each (_local5 in _local2) { if (_local8.indexOf(_local5) < 0){ _local8.push(_local5); }; }; }; for each (_local5 in _local8) { if (figureCount(_local5) != 3){ } else { _local4 = getTriangleFigureColors(_local5); if (_local4.length != 1){ } else { if (triangleHaveBlackFigure(_local5)){ } else { _local14 = _local4[0]; switch (_local5.mode){ case Triangle.MODE_NORMAL: if (!(triangleHaveChain(_local5))){ _local5.mode = Triangle.MODE_GOLD; _local9.push(_local5); }; _local10.push(_local5); break; case Triangle.MODE_LOCK: _local5.mode = Triangle.MODE_NORMAL; _local10.push(_local5); break; case Triangle.MODE_DOUBLE_LOCK: _local5.mode = Triangle.MODE_LOCK; _local10.push(_local5); break; case Triangle.MODE_GOLD: _local10.push(_local5); break; case Triangle.MODE_COLOR_LOCK_1: case Triangle.MODE_COLOR_LOCK_2: case Triangle.MODE_COLOR_LOCK_3: case Triangle.MODE_COLOR_LOCK_4: case Triangle.MODE_COLOR_LOCK_5: case Triangle.MODE_COLOR_LOCK_6: case Triangle.MODE_COLOR_LOCK_7: _local10.push(_local5); if (((_local4[0] - 1) + Triangle.MODE_COLOR_LOCK_1) == _local5.mode){ _local5.mode = Triangle.MODE_NORMAL; }; break; }; }; }; }; }; if (!(_local10.length)){ return (0); }; for each (_local5 in _local10) { _local3 = getFigurePlacesByTriangle(_local5); for each (_local6 in _local3) { if (_local13.indexOf(_local6) < 0){ _local13.push(_local6); }; if (_local11.indexOf(_local6) < 0){ if (_local6.mode == Chains.MODE_CHAIN){ _local6.mode = Chains.MODE_NO_CHAIN; } else { if (_local6.mode == Chains.MODE_DOUBLE_CHAIN){ _local6.mode = Chains.MODE_CHAIN; } else { _local11.push(_local6); _local12.push(_local6); }; }; }; }; }; _local17 = 0; _local19 = getMatches(_local13); _local20 = m_clickComboCoeff; _local21 = m_playerMoveIterate; for each (_local23 in _local19) { if (m_playerMoveIterate == 1){ _local21 = 1; } else { _local20 = 1; }; _local22 = getScoreForMatch(_local23.length); _local18 = ((_local22 * _local21) * _local20); _local17 = (_local17 + _local18); addLevelScore(_local18, localToGlobal(getMatchCenter(_local23)), _local23.length, _local21, _local20, _local23); }; for each (_local6 in _local12) { destroyFigure(_local6); }; switch (Math.max(_local21, _local21)){ case 1: _local24 = new Burst2Sound(); break; case 2: _local24 = new Burst2Sound(); break; case 3: _local24 = new Burst3Sound(); break; case 4: _local24 = new Burst4Sound(); break; default: _local24 = new Burst5Sound(); break; }; new SoundPlayer(_local24); _local15 = getMaxRow(_local11); while (_local15 > 0) { startFigureFall(_local15); _local15--; }; dropFigures(_local12.length); return (_local17); } private function OnMouseOut(_arg1:MouseEvent):void{ } private function destroyFigure(_arg1:FigurePlace):void{ var _local2:int; _local2 = m_figures.indexOf(_arg1.figure); if (_local2 < 0){ throw (new Error("Фигура не найдена в массиве созданных ранее фигур")); }; m_figures.splice(_local2, 1); _arg1.figure.removeEventListener(BasicObject.MOVE_START, OnFigureMoveStart); _arg1.figure.removeEventListener(BasicObject.MOVE_FINISH, OnFigureMoveFinish); _arg1.figure.addEventListener(Figure.DESTROING_FINISH, onFigureDestroingFinish); _arg1.figure.destroy(); _arg1.figure = null; } private function equalFigurePlaces(_arg1:Array, _arg2:Array):Boolean{ var _local3:FigurePlace; for each (_local3 in _arg1) { if (_arg2.indexOf(_local3) < 0){ return (false); }; }; return (true); } private function get mode():int{ return (m_mode); } private function onTriTimerComplete(_arg1:TimerEvent):void{ m_figureTimer.start(); new SoundPlayer(new LevelBegin2Sound()); } public function haveTriangleByPoint(_arg1:Point):Boolean{ return ((getTriangleByPoint(_arg1)) ? true : false); } private function sameFigurePlaces(_arg1:FigurePlace, _arg2:Array):Array{ var internalSameFigurePlaces:Function; var res:Array; var fp = _arg1; var p_figurePlaces = _arg2; internalSameFigurePlaces = function (_arg1:Array, _arg2:FigurePlace){ var _local3:Array; var _local4:FigurePlace; _local3 = neighboringFigurePlaces(_arg2); for each (_local4 in _local3) { if ((((((((_arg1.indexOf(_local4) < 0)) && ((p_figurePlaces.indexOf(_local4) >= 0)))) && (_local4.figure))) && ((_local4.figure.figureIndex == _arg2.figure.figureIndex)))){ _arg1.push(_local4); internalSameFigurePlaces(_arg1, _local4); }; }; }; if (!(fp.figure)){ throw (new Error("ошибка при вызове sameFigurePlaces")); }; res = new Array(); internalSameFigurePlaces(res, fp); return (res); } private function blowTriangles(_arg1:Array){ var _local2:Triangle; var _local3:Array; var _local4:Array; var _local5:Array; var _local6:int; var _local7:FigurePlace; _local4 = new Array(); _local5 = new Array(); for each (_local2 in _arg1) { _local2.mode = Triangle.MODE_GOLD; m_playerMoveScore = getScoreForMatch(3); m_playerMoveIterate = 1; m_clickComboCoeff = 1; addLevelScore(m_playerMoveScore, _local2.localToGlobal(_local2.centerPoint), 3, m_playerMoveIterate, m_clickComboCoeff, getFigurePlacesByTriangle(_local2)); }; for each (_local2 in _arg1) { _local3 = getFigurePlacesByTriangle(_local2); for each (_local7 in _local3) { if (_local4.indexOf(_local7) < 0){ _local7.mode = Chains.MODE_NO_CHAIN; _local4.push(_local7); _local5.push(_local7.figure); destroyFigure(_local7); }; }; }; if (_arg1.length){ new SoundPlayer(new Burst1Sound()); }; _local6 = getMaxRow(_local4); while (_local6 > 0) { startFigureFall(_local6); _local6--; }; dropFigures(_local5.length); } public function get levelNumber():int{ return (m_levelNumber); } private function OnFigureMoveFinish(_arg1:MoveEvent){ var _local2:Figure; var _local3:int; var _local4:FigurePlace; var _local5:int; _local2 = Figure(_arg1.currentTarget); _local3 = m_movingFigures.indexOf(_local2); if (_local3 < 0){ throw (new Error("В списке летящих фигур прилетевшая фигура не найдена")); }; m_movingFigures.splice(_local3, 1); if ((((m_movingFigures.length == 0)) && (!((mode == MODE_LOADING))))){ dispatchEvent(new Event(ON_PLAYER_MOVE_END)); }; _local4 = findFigurePlace(_arg1.stopPoint); if (_local4){ if (((_local4.figure) && (!((_local4.figure == _local2))))){ throw (new Error("На одном месте находятся 2 фигуры")); }; _local4.figure = _local2; if (mode == MODE_LOADING){ _local4.mode = m_levelInfo.getFigureInfo(_local4.index).mode; if (_local2.black){ dispatchEvent(new TooltipEvent(ON_BLACK_FIGURE_APPEAR, localToGlobal(_local4.point))); }; switch (_local4.mode){ case Chains.MODE_CHAIN: dispatchEvent(new TooltipEvent(ON_FIGURE_CHAIN_APPEAR, localToGlobal(_local4.point))); break; case Chains.MODE_DOUBLE_CHAIN: dispatchEvent(new TooltipEvent(ON_FIGURE_DOUBLE_CHAIN_APPEAR, localToGlobal(_local4.point))); break; }; }; m_movedfpSet.push(_local4); }; if (m_movingFigures.length == 0){ if (mode == MODE_LOADING){ mode = MODE_NORMAL; }; if (m_rotatedTriangle){ m_playerMoveScore = 0; m_playerMoveIterate = 1; } else { m_playerMoveIterate++; }; _local5 = onPlayerMove(m_movedfpSet); if (_local5){ m_playerMoveScore = (m_playerMoveScore + _local5); }; m_rotatedTriangle = null; m_movedfpSet.length = 0; if (m_movingFigures.length == 0){ m_playerMoveIterate = 0; if (m_playerMoveScore){ m_clickComboCoeff++; } else { m_clickComboCoeff = 1; }; activateTriangleByPoint(localToGlobal(new Point(mouseX, mouseY))); }; }; } public function getRandomPoints():Array{ var _local1:Array; var _local2:Array; var _local3:uint; var _local4:int; var _local5:int; var _local6:Triangle; _local1 = new Array(); _local2 = new Array(); _local3 = 0; _local4 = 0; while (_local4 < m_triangles.length) { _local5 = 0; while (_local5 < m_triangles[_local4].length) { _local6 = m_triangles[_local4][_local5]; if (((_local6) && (!((_local6.mode == Triangle.MODE_GOLD))))){ _local2.push(_local6); }; _local5++; }; _local4++; }; while ((((++_local3 <= 3)) && (_local2.length))) { _local4 = Math.floor((Math.random() * _local2.length)); _local6 = _local2[_local4]; _local2.splice(_local4, 1); _local1.push(_local6.localToGlobal(_local6.centerPoint)); }; return (_local1); } } }//package main
Section 102
//preloader (main.preloader) package main { import flash.events.*; import flash.net.*; import flash.text.*; import flash.display.*; public class preloader extends MovieClip { public var txt:TextField; public var progressbar:MovieClip; public var m_moreGamesBtn:SimpleButton; public static const LOAD_COMPLETE = "loadComplete"; public function preloader(){ m_moreGamesBtn.addEventListener(MouseEvent.CLICK, onMoreGamesBtnClick); addEventListener(Event.ENTER_FRAME, Update); } public function Update(_arg1:Event):void{ var _local2:Number; var _local3:Number; var _local4:String; var _local5:Number; _local2 = stage.loaderInfo.bytesLoaded; _local3 = stage.loaderInfo.bytesTotal; _local4 = ""; _local5 = 0; if (_local3 > 0){ _local5 = Math.floor(((_local2 / _local3) * 100)); _local4 = (((((_local5 + "% (") + Math.round((_local2 / 0x0400))) + "kb / ") + Math.round((_local3 / 0x0400))) + "kb)"); }; this.txt.text = ("Loading... " + _local4); this.progressbar.gotoAndStop((_local5 + 1)); if ((((_local2 == _local3)) || ((_local3 == 0)))){ removeEventListener(Event.ENTER_FRAME, Update); dispatchEvent(new Event(LOAD_COMPLETE)); }; } private function onMoreGamesBtnClick(_arg1:Event){ var request:URLRequest; var e = _arg1; request = new URLRequest("http://www.gameglade.com/"); try { navigateToURL(request, "_blank"); } catch(e:Error) { trace("Error occurred!"); }; } } }//package main
Section 103
//RotateSound (main.RotateSound) package main { import flash.media.*; public dynamic class RotateSound extends Sound { } }//package main
Section 104
//RotateWrongSound (main.RotateWrongSound) package main { import flash.media.*; public dynamic class RotateWrongSound extends Sound { } }//package main
Section 105
//RunningTimeSound (main.RunningTimeSound) package main { import flash.media.*; public dynamic class RunningTimeSound extends Sound { } }//package main
Section 106
//ScoreEvent (main.ScoreEvent) package main { import flash.geom.*; import flash.events.*; public class ScoreEvent extends Event { private var m_score:uint; private var m_match:uint; private var m_points:Array; private var m_clickCombo:uint; private var m_combo:uint; private var m_point:Point; public function ScoreEvent(_arg1:String, _arg2:Point, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint, _arg7:Array, _arg8:Boolean=false, _arg9:Boolean=false){ var _local10:Point; super(_arg1, _arg8, _arg9); m_points = new Array(); for each (_local10 in _arg7) { m_points.push(new Point(_local10.x, _local10.y)); }; m_score = _arg3; m_match = _arg4; m_combo = _arg5; m_clickCombo = _arg6; m_point = _arg2; } public function get match():uint{ return (m_match); } public function get point():Point{ return (new Point(m_point.x, m_point.y)); } public function get score():uint{ return (m_score); } public function get combo():uint{ return (m_combo); } public function get points():Array{ return (m_points); } public function get clickCombo():uint{ return (m_clickCombo); } } }//package main
Section 107
//Shuffle1Sound (main.Shuffle1Sound) package main { import flash.media.*; public dynamic class Shuffle1Sound extends Sound { } }//package main
Section 108
//ShuffleButton (main.ShuffleButton) package main { import flash.display.*; public class ShuffleButton extends MyButton { override protected function createAnimation(_arg1:int):MovieClip{ switch (_arg1){ case MyButton.MODE_NORMAL: return (new ShuffleMovieNormal()); case MyButton.MODE_OVER: return (new ShuffleMovieOver()); case MyButton.MODE_PRESSED: return (new ShuffleMoviePressed()); case MyButton.MODE_DISABLED: return (new ShuffleMovieDisabled()); }; return (null); } } }//package main
Section 109
//ShuffleButtonFilling (main.ShuffleButtonFilling) package main { public class ShuffleButtonFilling extends ButtonFilling { override protected function internalSetPersent(_arg1:Number){ m_percent = Math.min(_arg1, 100); } } }//package main
Section 110
//ShuffleMovieDisabled (main.ShuffleMovieDisabled) package main { import flash.display.*; public dynamic class ShuffleMovieDisabled extends MovieClip { } }//package main
Section 111
//ShuffleMovieNormal (main.ShuffleMovieNormal) package main { import flash.display.*; public dynamic class ShuffleMovieNormal extends MovieClip { } }//package main
Section 112
//ShuffleMovieOver (main.ShuffleMovieOver) package main { import flash.display.*; public dynamic class ShuffleMovieOver extends MovieClip { } }//package main
Section 113
//ShuffleMoviePressed (main.ShuffleMoviePressed) package main { import flash.display.*; public dynamic class ShuffleMoviePressed extends MovieClip { } }//package main
Section 114
//SoundContainer (main.SoundContainer) package main { import flash.display.*; public dynamic class SoundContainer extends MovieClip { } }//package main
Section 115
//SoundPlayer (main.SoundPlayer) package main { import flash.media.*; public class SoundPlayer { private var m_soundChannel:SoundChannel;// = null public function SoundPlayer(_arg1:Sound){ m_soundChannel = null; super(); if (Game.soundOn){ m_soundChannel = _arg1.play(); }; } public function get soundChannel():SoundChannel{ return (m_soundChannel); } } }//package main
Section 116
//Star (main.Star) package main { import flash.display.*; import flash.geom.*; import flash.events.*; public class Star extends BasicObject { private var m_percent:uint; public function Star(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Point, _arg4:Number, _arg5:uint){ m_percent = _arg5; x = _arg2.x; y = _arg2.y; if (_arg1){ _arg1.addChild(this); }; addEventListener(BasicObject.MOVE_FINISH, onMoveFinish); moveToPoint(_arg3, _arg4); } private function onMoveFinish(_arg1:Event){ removeEventListener(BasicObject.MOVE_FINISH, onMoveFinish); if (parent){ parent.removeChild(this); }; } public function get percent():uint{ return (m_percent); } } }//package main
Section 117
//Starter (main.Starter) package main { import flash.ui.*; import flash.events.*; import flash.geom.*; import flash.net.*; import flash.display.*; public class Starter extends MovieClip { private var m_cursorMov:Cursor; public function Starter(){ var _local1:ContextMenuItem; var _local2:ContextMenu; var _local3:MainMenuWindow; super(); m_cursorMov = new Cursor(); addChild(m_cursorMov); hideMouseCursor(); m_cursorMov.startDrag(); _local1 = new ContextMenuItem("Download advanced version"); _local1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, cmi_menuItemSelect); _local2 = new ContextMenu(); _local2.customItems.push(_local1); _local2.hideBuiltInItems(); contextMenu = _local2; _local3 = new MainMenuWindow(m_cursorMov); _local3.x = (stage.stageWidth / 2); _local3.y = (stage.stageHeight / 2); _local3.x = 320; _local3.y = 300; addChildAt(_local3, 0); addEventListener(MouseEvent.CLICK, doOnMouseClick); addEventListener(MouseEvent.MOUSE_UP, doOnMouseClick); addEventListener(MouseEvent.MOUSE_OVER, doOnMouseClick); } private function doOnMouseClick(_arg1:Event){ hideMouseCursor(); } private function cmi_menuItemSelect(_arg1:ContextMenuEvent):void{ var url:String; var request:URLRequest; var evt = _arg1; url = GameSettings.DOWNLOAD_URL; request = new URLRequest(url); try { navigateToURL(request, "_blank"); } catch(e:Error) { trace("Error occurred!"); }; } private function hideMouseCursor(){ var _local1:Point; _local1 = globalToLocal(new Point(mouseX, mouseY)); m_cursorMov.x = (_local1.x + 1); m_cursorMov.y = _local1.y; Mouse.hide(); } } }//package main
Section 118
//SureWindow (main.SureWindow) package main { import flash.events.*; import flash.geom.*; import flash.display.*; import flash.text.*; public class SureWindow extends MyWindow { public var m_cancelBtn:SimpleButton; private var m_action:uint;// = 0 public var m_OKBtn:SimpleButton; public var m_text:TextField; public static const ACTION_NONE = 0; public static const ACTION_CANCEL = 2; public static const ACTION_OK = 1; public function SureWindow(_arg1:Point, _arg2:String){ m_action = ACTION_NONE; super(_arg1, false); m_text.text = _arg2; m_OKBtn.addEventListener(MouseEvent.CLICK, onOkBtnClick); m_cancelBtn.addEventListener(MouseEvent.CLICK, onCancelBtnClick); } public function get action():uint{ return (m_action); } private function onOkBtnClick(_arg1:Event):void{ if (Game.soundOn){ new Button1Sound().play(); }; m_action = ACTION_OK; dispatchEvent(new Event(MyWindow.ON_CLOSE)); } private function onCancelBtnClick(_arg1:Event):void{ if (Game.soundOn){ new Button1Sound().play(); }; m_action = ACTION_CANCEL; dispatchEvent(new Event(MyWindow.ON_CLOSE)); } } }//package main
Section 119
//TimeOutSound (main.TimeOutSound) package main { import flash.media.*; public dynamic class TimeOutSound extends Sound { } }//package main
Section 120
//TimeOutWindow (main.TimeOutWindow) package main { import flash.events.*; import flash.geom.*; import flash.display.*; public class TimeOutWindow extends MyWindow { public var m_mainMenuButton:SimpleButton; private var m_action:uint;// = 0 public var m_playBtn:SimpleButton; public static const ACTION_NONE = 0; public static const ACTION_MAIN_MENU = 1; public static const ACTION_PLAY = 2; public function TimeOutWindow(_arg1:Point){ m_action = ACTION_NONE; super(_arg1, false); m_mainMenuButton.addEventListener(MouseEvent.CLICK, onMainMenuBtnClick); m_playBtn.addEventListener(MouseEvent.CLICK, onPlayBtnClick); } public function get action():uint{ return (m_action); } private function onPlayBtnClick(_arg1:Event):void{ if (Game.soundOn){ new Button1Sound().play(); }; m_action = ACTION_PLAY; dispatchEvent(new Event(MyWindow.ON_CLOSE)); } private function onMainMenuBtnClick(_arg1:Event):void{ if (Game.soundOn){ new Button1Sound().play(); }; m_action = ACTION_MAIN_MENU; dispatchEvent(new Event(MyWindow.ON_CLOSE)); } } }//package main
Section 121
//TipPointer (main.TipPointer) package main { import flash.display.*; public dynamic class TipPointer extends MovieClip { } }//package main
Section 122
//TooltipEvent (main.TooltipEvent) package main { import flash.geom.*; import flash.events.*; public class TooltipEvent extends Event { private var m_point:Point; public function TooltipEvent(_arg1:String, _arg2:Point, _arg3:Boolean=false, _arg4:Boolean=false){ super(_arg1, _arg3, _arg4); m_point = new Point(_arg2.x, _arg2.y); } public function get point():Point{ return (m_point); } } }//package main
Section 123
//TooltipEventInfo (main.TooltipEventInfo) package main { import flash.geom.*; public class TooltipEventInfo { private var m_tooltip:uint; private var m_point:Point; public function TooltipEventInfo(_arg1:uint, _arg2:Point){ m_tooltip = _arg1; m_point = new Point(_arg2.x, _arg2.y); } public function get point():Point{ return (new Point(m_point.x, m_point.y)); } public function get tooltip():uint{ return (m_tooltip); } } }//package main
Section 124
//TooltipWindow (main.TooltipWindow) package main { import flash.geom.*; import flash.text.*; import flash.display.*; public class TooltipWindow extends MyWindow { public var m_tipWindowMov:MovieClip; public var bg:MovieClip; public function TooltipWindow(_arg1:Point, _arg2:Point, _arg3:uint, _arg4:Point, _arg5:Point){ var _local6:int; var _local7:int; var _local8:Point; var _local9:Vect; var _local10:Point; var _local11:*; var _local12:uint; var _local13:Point; var _local14:Point; var _local15:Point; var _local16:Point; var _local17:*; var _local18:Number; var _local19:*; var _local20:*; var _local21:*; var _local22:*; super(_arg1); gotoAndStop(_arg3); _local6 = (width / 2); _local7 = (height / 2); _local8 = new Point((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local9 = new Vect((_arg1.x - _arg2.x), (_arg1.y - _arg2.y)); _local9.mulScalar((GameSettings.TIP_POINTER_START / _local9.magnitude())); _local10 = new Point((_local8.x + _local9.x), (_local8.y + _local9.y)); _local11 = new MyTipPointer(_local10, _local8); addChild(_local11); _local9.setMembers((_arg1.x - _arg2.x), (_arg1.y - _arg2.y)); _local12 = GameSettings.TIP_WINDOW_START; _local9.mulScalar((_local12 / _local9.magnitude())); _local13 = new Point((_arg2.x + _local9.x), (_arg2.y + _local9.y)); _local14 = new Point(_arg1.x, _arg1.y); _local15 = new Point(_arg1.x, _arg1.y); if (((pointInWindow(_local14, _local13)) || (pointInWindow(_local14, _arg2)))){ do { _local18 = ((_local9.y > 0)) ? 5 : -5; _local17 = ((_local9.x > 0)) ? 5 : -5; _local14.offset(_local17, _local18); _local19 = ((_local14.x + _local6) - _arg5.x); _local20 = ((_local14.y + _local7) - _arg5.y); _local21 = (_arg4.x - (_local14.x - _local6)); _local22 = (_arg4.y - (_local14.y - _local7)); if (_local19 > 0){ _local14.offset(-(_local19), 0); }; if (_local20 > 0){ _local14.offset(0, -(_local20)); }; if (_local21 > 0){ _local14.offset(_local21, 0); }; if (_local22 > 0){ _local14.offset(0, _local22); }; } while (!(_local14.equals(_local15))); } else { do { _local9.setMembers((_local14.x - _arg2.x), (_local14.y - _arg2.y)); _local12 = (_local9.magnitude() - 10); _local9.mulScalar((_local12 / _local9.magnitude())); _local14.x = (_arg2.x + _local9.x); _local14.y = (_arg2.y + _local9.y); } while (!(pointInWindow(_local14, _local13))); }; _local16 = localToGlobal(new Point(0, 0)); x = _local14.x; y = _local14.y; _local16 = globalToLocal(_local16); _local11.x = _local16.x; _local11.y = _local16.y; } private function pointInWindow(_arg1:Point, _arg2:Point):Boolean{ var _local3:Point; var _local4:Point; _local3 = _arg1.subtract(new Point((m_tipWindowMov.width / 2), (m_tipWindowMov.height / 2))); _local4 = _arg1.add(new Point((m_tipWindowMov.width / 2), (m_tipWindowMov.height / 2))); return ((((((((_arg2.x >= _local3.x)) && ((_arg2.x <= _local4.x)))) && ((_arg2.y >= _local3.y)))) && ((_arg2.y <= _local4.y)))); } } }//package main
Section 125
//Triangle (main.Triangle) package main { import flash.geom.*; import flash.filters.*; import flash.events.*; import flash.display.*; public class Triangle extends AlphaObject { private var m_LockTriangle:Locks; private var m_row:int; public var m_GoldTriangleRight:MovieClip; private var m_mode:int;// = -1 private var m_state:int;// = 0 public var m_LocksLeft:Locks; private var m_isLeft:Boolean; public var m_GoldTriangleLeft:MovieClip; public var m_ActiveTriangleLeft:MovieClip; private var m_filter:BitmapFilter; private var m_ActiveTriangle:MovieClip; private var m_GoldTriangle:MovieClip; public var m_LocksRight:Locks; private var m_col:int; public var m_ActiveTriangleRight:MovieClip; private var m_vertexSet:Array; public static const MODE_COLOR_LOCK_6 = 12; public static const MODE_NORMAL = 1; public static const STATE_NORMAL = 0; public static const MODE_COLOR_LOCK_A = 4; public static const MODE_LOCK = 2; public static const MODE_COLOR_LOCK_B = 5; public static const STATE_DISABLED = 2; public static const STATE_ACTIVE = 1; public static const MODE_COLOR_LOCK_C = 6; public static const ON_GOLD_TRIANGLE = "onGoldtriangle"; public static const MODE_COLOR_LOCK_1 = 7; public static const MODE_COLOR_LOCK_2 = 8; public static const MODE_COLOR_LOCK_3 = 9; public static const MODE_COLOR_LOCK_4 = 10; public static const MODE_COLOR_LOCK_5 = 11; public static const MODE_COLOR_LOCK_7 = 13; public static const MODE_GOLD = 14; public static const MODE_DOUBLE_LOCK = 3; private static var m_triHeight = 74; private static var m_triWidth = 64; public function Triangle(_arg1:Point, _arg2:Boolean, _arg3:int, _arg4:int, _arg5:int=1){ m_state = 0; m_mode = -1; super(); x = _arg1.x; y = _arg1.y; m_isLeft = _arg2; m_vertexSet = new Array(3); if (_arg2){ m_vertexSet[0] = new Point((triWidth / 2), (-(triHeight) / 2)); m_vertexSet[1] = new Point((-(triWidth) / 2), 0); m_vertexSet[2] = new Point((triWidth / 2), (triHeight / 2)); } else { m_vertexSet[0] = new Point((-(triWidth) / 2), (-(triHeight) / 2)); m_vertexSet[1] = new Point((-(triWidth) / 2), (triHeight / 2)); m_vertexSet[2] = new Point((triWidth / 2), 0); }; m_filter = new GlowFilter(16715824, 0.8, 6, 6, 2, 3, false, false); m_row = _arg3; m_col = _arg4; mode = _arg5; } private function AfterLockDestroy(_arg1:Event){ var _local2:Locks; _local2 = (_arg1.target as Locks); _local2.removeEventListener(ObjectManager.AFTER_MODE_UPDATE, AfterLockDestroy); m_GoldTriangle.visible = true; m_GoldTriangle.play(); addEventListener(Event.ENTER_FRAME, onGoldTrianglePlaying); } private function hideActiveTriangle(){ if (!(m_ActiveTriangle)){ return; }; m_ActiveTriangle.visible = false; m_ActiveTriangle.gotoAndStop(1); } public function set state(_arg1:int){ m_state = _arg1; switch (m_state){ case Triangle.STATE_NORMAL: filters = null; hideActiveTriangle(); break; case Triangle.STATE_ACTIVE: filters = null; showActiveTriangle(); break; case Triangle.STATE_DISABLED: filters = new Array(m_filter); hideActiveTriangle(); break; }; } public function UpdateMode(_arg1:Event):void{ if (m_isLeft){ m_ActiveTriangle = m_ActiveTriangleLeft; m_LockTriangle = m_LocksLeft; m_GoldTriangle = m_GoldTriangleLeft; } else { m_ActiveTriangle = m_ActiveTriangleRight; m_LockTriangle = m_LocksRight; m_GoldTriangle = m_GoldTriangleRight; }; if (((!(m_GoldTriangle)) || (!(m_LockTriangle)))){ return; }; m_GoldTriangle.gotoAndStop(1); m_GoldTriangle.visible = false; m_LockTriangle.gotoAndStop(1); state = m_state; switch (m_mode){ case Triangle.MODE_NORMAL: case Triangle.MODE_LOCK: case Triangle.MODE_DOUBLE_LOCK: case Triangle.MODE_COLOR_LOCK_1: case Triangle.MODE_COLOR_LOCK_2: case Triangle.MODE_COLOR_LOCK_3: case Triangle.MODE_COLOR_LOCK_4: case Triangle.MODE_COLOR_LOCK_5: case Triangle.MODE_COLOR_LOCK_6: case Triangle.MODE_COLOR_LOCK_7: m_LockTriangle.mode = m_mode; break; case Triangle.MODE_GOLD: if (m_LockTriangle.mode == Locks.MODE_NO_LOCK){ m_GoldTriangle.visible = true; m_GoldTriangle.play(); addEventListener(Event.ENTER_FRAME, onGoldTrianglePlaying); } else { m_LockTriangle.addEventListener(ObjectManager.AFTER_MODE_UPDATE, AfterLockDestroy); m_LockTriangle.mode = Locks.MODE_NO_LOCK; }; break; }; removeEventListener(Event.ENTER_FRAME, UpdateMode); } private function onGoldTrianglePlaying(_arg1:Event):void{ if (((!(m_GoldTriangle)) || (((m_GoldTriangle) && ((m_GoldTriangle.currentFrame == m_GoldTriangle.totalFrames)))))){ removeEventListener(Event.ENTER_FRAME, onGoldTrianglePlaying); if (m_GoldTriangle){ m_GoldTriangle.stop(); dispatchEvent(new Event(ON_GOLD_TRIANGLE)); }; }; } public function get centerPoint():Point{ return (new Point((((m_vertexSet[0].x + m_vertexSet[1].x) + m_vertexSet[2].x) / 3), (((m_vertexSet[0].y + m_vertexSet[1].y) + m_vertexSet[2].y) / 3))); } public function get isLeft():Boolean{ return (m_isLeft); } public function set mode(_arg1){ var _local2:int; if (m_mode == _arg1){ return; }; m_mode = _arg1; if (m_isLeft){ _local2 = 1; } else { _local2 = 2; }; gotoAndStop(_local2); addEventListener(Event.ENTER_FRAME, UpdateMode); } public function getVertex(_arg1:int):Point{ return (new Point(m_vertexSet[_arg1].x, m_vertexSet[_arg1].y)); } public function get state():int{ return (m_state); } public function get col(){ return (m_col); } public function get mode():int{ return (m_mode); } private function showActiveTriangle(){ if (!(m_ActiveTriangle)){ return; }; m_ActiveTriangle.visible = true; m_ActiveTriangle.play(); } public function get row(){ return (m_row); } public function PointInTriangle(_arg1:Point):Boolean{ var _local2:int; var _local3:int; var _local4:int; _local2 = (((m_vertexSet[1].y - m_vertexSet[0].y) * (_arg1.x - m_vertexSet[0].x)) - ((m_vertexSet[1].x - m_vertexSet[0].x) * (_arg1.y - m_vertexSet[0].y))); _local3 = (((m_vertexSet[2].y - m_vertexSet[1].y) * (_arg1.x - m_vertexSet[1].x)) - ((m_vertexSet[2].x - m_vertexSet[1].x) * (_arg1.y - m_vertexSet[1].y))); _local4 = (((m_vertexSet[0].y - m_vertexSet[2].y) * (_arg1.x - m_vertexSet[2].x)) - ((m_vertexSet[0].x - m_vertexSet[2].x) * (_arg1.y - m_vertexSet[2].y))); return ((((((((_local2 > 0)) && ((_local3 > 0)))) && ((_local4 > 0)))) || ((((((_local2 < 0)) && ((_local3 < 0)))) && ((_local4 < 0)))))); } public static function get triHeight():int{ return (m_triHeight); } public static function get triWidth():int{ return (m_triWidth); } } }//package main
Section 126
//Vect (main.Vect) package main { public class Vect { var x:Number; var y:Number; public function Vect(_arg1:Number=0, _arg2:Number=0){ x = _arg1; y = _arg2; } function subVect(_arg1:Vect):void{ x = (x - _arg1.x); y = (y - _arg1.y); } function magnitude2():Number{ return (((x * x) + (y * y))); } function scalarProjectionOnto(_arg1:Vect):Number{ return ((((x * _arg1.x) + (y * _arg1.y)) / _arg1.magnitude())); } function addVect(_arg1:Vect):void{ x = (x + _arg1.x); y = (y + _arg1.y); } function getMulScalar(_arg1:Number):Vect{ return (new Vect((x * _arg1), (y * _arg1))); } function getDirection():Number{ return (((Math.atan2(y, x) / Math.PI) * 180)); } function vectorProjectionOnto(_arg1:Vect):Vect{ var _local2:Vect; _local2 = _arg1.getUnitVect(); _local2.mulScalar(scalarProjectionOnto(_arg1)); return (_local2); } function copyVect(_arg1:Vect):void{ x = _arg1.x; y = _arg1.y; } function setMembers(_arg1:Number, _arg2:Number):void{ x = _arg1; y = _arg2; } function getUnitVect():Vect{ var _local1:Number; var _local2:Vect; _local1 = magnitude(); _local2 = new Vect(x, y); if (_local1){ _local2.x = (_local2.x / _local1); _local2.y = (_local2.y / _local1); }; return (_local2); } function magnitude():Number{ return (Math.sqrt(((x * x) + (y * y)))); } function mulScalar(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); } } }//package main
Section 127
//Win1Sound (main.Win1Sound) package main { import flash.media.*; public dynamic class Win1Sound extends Sound { } }//package main

Library Items

Symbol 1 FontUsed by:2 184 185 186 187 188 189 193 194 195
Symbol 2 EditableTextUses:1Used by:12
Symbol 3 GraphicUsed by:4
Symbol 4 MovieClipUses:3Used by:7
Symbol 5 BitmapUsed by:6
Symbol 6 GraphicUses:5Used by:7
Symbol 7 MovieClipUses:4 6Used by:12
Symbol 8 GraphicUsed by:11
Symbol 9 BitmapUsed by:10
Symbol 10 GraphicUses:9Used by:11
Symbol 11 ButtonUses:8 10Used by:12
Symbol 12 MovieClipUses:2 7 11Used by:Timeline
Symbol 13 BitmapUsed by:14
Symbol 14 GraphicUses:13Used by:Timeline
Symbol 15 BitmapUsed by:16
Symbol 16 GraphicUses:15Used by:31 196
Symbol 17 FontUsed by:18 21 27 29 30 34 36 38 40 45 46 47 159 160 161 162 163 164 165 166 167 190 199 200 204 218 219 221 227 228 229 230 231 232 233 234 235 236 237 238 239 241 242 284 328 350 351
Symbol 18 TextUses:17Used by:31
Symbol 19 BitmapUsed by:20
Symbol 20 GraphicUses:19Used by:26 28 35 37 39 41 201 202 203 205 220 222 243
Symbol 21 TextUses:17Used by:26
Symbol 22 BitmapUsed by:23
Symbol 23 GraphicUses:22Used by:26 28 35 37 39 41 201 202 203 205 220 222 243
Symbol 24 BitmapUsed by:25
Symbol 25 GraphicUses:24Used by:26 28 35 37 39 41 201 202 203 205 220 222 243
Symbol 26 ButtonUses:20 21 23 25Used by:31 183 196 244  Timeline
Symbol 27 TextUses:17Used by:28 203
Symbol 28 ButtonUses:20 27 23 25Used by:31 42 196  Timeline
Symbol 29 TextUses:17Used by:31
Symbol 30 TextUses:17Used by:31
Symbol 31 MovieClip {main.GameCompleteWindow}Uses:16 18 26 28 29 30Used by:Timeline
Symbol 32 BitmapUsed by:33
Symbol 33 GraphicUses:32Used by:42 213
Symbol 34 TextUses:17Used by:35
Symbol 35 ButtonUses:20 34 23 25Used by:42  Timeline
Symbol 36 TextUses:17Used by:37
Symbol 37 ButtonUses:20 36 23 25Used by:42  Timeline
Symbol 38 TextUses:17Used by:39 202
Symbol 39 ButtonUses:20 38 23 25Used by:42  Timeline
Symbol 40 TextUses:17Used by:41
Symbol 41 ButtonUses:20 40 23 25Used by:42  Timeline
Symbol 42 MovieClip {main.GameMenuWindow}Uses:33 35 37 39 41 28Used by:Timeline
Symbol 43 BitmapUsed by:44
Symbol 44 GraphicUses:43Used by:48 168
Symbol 45 TextUses:17Used by:48
Symbol 46 TextUses:17Used by:48 168
Symbol 47 TextUses:17Used by:48
Symbol 48 MovieClipUses:44 45 46 47Used by:156
Symbol 49 BitmapUsed by:51 273
Symbol 50 BitmapUsed by:51 271
Symbol 51 GraphicUses:49 50Used by:154
Symbol 52 BitmapUsed by:53
Symbol 53 GraphicUses:52Used by:54 709
Symbol 54 MovieClip {main.Figure1Normal}Uses:53Used by:154  Timeline
Symbol 55 BitmapUsed by:56
Symbol 56 GraphicUses:55Used by:57 608
Symbol 57 MovieClip {main.Figure4Normal}Uses:56Used by:154  Timeline
Symbol 58 BitmapUsed by:59
Symbol 59 GraphicUses:58Used by:60 602
Symbol 60 MovieClip {main.Figure2Normal}Uses:59Used by:154  Timeline
Symbol 61 BitmapUsed by:62
Symbol 62 GraphicUses:61Used by:63 605
Symbol 63 MovieClip {main.Figure3Normal}Uses:62Used by:154  Timeline
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 MovieClipUses:65 67 69 71 73 75Used by:154 275
Symbol 77 BitmapUsed by:78
Symbol 78 GraphicUses:77Used by:89
Symbol 79 BitmapUsed by:80
Symbol 80 GraphicUses:79Used by:89
Symbol 81 BitmapUsed by:82
Symbol 82 GraphicUses:81Used by:89
Symbol 83 BitmapUsed by:84
Symbol 84 GraphicUses:83Used by:89
Symbol 85 BitmapUsed by:86
Symbol 86 GraphicUses:85Used by:89
Symbol 87 BitmapUsed by:88
Symbol 88 GraphicUses:87Used by:89
Symbol 89 MovieClipUses:78 80 82 84 86 88Used by:154 275
Symbol 90 BitmapUsed by:91
Symbol 91 GraphicUses:90Used by:154 272
Symbol 92 BitmapUsed by:93
Symbol 93 GraphicUses:92Used by:106
Symbol 94 BitmapUsed by:95
Symbol 95 GraphicUses:94Used by:106
Symbol 96 BitmapUsed by:97
Symbol 97 GraphicUses:96Used by:106
Symbol 98 BitmapUsed by:99
Symbol 99 GraphicUses:98Used by:106
Symbol 100 BitmapUsed by:101
Symbol 101 GraphicUses:100Used by:106
Symbol 102 BitmapUsed by:103
Symbol 103 GraphicUses:102Used by:106
Symbol 104 BitmapUsed by:105
Symbol 105 GraphicUses:104Used by:106
Symbol 106 MovieClip {main.Figure4Destroying}Uses:93 95 97 99 101 103 105Used by:154  Timeline
Symbol 107 BitmapUsed by:108
Symbol 108 GraphicUses:107Used by:121
Symbol 109 BitmapUsed by:110
Symbol 110 GraphicUses:109Used by:121
Symbol 111 BitmapUsed by:112
Symbol 112 GraphicUses:111Used by:121
Symbol 113 BitmapUsed by:114
Symbol 114 GraphicUses:113Used by:121
Symbol 115 BitmapUsed by:116
Symbol 116 GraphicUses:115Used by:121
Symbol 117 BitmapUsed by:118
Symbol 118 GraphicUses:117Used by:121
Symbol 119 BitmapUsed by:120
Symbol 120 GraphicUses:119Used by:121
Symbol 121 MovieClip {main.Figure2Destroying}Uses:108 110 112 114 116 118 120Used by:154  Timeline
Symbol 122 BitmapUsed by:123
Symbol 123 GraphicUses:122Used by:136
Symbol 124 BitmapUsed by:125
Symbol 125 GraphicUses:124Used by:136
Symbol 126 BitmapUsed by:127
Symbol 127 GraphicUses:126Used by:136
Symbol 128 BitmapUsed by:129
Symbol 129 GraphicUses:128Used by:136
Symbol 130 BitmapUsed by:131
Symbol 131 GraphicUses:130Used by:136
Symbol 132 BitmapUsed by:133
Symbol 133 GraphicUses:132Used by:136
Symbol 134 BitmapUsed by:135
Symbol 135 GraphicUses:134Used by:136
Symbol 136 MovieClip {main.Figure1Destroying}Uses:123 125 127 129 131 133 135Used by:154  Timeline
Symbol 137 BitmapUsed by:138
Symbol 138 GraphicUses:137Used by:154 274
Symbol 139 BitmapUsed by:140
Symbol 140 GraphicUses:139Used by:153
Symbol 141 BitmapUsed by:142
Symbol 142 GraphicUses:141Used by:153
Symbol 143 BitmapUsed by:144
Symbol 144 GraphicUses:143Used by:153
Symbol 145 BitmapUsed by:146
Symbol 146 GraphicUses:145Used by:153
Symbol 147 BitmapUsed by:148
Symbol 148 GraphicUses:147Used by:153
Symbol 149 BitmapUsed by:150
Symbol 150 GraphicUses:149Used by:153
Symbol 151 BitmapUsed by:152
Symbol 152 GraphicUses:151Used by:153
Symbol 153 MovieClip {main.Figure3Destroying}Uses:140 142 144 146 148 150 152Used by:154  Timeline
Symbol 154 MovieClipUses:51 54 57 60 63 76 89 91 106 121 136 138 153Used by:155
Symbol 155 MovieClipUses:154Used by:156 168
Symbol 156 MovieClip {main.HelpTooltipWindow}Uses:48 155Used by:Timeline
Symbol 157 GraphicUsed by:158
Symbol 158 ButtonUses:157Used by:183 244
Symbol 159 TextUses:17Used by:168
Symbol 160 TextUses:17Used by:168
Symbol 161 TextUses:17Used by:168
Symbol 162 TextUses:17Used by:168
Symbol 163 TextUses:17Used by:168
Symbol 164 TextUses:17Used by:168
Symbol 165 TextUses:17Used by:168
Symbol 166 TextUses:17Used by:168
Symbol 167 TextUses:17Used by:168
Symbol 168 MovieClipUses:44 159 46 155 160 161 162 163 164 165 166 167Used by:183
Symbol 169 BitmapUsed by:170
Symbol 170 GraphicUses:169Used by:175
Symbol 171 BitmapUsed by:172
Symbol 172 GraphicUses:171Used by:175
Symbol 173 BitmapUsed by:174
Symbol 174 GraphicUses:173Used by:175
Symbol 175 ButtonUses:170 172 174Used by:183  Timeline
Symbol 176 BitmapUsed by:177
Symbol 177 GraphicUses:176Used by:182
Symbol 178 BitmapUsed by:179
Symbol 179 GraphicUses:178Used by:182
Symbol 180 BitmapUsed by:181
Symbol 181 GraphicUses:180Used by:182
Symbol 182 ButtonUses:177 179 181Used by:183  Timeline
Symbol 183 MovieClip {main.HelpWindow}Uses:158 168 175 182 26Used by:Timeline
Symbol 184 TextUses:1Used by:196
Symbol 185 TextUses:1Used by:196
Symbol 186 TextUses:1Used by:196
Symbol 187 EditableTextUses:1Used by:196
Symbol 188 EditableTextUses:1Used by:196
Symbol 189 EditableTextUses:1Used by:196
Symbol 190 TextUses:17Used by:196
Symbol 191 BitmapUsed by:192
Symbol 192 GraphicUses:191Used by:196 226
Symbol 193 TextUses:1Used by:196
Symbol 194 TextUses:1Used by:196
Symbol 195 TextUses:1Used by:196
Symbol 196 MovieClip {main.LevelCompleteWindow}Uses:16 184 185 186 187 188 189 190 26 192 28 193 194 195Used by:Timeline
Symbol 197 BitmapUsed by:198
Symbol 198 GraphicUses:197Used by:213
Symbol 199 TextUses:17Used by:213
Symbol 200 TextUses:17Used by:201
Symbol 201 ButtonUses:20 200 23 25Used by:213  Timeline
Symbol 202 ButtonUses:20 38 23 25Used by:213  Timeline
Symbol 203 ButtonUses:20 27 23 25Used by:213  Timeline
Symbol 204 TextUses:17Used by:205
Symbol 205 ButtonUses:20 204 23 25Used by:213 389  Timeline
Symbol 206 BitmapUsed by:207
Symbol 207 GraphicUses:206Used by:213
Symbol 208 BitmapUsed by:209
Symbol 209 GraphicUses:208Used by:212
Symbol 210 BitmapUsed by:211
Symbol 211 GraphicUses:210Used by:212
Symbol 212 ButtonUses:209 211Used by:213
Symbol 213 MovieClip {main.MainMenuWindow}Uses:198 199 33 201 202 203 205 207 212Used by:Timeline
Symbol 214 GraphicUsed by:215
Symbol 215 MovieClip {main.MenuBackgroundWindow}Uses:214Used by:Timeline
Symbol 216 BitmapUsed by:217
Symbol 217 GraphicUses:216Used by:223 244
Symbol 218 TextUses:17Used by:223
Symbol 219 TextUses:17Used by:220
Symbol 220 ButtonUses:20 219 23 25Used by:223  Timeline
Symbol 221 TextUses:17Used by:222
Symbol 222 ButtonUses:20 221 23 25Used by:223  Timeline
Symbol 223 MovieClip {main.TimeOutWindow}Uses:217 218 220 222Used by:Timeline
Symbol 224 GraphicUsed by:225
Symbol 225 MovieClipUses:224Used by:240
Symbol 226 MovieClipUses:192Used by:240
Symbol 227 TextUses:17Used by:240
Symbol 228 TextUses:17Used by:240
Symbol 229 TextUses:17Used by:240
Symbol 230 TextUses:17Used by:240
Symbol 231 TextUses:17Used by:240
Symbol 232 TextUses:17Used by:240
Symbol 233 TextUses:17Used by:240
Symbol 234 TextUses:17Used by:240
Symbol 235 TextUses:17Used by:240
Symbol 236 TextUses:17Used by:240
Symbol 237 TextUses:17Used by:240
Symbol 238 TextUses:17Used by:240
Symbol 239 TextUses:17Used by:240
Symbol 240 MovieClip {main.TooltipWindow}Uses:225 226 227 228 229 230 231 232 233 234 235 236 237 238 239Used by:Timeline
Symbol 241 EditableTextUses:17Used by:244
Symbol 242 TextUses:17Used by:243
Symbol 243 ButtonUses:20 242 23 25Used by:244
Symbol 244 MovieClip {main.SureWindow}Uses:158 217 241 26 243Used by:Timeline
Symbol 245 Bitmap {cursor.png}Used by:269 706
Symbol 246 Sound {main.Win1Sound}Used by:269
Symbol 247 Sound {main.TimeOutSound}Used by:269
Symbol 248 Sound {main.Shuffle1Sound}Used by:269
Symbol 249 Sound {main.RunningTimeSound}Used by:269
Symbol 250 Sound {main.RotateSound}Used by:269
Symbol 251 Sound {main.RotateWrongSound}Used by:269
Symbol 252 Sound {main.NoSound}Used by:269
Symbol 253 Sound {main.MenuSound}Used by:269
Symbol 254 Sound {main.Lightning1Sound}Used by:269
Symbol 255 Sound {main.LevelCompleteSound}Used by:269
Symbol 256 Sound {main.LevelBegin2Sound}Used by:269
Symbol 257 Sound {main.LevelBegin1Sound}Used by:269
Symbol 258 Sound {main.HintSound}Used by:269
Symbol 259 Sound {main.Button1Sound}Used by:269
Symbol 260 Sound {main.Burst5Sound}Used by:269
Symbol 261 Sound {main.Burst4Sound}Used by:269
Symbol 262 Sound {main.Burst3Sound}Used by:269
Symbol 263 Sound {main.Burst2Sound}Used by:269
Symbol 264 Sound {main.Burst1Sound}Used by:269
Symbol 265 Sound {main.Boom1Sound}Used by:269
Symbol 266 Sound {main.BonusFullSound}Used by:269
Symbol 267 Sound {main.BombaSound}Used by:269
Symbol 268 Sound {main.LevelSound}Used by:269
Symbol 269 MovieClip {main.SoundContainer}Uses:245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268Used by:Timeline
Symbol 270 MovieClip {main.Locks}Used by:275  Timeline
Symbol 271 GraphicUses:50Used by:275
Symbol 272 MovieClipUses:91Used by:275
Symbol 273 GraphicUses:49Used by:275
Symbol 274 MovieClipUses:138Used by:275
Symbol 275 MovieClip {main.Triangle}Uses:271 270 272 76 273 274 89Used by:Timeline
Symbol 276 BitmapUsed by:277
Symbol 277 GraphicUses:276Used by:278
Symbol 278 MovieClip {main.TipPointer}Uses:277Used by:Timeline
Symbol 279 BitmapUsed by:280
Symbol 280 GraphicUses:279Used by:281
Symbol 281 MovieClip {main.PlayingField}Uses:280Used by:Timeline
Symbol 282 MovieClip {main.MyTipPointer}Used by:Timeline
Symbol 283 MovieClip {main.MyLightning}Used by:Timeline
Symbol 284 EditableTextUses:17Used by:285
Symbol 285 MovieClip {main.LevelNumber}Uses:284Used by:Timeline
Symbol 286 FontUsed by:287
Symbol 287 EditableTextUses:286Used by:288
Symbol 288 MovieClip {main.FlyingNumber}Uses:287Used by:Timeline
Symbol 289 MovieClip {main.FigurePlace}Used by:Timeline
Symbol 290 BitmapUsed by:291
Symbol 291 GraphicUses:290Used by:306
Symbol 292 BitmapUsed by:293
Symbol 293 GraphicUses:292Used by:306
Symbol 294 BitmapUsed by:295
Symbol 295 GraphicUses:294Used by:306
Symbol 296 BitmapUsed by:297
Symbol 297 GraphicUses:296Used by:306
Symbol 298 BitmapUsed by:299
Symbol 299 GraphicUses:298Used by:306
Symbol 300 BitmapUsed by:301
Symbol 301 GraphicUses:300Used by:306
Symbol 302 BitmapUsed by:303
Symbol 303 GraphicUses:302Used by:306
Symbol 304 BitmapUsed by:305
Symbol 305 GraphicUses:304Used by:306
Symbol 306 MovieClip {main.Chain1}Uses:291 293 295 297 299 301 303 305Used by:Timeline
Symbol 307 BitmapUsed by:308
Symbol 308 GraphicUses:307Used by:323
Symbol 309 BitmapUsed by:310
Symbol 310 GraphicUses:309Used by:323
Symbol 311 BitmapUsed by:312
Symbol 312 GraphicUses:311Used by:323
Symbol 313 BitmapUsed by:314
Symbol 314 GraphicUses:313Used by:323
Symbol 315 BitmapUsed by:316
Symbol 316 GraphicUses:315Used by:323
Symbol 317 BitmapUsed by:318
Symbol 318 GraphicUses:317Used by:323
Symbol 319 BitmapUsed by:320
Symbol 320 GraphicUses:319Used by:323
Symbol 321 BitmapUsed by:322
Symbol 322 GraphicUses:321Used by:323
Symbol 323 MovieClip {main.Chain2}Uses:308 310 312 314 316 318 320 322Used by:Timeline
Symbol 324 MovieClip {main.Chains}Used by:Timeline
Symbol 325 GraphicUsed by:329
Symbol 326 BitmapUsed by:327
Symbol 327 GraphicUses:326Used by:329
Symbol 328 EditableTextUses:17Used by:329
Symbol 329 MovieClip {main.BombButtonFilling}Uses:325 327 328Used by:389  Timeline
Symbol 330 BitmapUsed by:331
Symbol 331 GraphicUses:330Used by:332 336
Symbol 332 MovieClip {main.BombMovie}Uses:331Used by:389  Timeline
Symbol 333 BitmapUsed by:334
Symbol 334 GraphicUses:333Used by:335
Symbol 335 MovieClip {main.BombMovieDisabled}Uses:334Used by:Timeline
Symbol 336 MovieClip {main.BombMovieNormal}Uses:331Used by:Timeline
Symbol 337 BitmapUsed by:338
Symbol 338 GraphicUses:337Used by:339
Symbol 339 MovieClip {main.BombMovieOver}Uses:338Used by:Timeline
Symbol 340 BitmapUsed by:341
Symbol 341 GraphicUses:340Used by:342
Symbol 342 MovieClip {main.BombMoviePressed}Uses:341Used by:Timeline
Symbol 343 BitmapUsed by:344
Symbol 344 GraphicUses:343Used by:345
Symbol 345 MovieClipUses:344Used by:389
Symbol 346 GraphicUsed by:349
Symbol 347 BitmapUsed by:348
Symbol 348 GraphicUses:347Used by:349
Symbol 349 MovieClipUses:346 348Used by:389
Symbol 350 EditableTextUses:17Used by:389
Symbol 351 EditableTextUses:17Used by:389
Symbol 352 GraphicUsed by:355
Symbol 353 BitmapUsed by:354
Symbol 354 GraphicUses:353Used by:355
Symbol 355 MovieClip {main.ShuffleButtonFilling}Uses:352 354Used by:389  Timeline
Symbol 356 BitmapUsed by:357
Symbol 357 GraphicUses:356Used by:358 697
Symbol 358 MovieClip {main.ShuffleButton}Uses:357Used by:389  Timeline
Symbol 359 BitmapUsed by:360
Symbol 360 GraphicUses:359Used by:365
Symbol 361 BitmapUsed by:362
Symbol 362 GraphicUses:361Used by:365
Symbol 363 BitmapUsed by:364
Symbol 364 GraphicUses:363Used by:365
Symbol 365 ButtonUses:360 362 364Used by:389  Timeline
Symbol 366 BitmapUsed by:367
Symbol 367 GraphicUses:366Used by:374 375
Symbol 368 BitmapUsed by:369
Symbol 369 GraphicUses:368Used by:374 375
Symbol 370 BitmapUsed by:371
Symbol 371 GraphicUses:370Used by:374 375
Symbol 372 BitmapUsed by:373
Symbol 373 GraphicUses:372Used by:374 375
Symbol 374 ButtonUses:367 369 371 373Used by:389
Symbol 375 ButtonUses:371 373 367 369Used by:389
Symbol 376 BitmapUsed by:377
Symbol 377 GraphicUses:376Used by:384 385
Symbol 378 BitmapUsed by:379
Symbol 379 GraphicUses:378Used by:384 385
Symbol 380 BitmapUsed by:381
Symbol 381 GraphicUses:380Used by:384 385
Symbol 382 BitmapUsed by:383
Symbol 383 GraphicUses:382Used by:384 385
Symbol 384 ButtonUses:377 379 381 383Used by:389
Symbol 385 ButtonUses:381 383 377 379Used by:389
Symbol 386 BitmapUsed by:387
Symbol 387 GraphicUses:386Used by:388 439
Symbol 388 MovieClip {main.LightningButton}Uses:387Used by:389  Timeline
Symbol 389 MovieClip {main.Game}Uses:345 349 350 351 355 358 329 332 365 374 375 384 385 205 388Used by:Timeline
Symbol 390 BitmapUsed by:391
Symbol 391 GraphicUses:390Used by:412
Symbol 392 BitmapUsed by:393
Symbol 393 GraphicUses:392Used by:412
Symbol 394 BitmapUsed by:395
Symbol 395 GraphicUses:394Used by:412
Symbol 396 BitmapUsed by:397
Symbol 397 GraphicUses:396Used by:412
Symbol 398 BitmapUsed by:399
Symbol 399 GraphicUses:398Used by:412
Symbol 400 BitmapUsed by:401
Symbol 401 GraphicUses:400Used by:412
Symbol 402 BitmapUsed by:403
Symbol 403 GraphicUses:402Used by:412
Symbol 404 BitmapUsed by:405
Symbol 405 GraphicUses:404Used by:412
Symbol 406 BitmapUsed by:407
Symbol 407 GraphicUses:406Used by:412
Symbol 408 BitmapUsed by:409
Symbol 409 GraphicUses:408Used by:412
Symbol 410 BitmapUsed by:411
Symbol 411 GraphicUses:410Used by:412
Symbol 412 MovieClip {main.Lightning}Uses:391 393 395 397 399 401 403 405 407 409 411Used by:Timeline
Symbol 413 BitmapUsed by:414
Symbol 414 GraphicUses:413Used by:435
Symbol 415 BitmapUsed by:416
Symbol 416 GraphicUses:415Used by:435
Symbol 417 BitmapUsed by:418
Symbol 418 GraphicUses:417Used by:435
Symbol 419 BitmapUsed by:420
Symbol 420 GraphicUses:419Used by:435
Symbol 421 BitmapUsed by:422
Symbol 422 GraphicUses:421Used by:435
Symbol 423 BitmapUsed by:424
Symbol 424 GraphicUses:423Used by:435
Symbol 425 BitmapUsed by:426
Symbol 426 GraphicUses:425Used by:435
Symbol 427 BitmapUsed by:428
Symbol 428 GraphicUses:427Used by:435
Symbol 429 BitmapUsed by:430
Symbol 430 GraphicUses:429Used by:435
Symbol 431 BitmapUsed by:432
Symbol 432 GraphicUses:431Used by:435
Symbol 433 BitmapUsed by:434
Symbol 434 GraphicUses:433Used by:435
Symbol 435 MovieClip {main.LightningEnd}Uses:414 416 418 420 422 424 426 428 430 432 434Used by:Timeline
Symbol 436 BitmapUsed by:437
Symbol 437 GraphicUses:436Used by:438
Symbol 438 MovieClip {main.LightningMovieDisabled}Uses:437Used by:Timeline
Symbol 439 MovieClip {main.LightningMovieNormal}Uses:387Used by:Timeline
Symbol 440 BitmapUsed by:441
Symbol 441 GraphicUses:440Used by:442
Symbol 442 MovieClip {main.LightningMovieOver}Uses:441Used by:Timeline
Symbol 443 BitmapUsed by:444
Symbol 444 GraphicUses:443Used by:445
Symbol 445 MovieClip {main.LightningMoviePressed}Uses:444Used by:Timeline
Symbol 446 BitmapUsed by:447
Symbol 447 GraphicUses:446Used by:462
Symbol 448 BitmapUsed by:449
Symbol 449 GraphicUses:448Used by:462
Symbol 450 BitmapUsed by:451
Symbol 451 GraphicUses:450Used by:462
Symbol 452 BitmapUsed by:453
Symbol 453 GraphicUses:452Used by:462
Symbol 454 BitmapUsed by:455
Symbol 455 GraphicUses:454Used by:462
Symbol 456 BitmapUsed by:457
Symbol 457 GraphicUses:456Used by:462
Symbol 458 BitmapUsed by:459
Symbol 459 GraphicUses:458Used by:462
Symbol 460 BitmapUsed by:461
Symbol 461 GraphicUses:460Used by:462
Symbol 462 MovieClip {main.Lock1}Uses:447 449 451 453 455 457 459 461Used by:Timeline
Symbol 463 BitmapUsed by:464
Symbol 464 GraphicUses:463Used by:479
Symbol 465 BitmapUsed by:466
Symbol 466 GraphicUses:465Used by:479
Symbol 467 BitmapUsed by:468
Symbol 468 GraphicUses:467Used by:479
Symbol 469 BitmapUsed by:470
Symbol 470 GraphicUses:469Used by:479
Symbol 471 BitmapUsed by:472
Symbol 472 GraphicUses:471Used by:479
Symbol 473 BitmapUsed by:474
Symbol 474 GraphicUses:473Used by:479
Symbol 475 BitmapUsed by:476
Symbol 476 GraphicUses:475Used by:479
Symbol 477 BitmapUsed by:478
Symbol 478 GraphicUses:477Used by:479
Symbol 479 MovieClip {main.Lock2}Uses:464 466 468 470 472 474 476 478Used by:Timeline
Symbol 480 BitmapUsed by:481
Symbol 481 GraphicUses:480Used by:496
Symbol 482 BitmapUsed by:483
Symbol 483 GraphicUses:482Used by:496
Symbol 484 BitmapUsed by:485
Symbol 485 GraphicUses:484Used by:496
Symbol 486 BitmapUsed by:487
Symbol 487 GraphicUses:486Used by:496
Symbol 488 BitmapUsed by:489
Symbol 489 GraphicUses:488Used by:496
Symbol 490 BitmapUsed by:491
Symbol 491 GraphicUses:490Used by:496
Symbol 492 BitmapUsed by:493
Symbol 493 GraphicUses:492Used by:496
Symbol 494 BitmapUsed by:495
Symbol 495 GraphicUses:494Used by:496
Symbol 496 MovieClip {main.Lock3}Uses:481 483 485 487 489 491 493 495Used by:Timeline
Symbol 497 BitmapUsed by:498
Symbol 498 GraphicUses:497Used by:513
Symbol 499 BitmapUsed by:500
Symbol 500 GraphicUses:499Used by:513
Symbol 501 BitmapUsed by:502
Symbol 502 GraphicUses:501Used by:513
Symbol 503 BitmapUsed by:504
Symbol 504 GraphicUses:503Used by:513
Symbol 505 BitmapUsed by:506
Symbol 506 GraphicUses:505Used by:513
Symbol 507 BitmapUsed by:508
Symbol 508 GraphicUses:507Used by:513
Symbol 509 BitmapUsed by:510
Symbol 510 GraphicUses:509Used by:513
Symbol 511 BitmapUsed by:512
Symbol 512 GraphicUses:511Used by:513
Symbol 513 MovieClip {main.Lock4}Uses:498 500 502 504 506 508 510 512Used by:Timeline
Symbol 514 BitmapUsed by:515
Symbol 515 GraphicUses:514Used by:530
Symbol 516 BitmapUsed by:517
Symbol 517 GraphicUses:516Used by:530
Symbol 518 BitmapUsed by:519
Symbol 519 GraphicUses:518Used by:530
Symbol 520 BitmapUsed by:521
Symbol 521 GraphicUses:520Used by:530
Symbol 522 BitmapUsed by:523
Symbol 523 GraphicUses:522Used by:530
Symbol 524 BitmapUsed by:525
Symbol 525 GraphicUses:524Used by:530
Symbol 526 BitmapUsed by:527
Symbol 527 GraphicUses:526Used by:530
Symbol 528 BitmapUsed by:529
Symbol 529 GraphicUses:528Used by:530
Symbol 530 MovieClip {main.Lock5}Uses:515 517 519 521 523 525 527 529Used by:Timeline
Symbol 531 BitmapUsed by:532
Symbol 532 GraphicUses:531Used by:547
Symbol 533 BitmapUsed by:534
Symbol 534 GraphicUses:533Used by:547
Symbol 535 BitmapUsed by:536
Symbol 536 GraphicUses:535Used by:547
Symbol 537 BitmapUsed by:538
Symbol 538 GraphicUses:537Used by:547
Symbol 539 BitmapUsed by:540
Symbol 540 GraphicUses:539Used by:547
Symbol 541 BitmapUsed by:542
Symbol 542 GraphicUses:541Used by:547
Symbol 543 BitmapUsed by:544
Symbol 544 GraphicUses:543Used by:547
Symbol 545 BitmapUsed by:546
Symbol 546 GraphicUses:545Used by:547
Symbol 547 MovieClip {main.Lock6}Uses:532 534 536 538 540 542 544 546Used by:Timeline
Symbol 548 BitmapUsed by:549
Symbol 549 GraphicUses:548Used by:564
Symbol 550 BitmapUsed by:551
Symbol 551 GraphicUses:550Used by:564
Symbol 552 BitmapUsed by:553
Symbol 553 GraphicUses:552Used by:564
Symbol 554 BitmapUsed by:555
Symbol 555 GraphicUses:554Used by:564
Symbol 556 BitmapUsed by:557
Symbol 557 GraphicUses:556Used by:564
Symbol 558 BitmapUsed by:559
Symbol 559 GraphicUses:558Used by:564
Symbol 560 BitmapUsed by:561
Symbol 561 GraphicUses:560Used by:564
Symbol 562 BitmapUsed by:563
Symbol 563 GraphicUses:562Used by:564
Symbol 564 MovieClip {main.Lock7}Uses:549 551 553 555 557 559 561 563Used by:Timeline
Symbol 565 BitmapUsed by:566
Symbol 566 GraphicUses:565Used by:581
Symbol 567 BitmapUsed by:568
Symbol 568 GraphicUses:567Used by:581
Symbol 569 BitmapUsed by:570
Symbol 570 GraphicUses:569Used by:581
Symbol 571 BitmapUsed by:572
Symbol 572 GraphicUses:571Used by:581
Symbol 573 BitmapUsed by:574
Symbol 574 GraphicUses:573Used by:581
Symbol 575 BitmapUsed by:576
Symbol 576 GraphicUses:575Used by:581
Symbol 577 BitmapUsed by:578
Symbol 578 GraphicUses:577Used by:581
Symbol 579 BitmapUsed by:580
Symbol 580 GraphicUses:579Used by:581
Symbol 581 MovieClip {main.LockB1}Uses:566 568 570 572 574 576 578 580Used by:Timeline
Symbol 582 BitmapUsed by:583
Symbol 583 GraphicUses:582Used by:598
Symbol 584 BitmapUsed by:585
Symbol 585 GraphicUses:584Used by:598
Symbol 586 BitmapUsed by:587
Symbol 587 GraphicUses:586Used by:598
Symbol 588 BitmapUsed by:589
Symbol 589 GraphicUses:588Used by:598
Symbol 590 BitmapUsed by:591
Symbol 591 GraphicUses:590Used by:598
Symbol 592 BitmapUsed by:593
Symbol 593 GraphicUses:592Used by:598
Symbol 594 BitmapUsed by:595
Symbol 595 GraphicUses:594Used by:598
Symbol 596 BitmapUsed by:597
Symbol 597 GraphicUses:596Used by:598
Symbol 598 MovieClip {main.LockB2}Uses:583 585 587 589 591 593 595 597Used by:Timeline
Symbol 599 MovieClip {main.Figure}Used by:Timeline
Symbol 600 BitmapUsed by:601
Symbol 601 GraphicUses:600Used by:602
Symbol 602 MovieClip {main.Figure2Active}Uses:59 601Used by:Timeline
Symbol 603 BitmapUsed by:604
Symbol 604 GraphicUses:603Used by:605
Symbol 605 MovieClip {main.Figure3Active}Uses:62 604Used by:Timeline
Symbol 606 BitmapUsed by:607
Symbol 607 GraphicUses:606Used by:608
Symbol 608 MovieClip {main.Figure4Active}Uses:56 607Used by:Timeline
Symbol 609 BitmapUsed by:610
Symbol 610 GraphicUses:609Used by:613 629
Symbol 611 BitmapUsed by:612
Symbol 612 GraphicUses:611Used by:613
Symbol 613 MovieClip {main.Figure5Active}Uses:610 612Used by:Timeline
Symbol 614 BitmapUsed by:615
Symbol 615 GraphicUses:614Used by:628
Symbol 616 BitmapUsed by:617
Symbol 617 GraphicUses:616Used by:628
Symbol 618 BitmapUsed by:619
Symbol 619 GraphicUses:618Used by:628
Symbol 620 BitmapUsed by:621
Symbol 621 GraphicUses:620Used by:628
Symbol 622 BitmapUsed by:623
Symbol 623 GraphicUses:622Used by:628
Symbol 624 BitmapUsed by:625
Symbol 625 GraphicUses:624Used by:628
Symbol 626 BitmapUsed by:627
Symbol 627 GraphicUses:626Used by:628
Symbol 628 MovieClip {main.Figure5Destroying}Uses:615 617 619 621 623 625 627Used by:Timeline
Symbol 629 MovieClip {main.Figure5Normal}Uses:610Used by:Timeline
Symbol 630 BitmapUsed by:631
Symbol 631 GraphicUses:630Used by:634 650
Symbol 632 BitmapUsed by:633
Symbol 633 GraphicUses:632Used by:634
Symbol 634 MovieClip {main.Figure6Active}Uses:631 633Used by:Timeline
Symbol 635 BitmapUsed by:636
Symbol 636 GraphicUses:635Used by:649
Symbol 637 BitmapUsed by:638
Symbol 638 GraphicUses:637Used by:649
Symbol 639 BitmapUsed by:640
Symbol 640 GraphicUses:639Used by:649
Symbol 641 BitmapUsed by:642
Symbol 642 GraphicUses:641Used by:649
Symbol 643 BitmapUsed by:644
Symbol 644 GraphicUses:643Used by:649
Symbol 645 BitmapUsed by:646
Symbol 646 GraphicUses:645Used by:649
Symbol 647 BitmapUsed by:648
Symbol 648 GraphicUses:647Used by:649
Symbol 649 MovieClip {main.Figure6Destroying}Uses:636 638 640 642 644 646 648Used by:Timeline
Symbol 650 MovieClip {main.Figure6Normal}Uses:631Used by:Timeline
Symbol 651 BitmapUsed by:652
Symbol 652 GraphicUses:651Used by:655 671
Symbol 653 BitmapUsed by:654
Symbol 654 GraphicUses:653Used by:655
Symbol 655 MovieClip {main.Figure7Active}Uses:652 654Used by:Timeline
Symbol 656 BitmapUsed by:657
Symbol 657 GraphicUses:656Used by:670
Symbol 658 BitmapUsed by:659
Symbol 659 GraphicUses:658Used by:670
Symbol 660 BitmapUsed by:661
Symbol 661 GraphicUses:660Used by:670
Symbol 662 BitmapUsed by:663
Symbol 663 GraphicUses:662Used by:670
Symbol 664 BitmapUsed by:665
Symbol 665 GraphicUses:664Used by:670
Symbol 666 BitmapUsed by:667
Symbol 667 GraphicUses:666Used by:670
Symbol 668 BitmapUsed by:669
Symbol 669 GraphicUses:668Used by:670
Symbol 670 MovieClip {main.Figure7Destroying}Uses:657 659 661 663 665 667 669Used by:Timeline
Symbol 671 MovieClip {main.Figure7Normal}Uses:652Used by:Timeline
Symbol 672 BitmapUsed by:673
Symbol 673 GraphicUses:672Used by:676 692
Symbol 674 BitmapUsed by:675
Symbol 675 GraphicUses:674Used by:676
Symbol 676 MovieClip {main.FigureBlackActive}Uses:673 675Used by:Timeline
Symbol 677 BitmapUsed by:678
Symbol 678 GraphicUses:677Used by:691
Symbol 679 BitmapUsed by:680
Symbol 680 GraphicUses:679Used by:691
Symbol 681 BitmapUsed by:682
Symbol 682 GraphicUses:681Used by:691
Symbol 683 BitmapUsed by:684
Symbol 684 GraphicUses:683Used by:691
Symbol 685 BitmapUsed by:686
Symbol 686 GraphicUses:685Used by:691
Symbol 687 BitmapUsed by:688
Symbol 688 GraphicUses:687Used by:691
Symbol 689 BitmapUsed by:690
Symbol 690 GraphicUses:689Used by:691
Symbol 691 MovieClip {main.FigureBlackDestroying}Uses:678 680 682 684 686 688 690Used by:Timeline
Symbol 692 MovieClip {main.FigureBlackNormal}Uses:673Used by:Timeline
Symbol 693 MovieClip {main.FigureManager}Used by:Timeline
Symbol 694 BitmapUsed by:695
Symbol 695 GraphicUses:694Used by:696
Symbol 696 MovieClip {main.ShuffleMovieDisabled}Uses:695Used by:Timeline
Symbol 697 MovieClip {main.ShuffleMovieNormal}Uses:357Used by:Timeline
Symbol 698 BitmapUsed by:699
Symbol 699 GraphicUses:698Used by:700
Symbol 700 MovieClip {main.ShuffleMovieOver}Uses:699Used by:Timeline
Symbol 701 BitmapUsed by:702
Symbol 702 GraphicUses:701Used by:703
Symbol 703 MovieClip {main.ShuffleMoviePressed}Uses:702Used by:Timeline
Symbol 704 Bitmap {cursor_bomb.png}Used by:706
Symbol 705 Bitmap {cursor_color_bomb.png}Used by:706
Symbol 706 MovieClip {main.Cursor}Uses:245 704 705Used by:Timeline
Symbol 707 BitmapUsed by:708
Symbol 708 GraphicUses:707Used by:709
Symbol 709 MovieClip {main.Figure1Active}Uses:53 708Used by:Timeline
Symbol 710 MovieClip {main.Starter}Used by:Timeline

Instance Names

"m_preloaderMov"Frame 1Symbol 12 MovieClip
"txt"Symbol 12 MovieClip Frame 1Symbol 2 EditableText
"progressbar"Symbol 12 MovieClip Frame 1Symbol 7 MovieClip
"m_moreGamesBtn"Symbol 12 MovieClip Frame 1Symbol 11 Button
"m_OKBtn"Symbol 31 MovieClip {main.GameCompleteWindow} Frame 1Symbol 26 Button
"m_downloadBtn"Symbol 31 MovieClip {main.GameCompleteWindow} Frame 1Symbol 28 Button
"m_continueBtn"Symbol 42 MovieClip {main.GameMenuWindow} Frame 1Symbol 35 Button
"m_restartLevelBtn"Symbol 42 MovieClip {main.GameMenuWindow} Frame 1Symbol 37 Button
"m_helpBtn"Symbol 42 MovieClip {main.GameMenuWindow} Frame 1Symbol 39 Button
"m_abortGameBtn"Symbol 42 MovieClip {main.GameMenuWindow} Frame 1Symbol 41 Button
"m_url1Btn"Symbol 42 MovieClip {main.GameMenuWindow} Frame 1Symbol 28 Button
"m_help"Symbol 156 MovieClip {main.HelpTooltipWindow} Frame 1Symbol 48 MovieClip
"m_help"Symbol 183 MovieClip {main.HelpWindow} Frame 1Symbol 168 MovieClip
"m_nextBtn"Symbol 183 MovieClip {main.HelpWindow} Frame 1Symbol 175 Button
"m_backBtn"Symbol 183 MovieClip {main.HelpWindow} Frame 1Symbol 182 Button
"m_OKBtn"Symbol 183 MovieClip {main.HelpWindow} Frame 1Symbol 26 Button
"m_levelScoreText"Symbol 196 MovieClip {main.LevelCompleteWindow} Frame 1Symbol 187 EditableText
"m_timeScoreText"Symbol 196 MovieClip {main.LevelCompleteWindow} Frame 1Symbol 188 EditableText
"m_totalScoreText"Symbol 196 MovieClip {main.LevelCompleteWindow} Frame 1Symbol 189 EditableText
"m_OKBtn"Symbol 196 MovieClip {main.LevelCompleteWindow} Frame 1Symbol 26 Button
"m_downloadBtn"Symbol 196 MovieClip {main.LevelCompleteWindow} Frame 1Symbol 28 Button
"m_newGameBtn"Symbol 213 MovieClip {main.MainMenuWindow} Frame 1Symbol 201 Button
"m_helpBtn"Symbol 213 MovieClip {main.MainMenuWindow} Frame 1Symbol 202 Button
"m_url1Btn"Symbol 213 MovieClip {main.MainMenuWindow} Frame 1Symbol 203 Button
"m_url2Btn"Symbol 213 MovieClip {main.MainMenuWindow} Frame 1Symbol 205 Button
"m_url2Btn_2"Symbol 213 MovieClip {main.MainMenuWindow} Frame 1Symbol 212 Button
"m_mainMenuButton"Symbol 223 MovieClip {main.TimeOutWindow} Frame 1Symbol 220 Button
"m_playBtn"Symbol 223 MovieClip {main.TimeOutWindow} Frame 1Symbol 222 Button
"bg"Symbol 240 MovieClip {main.TooltipWindow} Frame 1Symbol 225 MovieClip
"m_tipWindowMov"Symbol 240 MovieClip {main.TooltipWindow} Frame 1Symbol 226 MovieClip
"m_text"Symbol 244 MovieClip {main.SureWindow} Frame 1Symbol 241 EditableText
"m_OKBtn"Symbol 244 MovieClip {main.SureWindow} Frame 1Symbol 26 Button
"m_cancelBtn"Symbol 244 MovieClip {main.SureWindow} Frame 1Symbol 243 Button
"m_LocksLeft"Symbol 275 MovieClip {main.Triangle} Frame 1Symbol 270 MovieClip {main.Locks}
"m_GoldTriangleLeft"Symbol 275 MovieClip {main.Triangle} Frame 1Symbol 272 MovieClip
"m_ActiveTriangleLeft"Symbol 275 MovieClip {main.Triangle} Frame 1Symbol 76 MovieClip
"m_LocksRight"Symbol 275 MovieClip {main.Triangle} Frame 2Symbol 270 MovieClip {main.Locks}
"m_GoldTriangleRight"Symbol 275 MovieClip {main.Triangle} Frame 2Symbol 274 MovieClip
"m_ActiveTriangleRight"Symbol 275 MovieClip {main.Triangle} Frame 2Symbol 89 MovieClip
"m_text"Symbol 285 MovieClip {main.LevelNumber} Frame 1Symbol 284 EditableText
"m_text"Symbol 288 MovieClip {main.FlyingNumber} Frame 1Symbol 287 EditableText
"m_text"Symbol 329 MovieClip {main.BombButtonFilling} Frame 1Symbol 328 EditableText
"bg"Symbol 389 MovieClip {main.Game} Frame 1Symbol 345 MovieClip
"m_levelTimer"Symbol 389 MovieClip {main.Game} Frame 1Symbol 349 MovieClip
"m_levelNumberText"Symbol 389 MovieClip {main.Game} Frame 1Symbol 350 EditableText
"m_gameScoreText"Symbol 389 MovieClip {main.Game} Frame 1Symbol 351 EditableText
"m_shuffleButtonFilling"Symbol 389 MovieClip {main.Game} Frame 1Symbol 355 MovieClip {main.ShuffleButtonFilling}
"m_shuffleButton"Symbol 389 MovieClip {main.Game} Frame 1Symbol 358 MovieClip {main.ShuffleButton}
"m_bombButtonFilling"Symbol 389 MovieClip {main.Game} Frame 1Symbol 329 MovieClip {main.BombButtonFilling}
"m_bombButton"Symbol 389 MovieClip {main.Game} Frame 1Symbol 332 MovieClip {main.BombMovie}
"m_menuButton"Symbol 389 MovieClip {main.Game} Frame 1Symbol 365 Button
"m_musicOnBtn"Symbol 389 MovieClip {main.Game} Frame 1Symbol 374 Button
"m_musicOffBtn"Symbol 389 MovieClip {main.Game} Frame 1Symbol 375 Button
"m_soundOnBtn"Symbol 389 MovieClip {main.Game} Frame 1Symbol 384 Button
"m_soundOffBtn"Symbol 389 MovieClip {main.Game} Frame 1Symbol 385 Button
"m_moreGamesBtn"Symbol 389 MovieClip {main.Game} Frame 1Symbol 205 Button
"m_lightningButtonFilling"Symbol 389 MovieClip {main.Game} Frame 1Symbol 329 MovieClip {main.BombButtonFilling}
"m_lightningButton"Symbol 389 MovieClip {main.Game} Frame 1Symbol 388 MovieClip {main.LightningButton}

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Protect (24)Timeline Frame 131 bytes "..$1$OP$X11s9c/uYfKsHCAlNDbak0."




http://swfchan.com/26/125903/info.shtml
Created: 26/2 -2019 14:57:05 Last modified: 26/2 -2019 14:57:05 Server time: 20/04 -2024 02:57:56