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

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

Star Magic.swf

This is the info page for
Flash #46255

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


Text
0%

Star Magic is an action-based puzzler that puts players
to the task of tossing colored bubbles up to a stack of
other colored bubbles.
By linking three or more of the same colors together,
those bubbles will disappear from the bin.
If those bubbles were supporting other bubbles in
the stack, their removal may cause the dangling chain to
fall out of play to give the player more room to work
with.
The added twist is that the stack is on a constant
downwards move, and if any bubble in the stack crosses
the line at the bottom, the game is over.

999999

99999

51

51

51

NEXT LEVEL:

99

ActionScript [AS1/AS2]

Frame 1
fscommand ("showmenu", "false"); _global.openSite = function () { getURL ("http://www.gameteam.com/stats/starmagic.html", "_blank"); };
Instance of Symbol 15 MovieClip in Frame 3
onClipEvent (load) { _alpha = 0; } onClipEvent (enterFrame) { t = _root.getBytesTotal(); l = _root.getBytesLoaded(); bar._xscale = (100 * l) / t; p = Math.round((1000 * l) / t) / 10; if (p == Math.floor(p)) { p = p + ".0"; } p = p + "%"; tf.text = p; if (t > 0) { if ((l < t) && (_alpha < 100)) { _alpha = (_alpha + 5); } if ((l == t) && (_alpha > 0)) { _alpha = (_alpha - 5); } } }
Instance of Symbol 18 MovieClip in Frame 4
onClipEvent (load) { _alpha = 0; state = 0; _root.stop(); } onClipEvent (enterFrame) { l = _root.getBytesLoaded(); t = _root.getBytesTotal(); if (state == 0) { _alpha = (_alpha + 5); if (_alpha >= 100) { _alpha = 100; state = 1; startPause = getTimer(); } } else if ((((state == 1) && (t == l)) && (l > 10)) && ((getTimer() - startPause) > 2500)) { this._alpha = this._alpha - 5; if (_alpha < 0) { _root.gotoAndStop("init"); } } }
Frame 6
function soundOff() { mc_sloop.gotoAndStop("stop"); stopSoundFlag = true; } function soundOn() { mc_sloop.gotoAndStop("start"); stopSoundFlag = false; } function new_game_pressed() { this.gotoAndStop("menu"); } function how_to_play_pressed() { this.gotoAndStop("rules"); } function more_pressed() { openSite(); } function back_pressed() { this.gotoAndStop("main"); } function arcade_mode_pressed() { arcadeGame = true; gameStart(); } function classic_mode_pressed() { arcadeGame = false; gameStart(); } function inMenuFirst() { mc_sloop.gotoAndStop("start"); } function gameStart() { level = 0; scores = 0; nextLevel(); } function nextLevel() { level++; this.gotoAndStop("reset"); this.gotoAndStop("game"); } function newGame() { this.gotoAndStop("main"); } function playSnd(lib_snd) { s = new Sound(this); s.attachSound(lib_snd); s.start(); } function initLevel() { txtLevel = level; txtScores = scores; lastTimer = getTimer(); if (arcadeGame) { mc_grid.init(levARowCount[level - 1], levColorCount[level - 1], levBonusCount[level - 1], mc_fall, mc_pusher, mc_trace); mc_ind.init(levAScores[level - 1]); levelSpeed = 1.6 + (0.05 * (level - 1)); } else { mc_grid.init(levCRowCount[level - 1], levColorCount[level - 1], levBonusCount[level - 1], mc_fall, mc_pusher, mc_trace); mc_ind.init(1); increaseK = levIncreaseK[level - 1]; } prevBonusNum = -1; shotBonusCount = _root.myRandom(maxShotBonusNum) + 1; generateNextBall(); generateNextBall(); mc_move_ball.mc_grid = mc_grid; var _local3; var _local2; _local3 = 0; while (_local3 < sightBallCount) { _local2 = mc_trace.attachMovie("lib_trace", "" + _local3, _local3); _local2._xscale = (_local2._yscale = 85); _local2._alpha = 75; _local2._visible = false; _local3++; } _local2 = mc_trace.attachMovie("lib_trace2", "" + sightBallCount, sightBallCount); _local2._xscale = (_local2._yscale = 115); _local2._alpha = 75; _local2._visible = false; drawSight(); redrawSight = true; winFlag = false; overFlag = false; if (timeCounter == null) { timeCounter = new CTimeCounter(); back1 = new CBackground(); back2 = new CBackground(); back3 = new CBackground(); } back1.init(mc_water.mc1, 10); back2.init(mc_water.mc2, 40); back3.init(mc_water.mc3, 20); mc_msg.gotoAndStop("stEmpty"); resetSounds(); gameState = 0; } function processGame() { var _local13; var _local5; var _local1; var _local4; _local13 = getTimer(); _local5 = _local13 - lastTimer; txtFps = 1 / (_local5 / 1000); lastTimer = _local13; back1.process(_local5); back2.process(_local5); back3.process(_local5); mc_pinguin.process(_local5); mc_yeti.process(_local5); mc_gun.processKeys(_local5); if (gameState == 1) { if (mc_msg.a1._visible == false) { _local4 = levColorCount[level]; _local1 = 1; while (_local1 <= _local4) { mc_msg["a" + _local1].setColor(_local1); mc_msg["a" + _local1]._visible = true; _local1++; } _local4 = levBonusCount[level]; _local1 = 1; while (_local1 <= _local4) { mc_msg["b" + _local1].setColor(_local1); mc_msg["b" + _local1].setBonus(_local1, 2); mc_msg["b" + _local1]._visible = true; _local1++; } } } if (gameState != 0) { return(undefined); } processFallBalls(_local5); if (mc_grid.fillBallsCount > 0) { var _local11 = scrBall * mc_grid.fillBallsCount; if (mc_grid.doubleScores > 0) { sndScoreX2orX4 = true; _local11 = _local11 * (2 * mc_grid.doubleScores); } scores = scores + _local11; txtScores = scores; if (mc_grid.bonusJumpUp > 0) { _local1 = 0; while (_local1 < mc_grid.bonusJumpUp) { if (arcadeGame) { mc_grid.jumpUpWithoutPusher(); } else { mc_grid.jumpUp(); } _local1++; } } if (arcadeGame) { mc_ind.addValue(mc_grid.fillBallsCount); if (mc_ind.isFull()) { mc_grid.fallAllBalls(); win(); } } correctAllColors(); } if ((mc_grid.fallBallsCount + mc_grid.fillBallsCount) > 4) { mc_yeti.toCool(); } mc_grid.fillBallsCount = 0; mc_grid.fallBallsCount = 0; mc_grid.doubleScores = 0; mc_grid.bonusJumpUp = 0; if (overFlag) { if (!timeCounter.process(_local5)) { mc_msg.btn._visible = true; var _local6 = false; var _local10; for (_local10 in mc_fall) { _local6 = true; break; } if (!_local6) { gameState = 2; } } } if (winFlag) { if (!timeCounter.process(_local5)) { var _local6 = false; for (var _local10 in mc_fall) { _local6 = true; break; } if (!_local6) { mc_gun.disable(); mc_pusher._visible = false; if (level < 10) { playSnd("endlevel"); mc_msg.gotoAndStop("stWin"); mc_msg.txtLevel = level + 1; _local1 = 1; while (_local1 <= 8) { mc_msg["a" + _local1]._visible = false; _local1++; } _local1 = 1; while (_local1 <= 8) { mc_msg["b" + _local1]._visible = false; _local1++; } gameState = 1; } else { mc_msg.gotoAndStop("stCompleted"); gameState = 3; } } } return(undefined); } if (mc_move_ball._visible == false) { mc_gun.processTime(_local5); } if (mc_gun.autoShot()) { myMouseDown(); } mc_grid.process(_local5); var _local12 = (shotSpeed * _local5) / 1000; _local4 = Math.ceil(_local12 / (CGrid.BALL_RAD / 2)); var _local8 = _local12 / _local4; var _local14; var _local9; var _local7 = ((levelSpeed * _local5) / 1000) / _local4; _local1 = 0; while (_local1 < _local4) { if (arcadeGame) { if (!mc_grid.bonusFreeze) { mc_grid.moveDown(_local7); } } if (mc_move_ball._visible) { mc_move_ball.doStep(_local8); _local9 = mc_grid.checkForEnd(mc_move_ball); if (_local9 != null) { if (mc_grid.fillBallsCount > 0) { sndBubbleCollisionR = true; } else { sndBubbleCollision = true; } mc_move_ball.hide(); if (!arcadeGame) { if (!mc_grid.bonusFreeze) { mc_ind.addValue(increaseK); if (mc_ind.isFull()) { mc_grid.jumpDown(); mc_ind.reset(); } } var _local3 = true; var _local2; _local2 = 0; while (_local2 < mc_grid.maxColorNum) { if (mc_grid.colorCountArr[_local2] > 0) { _local3 = false; break; } _local2++; } if (_local3) { win(); } } } } _local1++; } if (overFlag) { return(undefined); } if (arcadeGame && (!winFlag)) { mc_grid.checkAddRow(); } if (redrawSight) { drawSight(); } redrawSight = true; if (mc_grid.getDownY() >= 350) { overFlag = true; mc_gun.disable(); mc_trace._visible = false; mc_msg.gotoAndStop("stOver"); mc_msg.btn._visible = false; timeCounter.setTime(1000); mc_gun.resetNumber(); mc_grid.fallAllBalls(); } playSounds(); } function myMouseMove() { mc_gun.myMouseMove(); mc_gun.process(this._xmouse); drawSight(); redrawSight = false; } function myMouseDown() { if ((winFlag || (overFlag)) || (gameState != 0)) { return(undefined); } if (mc_move_ball._visible == false) { startBall(); sndGunFire = true; } } function myKeyDown() { if (Key.isDown(32)) { if (gameState == 1) { nextLevel(); } else if (gameState == 2) { newGame(); } else { myMouseDown(); } } } function win() { winFlag = true; timeCounter.setTime(relaxTime); mc_gun.resetNumber(); mc_trace._visible = false; } function processFallBalls(dTime) { var _local1; var _local2; for (_local2 in mc_fall) { _local1 = mc_fall[_local2]; _local1.process(dTime); if (_local1._y > 400) { _local1.removeMovieClip(); } } } function generateNextBall() { var _local4; var _local2 = 0; var _local3 = 0; mc_gun.setColor(mc_next.colorNum); mc_gun.setBonus(mc_next.bonusNum, mc_next.bonusColorNum); _local4 = _root.myRandom(mc_grid.maxColorNum) + 1; _local4 = correctColor(_local4); if (mc_grid.maxBonusNum > 0) { shotBonusCount--; if (shotBonusCount <= 0) { _local2 = _root.myRandom(mc_grid.maxBonusNum) + 1; if ((_local2 == prevBonusNum) && (_local2 != CBall.BONUS_COLOR)) { if (Math.random() > 0.5) { _local2++; if (_local2 > mc_grid.maxBonusNum) { _local2 = 1; } } else { _local2--; if (_local2 < 1) { _local2 = mc_grid.maxBonusNum; } } } if (_local2 == CBall.BONUS_COLOR) { _local3 = _root.myRandom(mc_grid.maxColorNum) + 1; if (_local4 == _local3) { if (Math.random() > 0.5) { _local3++; if (_local3 > mc_grid.maxColorNum) { _local3 = 1; } } else { _local3--; if (_local3 < 1) { _local3 = mc_grid.maxColorNum; } } } } prevBonusNum = _local2; shotBonusCount = _root.myRandom(maxShotBonusNum) + 1; } } mc_next.setColor(_local4); mc_next.setBonus(_local2, _local3); } function correctAllColors() { var _local1; mc_gun.setColor(correctColor(mc_gun.colorNum)); mc_next.setColor(correctColor(mc_next.colorNum)); } function correctColor(c) { if (arcadeGame == false) { var _local3; var _local4 = _root.myRandom(2); _local3 = 0; while (_local3 < mc_grid.maxColorNum) { if (mc_grid.colorCountArr[c - 1] > 0) { break; } if (_local4 == 1) { c++; if (c > mc_grid.maxColorNum) { c = 1; } } else { c--; if (c < 1) { c = mc_grid.maxColorNum; } } _local3++; } } return(c); } function startBall() { var _local1 = (mc_gun._rotation / 180) * Math.PI; mc_move_ball.startMove(mc_gun._x, mc_gun._y, Math.sin(_local1), -Math.cos(_local1)); mc_move_ball.setColor(mc_gun.colorNum); mc_move_ball.setBonus(mc_gun.bonusNum, mc_gun.bonusColorNum); generateNextBall(); mc_gun.doShot(); } function drawSight() { var _local15 = (mc_gun._rotation / 180) * Math.PI; mc_grid.getFirstBall(mc_gun._x, mc_gun._y, Math.sin(_local15), -Math.cos(_local15)); mc_trace._x = mc_grid._x; mc_trace._y = mc_grid._y; var _local1; var _local14 = mc_grid.points.length - 1; var _local7; var _local6; var _local9; var _local12; var _local11; var _local5 = 28; var _local2; var _local10; var _local13 = 0; var _local3 = _local5; var _local4; var _local8 = 0; _local1 = 1; while (_local1 < _local14) { _local12 = mc_grid.points[_local1 - 1].x; _local7 = mc_grid.points[_local1].x - _local12; _local11 = mc_grid.points[_local1 - 1].y; _local6 = mc_grid.points[_local1].y - _local11; _local9 = Math.sqrt((_local7 * _local7) + (_local6 * _local6)); _local7 = _local7 / _local9; _local6 = _local6 / _local9; _local10 = Math.floor((_local9 - _local3) / _local5); _local2 = 0; while (_local2 <= _local10) { _local4 = mc_trace["" + _local8]; _local4._visible = true; _local8++; _local13++; _local4._x = _local12 + (_local7 * (_local3 + (_local5 * _local2))); _local4._y = _local11 + (_local6 * (_local3 + (_local5 * _local2))); _local2++; } _local3 = (_local9 - (_local10 * _local5)) - _local3; _local3 = _local5 - _local3; _local1++; } _local1 = _local8; while (_local1 < sightBallCount) { mc_trace["" + _local1]._visible = false; _local1++; } _local4 = mc_trace["" + sightBallCount]; _local4._visible = true; _local4._x = mc_grid.points[_local14].x; _local4._y = mc_grid.points[_local14].y; } function playSounds() { if (sndBubbleLevelUp) { playSnd("snd_BubbleLevelUp"); resetSounds(); } else if (snd8bonus) { playSnd("snd_8bonus"); resetSounds(); } else if (sndExplosionTNT) { playSnd("snd_ExplosionTNT"); resetSounds(); } else if (sndFreeze) { playSnd("snd_Freeze"); resetSounds(); } else if (sndScoreX2orX4) { playSnd("snd_ScoreX2orX4"); resetSounds(); } else if (sndAutoFire) { playSnd("snd_AutoFire"); resetSounds(); } else if (sndBubbleCollision) { playSnd("snd_BubbleCollision"); resetSounds(); } else if (sndBubbleCollisionR) { playSnd("snd_BubbleCollisionR"); resetSounds(); } else if (sndPingvin) { playSnd("snd_Pingvin"); resetSounds(); } else if (sndGunFire) { playSnd("snd_GunFire"); resetSounds(); } } function resetSounds() { snd8bonus = (sndAutoFire = (sndBubbleCollision = (sndBubbleCollisionR = (sndBubbleLevelUp = (sndExplosionTNT = (sndFreeze = (sndGunFire = (sndPingvin = (sndScoreX2orX4 = false))))))))); } var author = "Galimov Ruslan rigal@mail.ru"; var copyright = "www.sunnygames.com"; fscommand ("showmenu", "false"); fscommand ("trapallkeys", "true"); var lastTimer; var level; var stopSoundFlag = false; _root.myRandom = function (n) { return(Math.floor((n - 1E-6) * Math.random())); }; var scores; var scrBall = 3; var gameState; var shotSpeed = 600; var levCRowCount = [7, 7, 7, 7, 8, 8, 8, 9, 9, 9]; var levARowCount = [6, 6, 7, 6, 7, 7, 6, 7, 7, 7]; var levAScores = [70, 80, 90, 100, 110, 120, 130, 140, 150, 160]; var levIncreaseK = [0.1001, 0.12001, 0.125001, 0.143001, 0.143001, 0.143001, 0.143001, 0.143001, 0.143001, 0.143001]; var levColorCount = [4, 4, 4, 5, 5, 5, 6, 7, 7, 8]; var levBonusCount = [0, 1, 2, 3, 4, 5, 6, 7, 8, 8]; var arcadeGame = false; var increaseK; var levelSpeed; var prevBonusNum; var shotBonusCount; var maxShotBonusNum = 10; var redrawSight = true; var sightBallCount = 70; var timeCounter = null; var winFlag; var overFlag; var relaxTime = 1500; var back1; var back2; var back3; var snd8bonus; var sndAutoFire; var sndBubbleCollision; var sndBubbleCollisionR; var sndBubbleLevelUp; var sndExplosionTNT; var sndFreeze; var sndGunFire; var sndPingvin; var sndScoreX2orX4; nextFrame(); inMenuFirst();
Frame 7
stop();
Instance of Symbol 132 MovieClip "mc_sloop" in Frame 7
onClipEvent (load) { var soundControl = new Sound(this); }
Instance of Symbol 138 MovieClip "btn_sound" in Frame 7
onClipEvent (load) { if (this._parent.stopSoundFlag) { this.gotoAndStop(2); } }
Frame 11
this.stop();
Instance of Symbol 153 MovieClip "mc_control" in Frame 11
onClipEvent (load) { this._parent.initLevel(); } onClipEvent (enterFrame) { this._parent.processGame(); } onClipEvent (mouseMove) { this._parent.myMouseMove(); updateAfterEvent(); } onClipEvent (mouseDown) { with (this._parent) { if ((_xmouse < (btn_sound._x + (btn_sound._width / 2))) && (_ymouse > (btn_sound._y - (btn_sound._height / 2)))) { return(undefined); } } this._parent.myMouseDown(); updateAfterEvent(); } onClipEvent (keyDown) { this._parent.myKeyDown(); updateAfterEvent(); }
Symbol 5 MovieClip Frame 40
gotoAndPlay (1);
Symbol 9 Button
on (press) { openSite(); }
Symbol 51 MovieClip Frame 1
this.stop();
Symbol 55 MovieClip Frame 1
this.stop();
Symbol 67 MovieClip [lib_ball] Frame 1
#initclip 10 Object.registerClass("lib_ball", CBall); #endinitclip
Symbol 67 MovieClip [lib_ball] Frame 13
this.removeMovieClip();
Symbol 67 MovieClip [lib_ball] Frame 32
this.removeMovieClip();
Symbol 73 MovieClip [lib_fall] Frame 1
#initclip 9 Object.registerClass("lib_fall", CFallMovie); #endinitclip
Symbol 88 MovieClip Frame 1
this.stop();
Symbol 195 MovieClip [__Packages.CFallMovie] Frame 0
class CFallMovie extends MovieClip { var time, state, _y; function CFallMovie () { super(); time = 0; state = 0; } function process(dTime) { if (state == 0) { time = time + dTime; var _local2 = -180 + ((acc * time) / 1000); if (_local2 < maxSpeed) { _y = _y + ((_local2 * dTime) / 1000); } else { _y = _y + ((maxSpeed * dTime) / 1000); state = 1; } } else { _y = _y + ((maxSpeed * dTime) / 1000); } } var maxSpeed = 700; var acc = 600; }
Symbol 196 MovieClip [__Packages.CBall] Frame 0
class CBall extends MovieClip { var marked, bonusNum, stop, mc, colorNum, bonusColorNum; function CBall () { super(); marked = false; bonusNum = 0; stop(); mc.mc_freeze._visible = false; } function setColor(num) { colorNum = num; mc.gotoAndStop(colorNum); } function setBonus(bonusNum_, bonusColorNum_) { bonusNum = bonusNum_; bonusColorNum = bonusColorNum_; mc.mc_bonus.gotoAndStop(1 + bonusNum); if (bonusNum == BONUS_COLOR) { mc.mc_bonus.mc.gotoAndStop(bonusColorNum); } } function isMyColor(c) { return((c == colorNum) || ((bonusNum == BONUS_COLOR) && (c == bonusColorNum))); } function freeze() { mc.mc_freeze._visible = true; } function unFreeze() { mc.mc_freeze._visible = false; } static var BONUS_COLOR = 1; }
Symbol 197 MovieClip [__Packages.CTimeCounter] Frame 0
class CTimeCounter { var curTime; function CTimeCounter () { } function setTime(time) { curTime = time; } function process(dTime) { curTime = curTime - dTime; return(curTime > 0); } function endTime() { curTime = 0; } }
Symbol 198 MovieClip [__Packages.CBackground] Frame 0
class CBackground { var mc, speed, sX; function CBackground () { } function init(mc_, speed_) { mc = mc_; speed = speed_; sX = mc._x; } function process(dTime) { var _local2 = (speed * dTime) / 1000; mc._x = mc._x - _local2; if (mc._x <= (sX - period)) { mc._x = mc._x + period; } } var period = 129; }
Symbol 199 MovieClip [__Packages.CGrid] Frame 0
class CGrid extends MovieClip { var ball_array, mc_fall, fallDepth, mc_pusher, pusherDY, _y, mc_trace, traceTime, bonusFreeze, beginY, floatY, colorCountArr, attachMovie, fieldWidth, freezeTime, _x, fillBallsCount, fallBallsCount, doubleScores, bonusJumpUp; function CGrid () { super(); ball_array = new Array(); } function init(rowCount, maxColorNum_, maxBonusNum_, mc_fall_, mc_pusher_, mc_trace_) { maxColorNum = maxColorNum_; maxBonusNum = maxBonusNum_; mc_fall = mc_fall_; fallDepth = 0; mc_pusher = mc_pusher_; pusherDY = _y - mc_pusher._y; mc_trace = mc_trace_; mc_trace._visible = false; traceTime = 0; bonusFreeze = false; beginY = (floatY = _y); colorCountArr = new Array(maxColorNum); var _local4; var _local5; var _local6; var _local3; _local4 = 0; while (_local4 < maxColorNum) { colorCountArr[_local4] = 0; _local4++; } ballDepth = 0; _local4 = 0; while (_local4 < rowCount) { _local6 = new Array(); _local5 = 0; while (_local5 < COLS) { _local3 = attachMovie("lib_ball", "" + ballDepth, ballDepth); ballDepth++; _local3._x = ((_local4 % 2) * BALL_RAD) + (_local5 * BALL_DIAM); _local3._y = _local4 * BALL_DY; _local3.setColor(_root.myRandom(maxColorNum) + 1); _local6.push(_local3); colorCountArr[_local3.colorNum - 1]++; _local5++; } ball_array.push(_local6); _local4++; } addRowCount = 0; fieldWidth = ((COLS - 1) * BALL_DIAM) + BALL_RAD; calcNeighboursXY(); } function process(dTime) { if (mc_trace._visible) { traceTime = traceTime - dTime; if (traceTime <= 0) { disableTrace(); } } if (bonusFreeze) { freezeTime = freezeTime - dTime; if (freezeTime <= 0) { disableFreeze(); } } } function enableTrace() { if (mc_trace._visible) { traceTime = traceTime + TRACE_TIME; } else { mc_trace._visible = true; traceTime = TRACE_TIME; } } function disableTrace() { mc_trace._visible = false; } function enableFreeze() { _root.sndFreeze = true; if (bonusFreeze) { freezeTime = freezeTime + FREEZE_TIME; } else { bonusFreeze = true; freezeTime = FREEZE_TIME; var _local3; var _local5; var _local6 = ball_array.length; var _local4; _local5 = 0; while (_local5 < _local6) { _local3 = 0; while (_local3 < COLS) { _local4 = ball_array[_local5][_local3]; if (_local4 != null) { _local4.freeze(); } _local3++; } _local5++; } } } function disableFreeze() { bonusFreeze = false; var _local2; var _local4; var _local5 = ball_array.length; var _local3; _local4 = 0; while (_local4 < _local5) { _local2 = 0; while (_local2 < COLS) { _local3 = ball_array[_local4][_local2]; if (_local3 != null) { _local3.unFreeze(); } _local2++; } _local4++; } } function moveDown(step) { if (ball_array.length < 6) { step = step * (7 - ball_array.length); } floatY = floatY + step; _y = floatY; } function jumpDown() { floatY = floatY + BALL_DY; _y = floatY; mc_pusher._y = floatY - pusherDY; } function jumpUp() { if (Math.abs(_y - beginY) > 2) { floatY = floatY - BALL_DY; if (floatY < beginY) { floatY = beginY; } _y = floatY; mc_pusher._y = floatY - pusherDY; } _root.sndBubbleLevelUp = true; } function jumpUpWithoutPusher() { floatY = floatY - BALL_DY; _y = floatY; _root.sndBubbleLevelUp = true; } function jumpToStartPos() { _y = (floatY = beginY); mc_pusher._y = floatY - pusherDY; } function checkAddRow() { var _local2 = Math.floor((floatY - beginY) / BALL_DY) + 1; if (_local2 > addRowCount) { addRow(); } } function addRow() { var _local5 = new Array(); var _local4; var _local3; addRowCount++; _local4 = 0; while (_local4 < COLS) { _local3 = attachMovie("lib_ball", "" + ballDepth, ballDepth); ballDepth++; _local3._x = (Math.abs(addRowCount % 2) * BALL_RAD) + (_local4 * BALL_DIAM); _local3._y = (-addRowCount) * BALL_DY; _local3.setColor(_root.myRandom(maxColorNum) + 1); _local5.push(_local3); colorCountArr[_local3.colorNum - 1]++; _local4++; } ball_array.splice(0, 0, _local5); } function getDownY() { return((_y + ((((-addRowCount) + ball_array.length) - 1) * BALL_DY)) + BALL_RAD); } function calcNeighboursXY() { var _local1; var _local7; var _local6; var _local9; var _local8; var _local5; var _local2; var _local4; var _local3; _local7 = 2; _local6 = 2; _local9 = ((_local6 % 2) * BALL_RAD) + (_local7 * BALL_DIAM); _local8 = _local6 * BALL_DY; _local1 = 0; while (_local1 < 6) { _local5 = _local7 + neighbours[_local1][0]; _local2 = _local6 + neighbours[_local1][1]; _local4 = ((_local2 % 2) * BALL_RAD) + (_local5 * BALL_DIAM); _local3 = _local2 * BALL_DY; neighboursXY[_local1][0] = _local4 - _local9; neighboursXY[_local1][1] = _local3 - _local8; _local1++; } _local7 = 1; _local6 = 1; _local9 = ((_local6 % 2) * BALL_RAD) + (_local7 * BALL_DIAM); _local8 = _local6 * BALL_DY; _local1 = 0; while (_local1 < 6) { _local5 = _local7 + neighbours2[_local1][0]; _local2 = _local6 + neighbours2[_local1][1]; _local4 = ((_local2 % 2) * BALL_RAD) + (_local5 * BALL_DIAM); _local3 = _local2 * BALL_DY; neighboursXY2[_local1][0] = _local4 - _local9; neighboursXY2[_local1][1] = _local3 - _local8; _local1++; } } function getFirstBall(x0, y0, dx, dy) { var _local17 = ball_array.length; var _local18 = (-addRowCount) * BALL_DY; x0 = x0 - _x; y0 = y0 - _y; var _local11; var _local10; _local11 = x0 + (1000 * dx); _local10 = y0 + (1000 * dy); var _local4; var _local3; var _local6; var _local9; _local4 = y0 - _local10; _local3 = _local11 - x0; _local6 = (x0 * (_local10 - y0)) - (y0 * (_local11 - x0)); _local9 = Math.sqrt((_local4 * _local4) + (_local3 * _local3)); _local4 = _local4 / _local9; _local3 = _local3 / _local9; _local6 = _local6 / _local9; while (points.pop() != undefined) { } points.push({x:x0, y:y0}); var _local8; var _local13; var _local7; while (true) { _local8 = getBoundsIntersection(dx, dy, _local4, _local3, _local6); _local13 = getBallIntersection(_local8.x, _local8.y, x0, y0, _local4, _local3, _local6); if (_local13 != null) { _local7 = getFirstEmptyNeighbour(_local13.col, _local13.row, x0, y0, _local11, _local10, _local4, _local3, _local6); if (_local4 > Math.abs(_local3)) { points.push({x:(-((_local3 * _local7.y) + _local6)) / _local4, y:_local7.y}); } else { points.push({x:_local7.x, y:(-((_local4 * _local7.x) + _local6)) / _local3}); } points.push({x:_local7.x, y:_local7.y}); return(undefined); } x0 = _local8.x; y0 = _local8.y; dx = -dx; _local11 = x0 + (1000 * dx); _local10 = y0 + (1000 * dy); _local4 = y0 - _local10; _local3 = _local11 - x0; _local6 = (x0 * (_local10 - y0)) - (y0 * (_local11 - x0)); _local9 = Math.sqrt((_local4 * _local4) + (_local3 * _local3)); _local4 = _local4 / _local9; _local3 = _local3 / _local9; _local6 = _local6 / _local9; points.push({x:x0, y:y0}); if (y0 < (((-addRowCount) * BALL_DY) + 2)) { points.push({x:x0, y:y0}); return(undefined); } } } function checkForEnd(mc_move_ball) { fillBallsCount = 0; fallBallsCount = 0; doubleScores = 0; bonusJumpUp = 0; var _local9; var _local8; _local9 = (mc_move_ball.sX + (mc_move_ball.curR * mc_move_ball.vx)) - _x; _local8 = (mc_move_ball.sY + (mc_move_ball.curR * mc_move_ball.vy)) - _y; var _local18; var _local17; _local18 = Math.round((_local8 + (addRowCount * BALL_DY)) / BALL_DY); _local17 = Math.round((_local9 - ((Math.abs(_local18 + addRowCount) % 2) * BALL_RAD)) / BALL_DIAM); if (_local17 < 0) { _local17 = 0; } else if (_local17 >= COLS) { _local17 = COLS - 1; } var _local3; var _local4; var _local20; var _local19; var _local16; var _local15; var _local12; var _local13; var _local14 = 500000 /* 0x07A120 */; var _local6; var _local5; var _local7; var _local2; if (_local18 <= ball_array.length) { _local20 = _local18 - 1; _local19 = _local18 + 1; _local16 = _local17 - 1; _local15 = _local17 + 1; if (_local20 < 0) { _local20 = 0; } if (_local19 > (ball_array.length - 1)) { _local19 = ball_array.length - 1; } _local3 = _local19; while (_local3 >= _local20) { _local4 = _local16; while (_local4 <= _local15) { _local2 = ball_array[_local3][_local4]; if (_local2 != null) { _local6 = _local2._x - _local9; _local5 = _local2._y - _local8; _local7 = Math.sqrt((_local6 * _local6) + (_local5 * _local5)); if (_local7 <= BALL_DIAM_I) { _local14 = _local7; _local12 = _local4; _local13 = _local3; } } _local4++; } _local3--; } if (_local14 < 500000) { var _local10; var _local25 = _local9 - ((mc_move_ball.curR * mc_move_ball.vx) * 100); var _local23 = _local8 - ((mc_move_ball.curR * mc_move_ball.vy) * 100); var _local24; var _local22; var _local27; var _local26; _local24 = _local23 - _local8; _local22 = _local9 - _local25; _local27 = (_local25 * (_local8 - _local23)) - (_local23 * (_local9 - _local25)); _local26 = Math.sqrt((_local24 * _local24) + (_local22 * _local22)); _local24 = _local24 / _local26; _local22 = _local22 / _local26; _local27 = _local27 / _local26; _local10 = getFirstEmptyNeighbour(_local12, _local13, _local25, _local23, _local9, _local8, _local24, _local22, _local27); if (_local10.col == -1) { _local10 = getFirstEmptyNeighbourForPoint(_local12, _local13, _local9, _local8); } if (_local10.row == ball_array.length) { var _local21 = new Array(COLS); _local3 = 0; while (_local3 < COLS) { _local21[_local3] = null; _local3++; } ball_array.push(_local21); } _local2 = attachMovie("lib_ball", "" + ballDepth, ballDepth); ballDepth++; _local2._x = ((Math.abs(_local10.row + addRowCount) % 2) * BALL_RAD) + (_local10.col * BALL_DIAM); _local2._y = (_local10.row * BALL_DY) - (addRowCount * BALL_DY); _local2.setColor(mc_move_ball.colorNum); _local2.setBonus(mc_move_ball.bonusNum, mc_move_ball.bonusColorNum); if (bonusFreeze) { _local2.freeze(); } ball_array[_local10.row][_local10.col] = _local2; colorCountArr[_local2.colorNum - 1]++; checkBonus(_local10.col, _local10.row, _local2); if (ball_array[_local10.row][_local10.col] != null) { checkMovingOff(_local2, _local10.col, _local10.row); } return(_local2); } } var _local28 = ((-addRowCount) * BALL_DY) + (BALL_DY / 2); if (_local8 <= _local28) { _local2 = attachMovie("lib_ball", "" + ballDepth, ballDepth); ballDepth++; _local2._x = ((Math.abs(_local18 + addRowCount) % 2) * BALL_RAD) + (_local17 * BALL_DIAM); _local2._y = (_local18 * BALL_DY) - (addRowCount * BALL_DY); _local2.setColor(mc_move_ball.colorNum); _local2.setBonus(mc_move_ball.bonusNum, mc_move_ball.bonusColorNum); if (bonusFreeze) { _local2.freeze(); } ball_array[_local18][_local17] = _local2; colorCountArr[_local2.colorNum - 1]++; checkBonus(_local17, _local18, _local2); if (ball_array[_local18][_local17] != null) { checkMovingOff(_local2, _local17, _local18); } return(_local2); } return(null); } function checkBonus(col, row, mc) { if (mc.bonusNum > 0) { switch (mc.bonusNum) { case 7 : bang(col, row, mc); _root.sndExplosionTNT = true; break; case 8 : colorize(col, row, mc); _root.snd8bonus = true; } } } function bang(col, row, mc) { var _local13 = new Array(); var _local15; var _local12; var _local9; var _local8; var _local4; var _local5; var _local14 = ball_array.length; var _local7; var _local6; if ((Math.abs(row + addRowCount) % 2) == 0) { _local15 = neighbours; } else { _local15 = neighbours2; } mc.marked = true; _local13.push({col:col, row:row}); _local7 = 0; while (_local7 < 6) { _local9 = col + _local15[_local7][0]; _local8 = row + _local15[_local7][1]; if ((((_local9 >= 0) && (_local9 < COLS)) && (_local8 >= 0)) && (_local8 < _local14)) { mc = ball_array[_local8][_local9]; if ((mc != null) && (mc.marked == false)) { mc.marked = true; _local13.push({col:_local9, row:_local8}); } if ((Math.abs(_local8 + addRowCount) % 2) == 0) { _local12 = neighbours; } else { _local12 = neighbours2; } _local6 = 0; while (_local6 < 6) { _local4 = _local9 + _local12[_local6][0]; _local5 = _local8 + _local12[_local6][1]; if ((((((_local4 >= 0) && (_local4 < COLS)) && (_local5 >= 0)) && (_local5 < _local14)) && ((mc = ball_array[_local5][_local4]) != null)) && (mc.marked == false)) { mc.marked = true; _local13.push({col:_local4, row:_local5}); } _local6++; } } _local7++; } var _local16 = 0; var _local17 = _local13.length; _local7 = 0; while (_local7 < _local17) { col = _local13[_local7].col; row = _local13[_local7].row; mc = ball_array[row][col]; if (mc != null) { colorCountArr[mc.colorNum - 1]--; checkLongBonus(mc); mc.gotoAndPlay("bang" + (_root.myRandom(4) + 1)); _local16++; ball_array[row][col] = null; } _local7++; } fillBallsCount = _local16; checkPendingBalls(); checkOddRows(); } function colorize(col, row, mc) { var _local12 = new Array(); var _local14; var _local9; var _local8; var _local7; var _local3; var _local4; var _local13 = ball_array.length; var _local6; var _local5; var _local15 = mc.colorNum; if ((Math.abs(row + addRowCount) % 2) == 0) { _local14 = neighbours; } else { _local14 = neighbours2; } mc.setBonus(0, 0); mc.marked = true; _local12.push({col:col, row:row}); _local6 = 5; while (_local6 >= 0) { _local8 = col + _local14[_local6][0]; _local7 = row + _local14[_local6][1]; if ((((((_local8 >= 0) && (_local8 < COLS)) && (_local7 >= 0)) && (_local7 < _local13)) && ((mc = ball_array[_local7][_local8]) != null)) && (mc.marked == false)) { mc.marked = true; _local12.push({col:_local8, row:_local7}); if ((Math.abs(_local7 + addRowCount) % 2) == 0) { _local9 = neighbours; } else { _local9 = neighbours2; } _local5 = 5; while (_local5 >= 0) { _local3 = _local8 + _local9[_local5][0]; _local4 = _local7 + _local9[_local5][1]; if ((((((_local3 >= 0) && (_local3 < COLS)) && (_local4 >= 0)) && (_local4 < _local13)) && ((mc = ball_array[_local4][_local3]) != null)) && (mc.marked == false)) { mc.marked = true; _local12.push({col:_local3, row:_local4}); break; } _local5--; } break; } _local6--; } var _local17 = 0; var _local16 = _local12.length; _local6 = 0; while (_local6 < _local16) { col = _local12[_local6].col; row = _local12[_local6].row; mc = ball_array[row][col]; if (mc != null) { mc.marked = false; colorCountArr[mc.colorNum - 1]--; mc.setColor(_local15); colorCountArr[_local15 - 1]++; } _local6++; } } function checkLongBonus(mc) { if (mc.bonusNum > 0) { switch (mc.bonusNum) { case 2 : enableTrace(); _root.sndBubbleLevelUp = true; break; case 3 : doubleScores = doubleScores + 1; break; case 4 : bonusJumpUp = bonusJumpUp + 1; break; case 5 : enableFreeze(); break; case 6 : doubleScores = doubleScores + 2; } } } function getBoundsIntersection(dx, dy, A, B, C) { var _local3 = 0; var _local4 = -30000; var _local5 = 0; var _local2 = -30000; if (Math.abs(dx) > 0.15) { if (dx > 0) { _local3 = fieldWidth; } else { _local3 = 0; } _local4 = (-((A * _local3) + C)) / B; } _local2 = (-addRowCount) * BALL_DY; _local5 = (-((B * _local2) + C)) / A; if (_local2 > _local4) { return({x:_local5, y:_local2}); } return({x:_local3, y:_local4}); } function getBallIntersection(x1, y1, x0, y0, A, B, C) { var _local23 = (-addRowCount) * BALL_DY; var _local24 = y1 - BALL_DIAM; var _local22 = Math.round((_local24 - _local23) / BALL_DY) - 1; var _local21 = Math.round((y0 - _local23) / BALL_DY) + 1; if (_local22 < 0) { _local22 = 0; } if (_local21 > (ball_array.length - 1)) { _local21 = ball_array.length - 1; } var _local8 = 500000 /* 0x07A120 */; var _local10 = -1; var _local11 = -1; var _local7; var _local5; var _local2; var _local4; var _local3; var _local6; var _local12; var _local13; var _local9; _local4 = x1 - x0; _local3 = y1 - y0; _local12 = (_local4 * _local4) + (_local3 * _local3); _local7 = _local21; while (_local7 >= _local22) { _local5 = 0; while (_local5 < COLS) { _local2 = ball_array[_local7][_local5]; if ((_local2 != null) && ((_local13 = Math.abs(((A * _local2._x) + (B * _local2._y)) + C)) <= BALL_DIAM_I)) { _local4 = _local2._x - x0; _local3 = _local2._y - y0; _local6 = (_local4 * _local4) + (_local3 * _local3); _local9 = Math.sqrt(_local6) + _local13; if (_local9 < _local8) { if (_local6 > _local12) { _local4 = _local2._x - x1; _local3 = _local2._y - y1; _local6 = (_local4 * _local4) + (_local3 * _local3); if (_local6 <= (BALL_DIAM_I * BALL_DIAM_I)) { _local8 = Math.sqrt(_local6) + Math.sqrt(_local12); _local10 = _local5; _local11 = _local7; } } else { _local8 = _local9; _local10 = _local5; _local11 = _local7; } } } _local5++; } _local7--; } if (_local10 != -1) { return({col:_local10, row:_local11}); } return(null); } function getFirstEmptyNeighbour(col, row, x0, y0, x1, y1, A, B, C) { var _local2; var _local10 = 500000 /* 0x07A120 */; var _local11 = -1; var _local14; var _local13; var _local12; var _local26; var _local25; var _local9; var _local8; var _local3; var _local7; var _local5; var _local4; var _local28; var _local27; var _local29; var _local6 = {x:0, y:0, R:0}; if ((Math.abs(row + addRowCount) % 2) == 0) { _local9 = neighbours; _local8 = neighboursXY; } else { _local9 = neighbours2; _local8 = neighboursXY2; } _local26 = ((Math.abs(addRowCount + row) % 2) * BALL_RAD) + (col * BALL_DIAM); _local25 = (row * BALL_DY) - (addRowCount * BALL_DY); _local2 = 0; while (_local2 < 6) { _local3 = col + _local9[_local2][0]; _local7 = row + _local9[_local2][1]; if (((_local3 >= 0) && (_local7 >= 0)) && (_local3 < COLS)) { _local5 = _local26 + _local8[_local2][0]; _local4 = _local25 + _local8[_local2][1]; if (Math.abs(((A * _local5) + (B * _local4)) + C) <= BALL_RAD_B) { getCircleIntersection(x0, y0, x1, y1, _local5, _local4, BALL_RAD_B, BALL_RAD_B * BALL_RAD_B, _local6); if (_local6.R < _local10) { _local10 = _local6.R; _local11 = _local3; _local14 = _local7; _local13 = _local5; _local12 = _local4; } } } _local2++; } return({x:_local13, y:_local12, col:_local11, row:_local14}); } function getFirstEmptyNeighbourForPoint(col, row, x0, y0) { var _local2; var _local12 = 500000 /* 0x07A120 */; var _local13; var _local16; var _local15; var _local14; var _local22; var _local21; var _local11; var _local10; var _local3; var _local9; var _local7; var _local6; var _local5; var _local4; var _local8; if ((Math.abs(row + addRowCount) % 2) == 0) { _local11 = neighbours; _local10 = neighboursXY; } else { _local11 = neighbours2; _local10 = neighboursXY2; } _local22 = ((Math.abs(addRowCount + row) % 2) * BALL_RAD) + (col * BALL_DIAM); _local21 = (row * BALL_DY) - (addRowCount * BALL_DY); _local2 = 0; while (_local2 < 6) { _local3 = col + _local11[_local2][0]; _local9 = row + _local11[_local2][1]; if (((_local3 >= 0) && (_local9 >= 0)) && (_local3 < COLS)) { _local7 = _local22 + _local10[_local2][0]; _local6 = _local21 + _local10[_local2][1]; _local5 = _local7 - x0; _local4 = _local6 - y0; _local8 = (_local5 * _local5) + (_local4 * _local4); if (_local8 < _local12) { _local12 = _local8; _local13 = _local3; _local16 = _local9; _local15 = _local7; _local14 = _local6; } } _local2++; } return({x:_local15, y:_local14, col:_local13, row:_local16}); } function getCircleIntersection(x1, y1, x2, y2, x0, y0, R, R2, iP) { var _local4; var _local1; var _local12; var _local13; var _local8; var _local19; var _local17; var _local18; var _local25; var _local24; var _local9; var _local10; var _local6; var _local7; var _local16; var _local15; var _local14 = 500000 /* 0x07A120 */; var _local11 = 500000 /* 0x07A120 */; if (Math.abs(x2 - x1) < 1) { _local4 = x1 - x2; _local1 = y2 - y1; _local12 = (x1 * (y1 - y2)) - (y1 * (x1 - x2)); _local13 = 1 + ((_local4 * _local4) / (_local1 * _local1)); _local25 = (_local12 / _local1) + x0; _local8 = (-2 * y0) + (((2 * _local4) / _local1) * _local25); _local19 = ((y0 * y0) + (_local25 * _local25)) - R2; _local17 = (_local8 * _local8) - ((4 * _local13) * _local19); if (_local17 >= 0) { _local18 = Math.sqrt(_local17); _local10 = ((-_local8) + _local18) / (2 * _local13); _local16 = (_local10 - y1) / _local1; if ((_local16 >= -0.05) && (_local16 <= 1.05)) { _local9 = (-((_local4 * _local10) + _local12)) / _local1; _local14 = ((_local9 - x1) * (_local9 - x1)) + ((_local10 - y1) * (_local10 - y1)); } _local7 = ((-_local8) - _local18) / (2 * _local13); _local15 = (_local7 - y1) / _local1; if ((_local15 >= -0.05) && (_local15 <= 1.05)) { _local6 = (-((_local4 * _local7) + _local12)) / _local1; _local11 = ((_local6 - x1) * (_local6 - x1)) + ((_local7 - y1) * (_local7 - y1)); } if (_local14 < _local11) { (iP.x = _local9); (iP.y = _local10); (iP.R = Math.sqrt(_local14)); } else { if (_local11 == 500000) { return(false); } (iP.x = _local6); (iP.y = _local7); (iP.R = Math.sqrt(_local11)); } return(true); } } else { _local4 = y1 - y2; _local1 = x2 - x1; _local12 = (y1 * (x1 - x2)) - (x1 * (y1 - y2)); _local13 = 1 + ((_local4 * _local4) / (_local1 * _local1)); _local24 = (_local12 / _local1) + y0; _local8 = (-2 * x0) + (((2 * _local4) / _local1) * _local24); _local19 = ((x0 * x0) + (_local24 * _local24)) - R2; _local17 = (_local8 * _local8) - ((4 * _local13) * _local19); if (_local17 >= 0) { _local18 = Math.sqrt(_local17); _local9 = ((-_local8) + _local18) / (2 * _local13); _local16 = (_local9 - x1) / _local1; if ((_local16 >= -0.05) && (_local16 <= 1.05)) { _local10 = (-((_local4 * _local9) + _local12)) / _local1; _local14 = ((_local9 - x1) * (_local9 - x1)) + ((_local10 - y1) * (_local10 - y1)); } _local6 = ((-_local8) - _local18) / (2 * _local13); _local15 = (_local6 - x1) / _local1; if ((_local15 >= -0.05) && (_local15 <= 1.05)) { _local7 = (-((_local4 * _local6) + _local12)) / _local1; _local11 = ((_local6 - x1) * (_local6 - x1)) + ((_local7 - y1) * (_local7 - y1)); } if (_local14 < _local11) { (iP.x = _local9); (iP.y = _local10); (iP.R = Math.sqrt(_local14)); } else { if (_local11 == 500000) { return(false); } (iP.x = _local6); (iP.y = _local7); (iP.R = Math.sqrt(_local11)); } return(true); } } return(false); } function checkMovingOff(mc_ball, col, row) { var _local5 = null; var _local11 = null; mc_ball.marked = true; _local5 = tryRemoveColor(col, row, mc_ball.colorNum); if (mc_ball.bonusNum == CBall.BONUS_COLOR) { _local11 = tryRemoveColor(col, row, mc_ball.bonusColorNum); if (_local5 == null) { _local5 = _local11; } else if (_local11 != null) { _local5 = _local5.concat(_local11); } } mc_ball.marked = false; if (_local5 != null) { if (mc_ball.bonusColorNum > 0) { _root.sndBubbleLevelUp = true; } _local5.push({col:col, row:row, mc:mc_ball}); var _local8 = 0; var _local9 = _local5.length; var _local4; var _local3; _local4 = 0; while (_local4 < _local9) { col = _local5[_local4].col; row = _local5[_local4].row; _local3 = ball_array[row][col]; if (_local3 != null) { colorCountArr[_local3.colorNum - 1]--; checkLongBonus(_local3); _local3.gotoAndPlay(2); _local8++; ball_array[row][col] = null; } _local4++; } checkPendingBalls(); checkOddRows(); fillBallsCount = _local8; return(_local8); } return(0); } function fallAllBalls() { var _local4; var _local5; var _local2; var _local3; var _local8 = ball_array.length; var _local6 = 0; var _local7; _local7 = mc_fall.attachMovie("lib_fall", "" + fallDepth, fallDepth); fallDepth++; _local5 = 0; while (_local5 < _local8) { _local4 = 0; while (_local4 < COLS) { _local2 = ball_array[_local5][_local4]; if (_local2 != null) { ball_array[_local5][_local4] = null; _local3 = _local2; _local2 = _local7.attachMovie("lib_ball", "" + _local6, _local6); _local6++; _local2.setColor(_local3.colorNum); _local2.setBonus(_local3.bonusNum, _local3.bonusColorNum); _local2._x = ((_x + _local3._x) + random(8)) - 4; _local2._y = ((_y + _local3._y) + random(8)) - 4; colorCountArr[_local3.colorNum - 1]--; _local3.removeMovieClip(); } _local4++; } _local5++; } if (_local6 == 0) { _local7.removeMovieClip(); } } function checkPendingBalls() { var _local14 = new Array(); var _local4 = 0; var _local10; var _local3; var _local9; var _local5; var _local8; var _local6; var _local7; var _local2; var _local12 = ball_array.length; var _local13; while (true) { _local13 = false; _local9 = 0; while (_local9 < COLS) { _local2 = ball_array[0][_local9]; if ((_local2 != null) && (_local2.marked == false)) { stack_arr[_local4] = {col:_local9, row:0}; _local4++; _local2.marked = true; _local13 = true; break; } _local9++; } if (_local13 == false) { break; } while (_local4 > 0) { _local4--; _local5 = stack_arr[_local4].col; _local8 = stack_arr[_local4].row; if ((Math.abs(_local8 + addRowCount) % 2) == 0) { _local10 = neighbours; } else { _local10 = neighbours2; } _local3 = 0; while (_local3 < 6) { _local6 = _local5 + _local10[_local3][0]; _local7 = _local8 + _local10[_local3][1]; if ((((((_local6 >= 0) && (_local6 < COLS)) && (_local7 >= 0)) && (_local7 < _local12)) && ((_local2 = ball_array[_local7][_local6]) != null)) && (_local2.marked == false)) { _local2.marked = true; stack_arr[_local4] = {col:_local6, row:_local7}; _local4++; } _local3++; } } } _local8 = 0; while (_local8 < _local12) { _local5 = 0; while (_local5 < COLS) { _local2 = ball_array[_local8][_local5]; if (_local2 != null) { if (_local2.marked) { _local2.marked = false; } else { _local14.push(_local2); ball_array[_local8][_local5] = null; } } _local5++; } _local8++; } if (_local14.length > 0) { var _local16; var _local15 = _local14.length; var _local11; fallBallsCount = _local15; _local16 = mc_fall.attachMovie("lib_fall", "" + fallDepth, fallDepth); fallDepth++; _local3 = 0; while (_local3 < _local15) { _local2 = _local16.attachMovie("lib_ball", "" + _local3, _local3); _local11 = _local14[_local3]; _local2.setColor(_local11.colorNum); _local2.setBonus(_local11.bonusNum, _local11.bonusColorNum); _local2._x = ((_x + _local11._x) + random(8)) - 4; _local2._y = ((_y + _local11._y) + random(8)) - 4; colorCountArr[_local11.colorNum - 1]--; _local11.removeMovieClip(); _local3++; } } } function checkOddRows() { var _local2; var _local3; while (true) { if (ball_array.length == 1) { return(undefined); } _local3 = ball_array.length - 1; _local2 = 0; while (_local2 < COLS) { if (ball_array[_local3][_local2] != null) { return(undefined); } _local2++; } ball_array.pop(); } } function tryRemoveColor(col, row, colorNum) { var _local10 = new Array(); var _local5 = 0; var _local6; var _local2; var _local3; var _local4; var _local7; var _local11 = ball_array.length; stack_arr[_local5] = {col:col, row:row}; _local5++; while (_local5 > 0) { _local5--; col = stack_arr[_local5].col; row = stack_arr[_local5].row; if ((Math.abs(row + addRowCount) % 2) == 0) { _local6 = neighbours; } else { _local6 = neighbours2; } _local2 = 0; while (_local2 < 6) { _local3 = col + _local6[_local2][0]; _local4 = row + _local6[_local2][1]; if (((((((_local3 >= 0) && (_local3 < COLS)) && (_local4 >= 0)) && (_local4 < _local11)) && ((_local7 = ball_array[_local4][_local3]) != null)) && (_local7.marked == false)) && (_local7.isMyColor(colorNum))) { _local7.marked = true; _local10.push({col:_local3, row:_local4, mc:_local7}); stack_arr[_local5] = {col:_local3, row:_local4}; _local5++; } _local2++; } } var _local13 = _local10.length; _local2 = 0; while (_local2 < _local13) { _local10[_local2].mc.marked = false; _local2++; } if (_local13 < 2) { return(null); } return(_local10); } static var COLS = 11; static var BALL_RAD = 16; static var BALL_RAD_I = BALL_RAD - 1; static var BALL_RAD_B = BALL_RAD + 1.5; static var BALL_DIAM = 32; static var BALL_DIAM_I = BALL_DIAM - 8.5; static var BALL_DY = 28; var addRowCount = 0; var ballDepth = 0; var maxColorNum = 8; var maxBonusNum = 8; var points = new Array(); var stack_arr = new Array(200); static var neighbours = [[-1, 1], [0, 1], [-1, 0], [1, 0], [-1, -1], [0, -1]]; static var neighbours2 = [[0, 1], [1, 1], [-1, 0], [1, 0], [1, -1], [0, -1]]; static var neighboursXY = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]; static var neighboursXY2 = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]; var TRACE_TIME = 30000; var FREEZE_TIME = 10000; }
Symbol 200 MovieClip [__Packages.CIndicator] Frame 0
class CIndicator extends MovieClip { var maxValue, curValue, startY, mc_mask; function CIndicator () { super(); } function init(maxValue_) { maxValue = maxValue_; curValue = 0; startY = mc_mask._y; updateView(); } function addValue(val) { curValue = curValue + val; if (curValue > maxValue) { curValue = maxValue; } updateView(); } function reset() { curValue = 0; updateView(); } function isFull() { return(curValue >= maxValue); } function updateView() { mc_mask._y = (startY + mc_mask._height) - ((curValue / maxValue) * mc_mask._height); } }
Symbol 201 MovieClip [__Packages.CGun] Frame 0
class CGun extends MovieClip { var bonusNum, hideMouse, curWaitTime, txtNumber, disableFlag, mouseControl, prevLeft, prevRight, keySpeed, colorNum, gotoAndStop, bonusColorNum, mc_bonus, _rotation, _x, mc_point, localToGlobal, _parent; function CGun () { super(); bonusNum = 0; hideMouse = false; curWaitTime = WAIT_TIME * 2; txtNumber = ""; disableFlag = false; mouseControl = false; prevLeft = (prevRight = false); keySpeed = keyAcc; } function setColor(num) { colorNum = num; gotoAndStop(colorNum); } function setBonus(bonusNum_, bonusColorNum_) { bonusNum = bonusNum_; bonusColorNum = bonusColorNum_; mc_bonus.gotoAndStop(1 + bonusNum); if (bonusNum == CBall.BONUS_COLOR) { mc_bonus.mc.gotoAndStop(bonusColorNum); } } function processTime(dTime) { var _local4; var _local3; _local4 = Math.ceil(curWaitTime / 1000); curWaitTime = curWaitTime - dTime; if (curWaitTime <= 0) { curWaitTime = 0; } _local3 = Math.ceil((curWaitTime / 1000) + 0.01); if ((_local3 != _local4) && (_local3 <= 3)) { txtNumber = "" + _local3; _root.sndAutoFire = true; } } function processKeys(dTime) { var _local3 = Key.isDown(37); var _local4 = Key.isDown(39); if (_local3 || (_local4)) { if (mouseControl) { mouseControl = false; if (hideMouse) { hideMouse = false; Mouse.show(); } } var _local2 = dTime / 1000; keySpeed = keySpeed + keyAcc; if (keySpeed > maxKeySpeed) { keySpeed = maxKeySpeed; } if (_local3) { if (!prevLeft) { keySpeed = keyAcc; prevLeft = true; prevRight = false; } _rotation = _rotation - (_local2 * keySpeed); if (_rotation < (-MAX_UGOL)) { _rotation = -MAX_UGOL; } } else { if (!prevRight) { keySpeed = keyAcc / 2; prevLeft = false; prevRight = true; } _rotation = _rotation + (_local2 * keySpeed); if (_rotation > MAX_UGOL) { _rotation = MAX_UGOL; } } } else { prevLeft = (prevRight = false); } } function doShot() { curWaitTime = WAIT_TIME; resetNumber(); } function resetNumber() { txtNumber = ""; } function autoShot() { return(curWaitTime == 0); } function process(xMouse) { if (mouseControl) { var _local2 = xMouse - _x; if (!disableFlag) { if ((_local2 > 170) || (_local2 < -170)) { if (hideMouse) { hideMouse = false; Mouse.show(); } } else if (!hideMouse) { hideMouse = true; Mouse.hide(); } } _local2 = _local2 / 130; if (_local2 > 1) { _local2 = 1; } else if (_local2 < -1) { _local2 = -1; } _rotation = _local2 * MAX_UGOL; } } function myMouseMove() { mouseControl = true; } function disable() { disableFlag = true; Mouse.show(); } function getShotPoint() { var _local2 = {x:mc_point._x, y:mc_point._y}; localToGlobal(_local2); _parent.globalToLocal(_local2); return(_local2); } static var MAX_UGOL = 80; var WAIT_TIME = 6400; var maxKeySpeed = 85; var keyAcc = 12; }
Symbol 202 MovieClip [__Packages.CMoveBall] Frame 0
class CMoveBall extends CBall { var _x, sX, _y, sY, vx, vy, curR, commonR, eX, eY, mc_grid, _visible, state; function CMoveBall () { super(); hide(); } function startMove(x, y, vx_, vy_) { _x = (sX = x); _y = (sY = y); vx = vx_; vy = vy_; curR = 0; calcEndPoint(); show(); } function doStep(step) { curR = curR + step; if (curR >= commonR) { sX = eX; sY = eY; curR = 0; vx = -vx; calcEndPoint(); } _x = sX + (curR * vx); _y = sY + (curR * vy); } function calcEndPoint() { var _local3; var _local2; var _local5; var _local4; sX = sX - mc_grid._x; sY = sY - mc_grid._y; eX = sX + (1000 * vx); eY = sY + (1000 * vy); _local3 = sY - eY; _local2 = eX - sX; _local5 = (sX * (eY - sY)) - (sY * (eX - sX)); _local4 = Math.sqrt((_local3 * _local3) + (_local2 * _local2)); _local3 = _local3 / _local4; _local2 = _local2 / _local4; _local5 = _local5 / _local4; var _local6 = mc_grid.getBoundsIntersection(vx, vy, _local3, _local2, _local5); eX = _local6.x; eY = _local6.y; commonR = Math.sqrt(((eX - sX) * (eX - sX)) + ((eY - sY) * (eY - sY))); sX = sX + mc_grid._x; sY = sY + mc_grid._y; eX = eX + mc_grid._x; eY = eY + mc_grid._y; } function show() { _visible = true; state = 1; } function hide() { _visible = false; state = 0; } }
Symbol 95 MovieClip Frame 240
gotoAndPlay (1);
Symbol 96 MovieClip Frame 480
gotoAndPlay (1);
Symbol 100 MovieClip Frame 480
gotoAndPlay (1);
Symbol 112 Button
on (release) { openSite(); }
Symbol 117 Button
on (release) { how_to_play_pressed(); }
Symbol 122 Button
on (release) { arcade_mode_pressed(); }
Symbol 127 Button
on (release) { classic_mode_pressed(); }
Symbol 132 MovieClip Frame 1
stop();
Symbol 132 MovieClip Frame 6
gotoAndStop (1);
Symbol 132 MovieClip Frame 11
gotoAndStop (1);
Symbol 135 Button
on (press) { this._parent.soundOff(); this.gotoAndStop(2); }
Symbol 137 Button
on (press) { this._parent.soundOn(); this.gotoAndStop(1); }
Symbol 138 MovieClip Frame 1
this.stop();
Symbol 146 Button
on (release) { back_pressed(); }
Symbol 154 MovieClip Frame 1
this.stop();
Symbol 155 MovieClip [lib_ball_move] Frame 1
#initclip 14 Object.registerClass("lib_ball_move", CMoveBall); #endinitclip
Symbol 156 MovieClip [mc_grid] Frame 1
#initclip 11 Object.registerClass("mc_grid", CGrid); #endinitclip
Symbol 164 MovieClip [lib_ind] Frame 1
#initclip 12 Object.registerClass("lib_ind", CIndicator); #endinitclip
Symbol 171 MovieClip Frame 1
this.stop();
Symbol 175 MovieClip [mc_gun_] Frame 1
#initclip 13 Object.registerClass("mc_gun_", CGun); #endinitclip this.stop();
Symbol 185 Button
on (release) { this._parent.nextLevel(); }
Symbol 191 Button
on (release) { this._parent.newGame(); }

Library Items

Symbol 1 GraphicUsed by:Timeline
Symbol 2 GraphicUsed by:7 9  Timeline
Symbol 3 GraphicUsed by:7
Symbol 4 GraphicUsed by:5
Symbol 5 MovieClipUses:4Used by:7
Symbol 6 GraphicUsed by:7
Symbol 7 MovieClipUses:2 3 5 6Used by:Timeline
Symbol 8 GraphicUsed by:9
Symbol 9 ButtonUses:8 2Used by:Timeline
Symbol 10 FontUsed by:11
Symbol 11 EditableTextUses:10Used by:15
Symbol 12 GraphicUsed by:15
Symbol 13 GraphicUsed by:14
Symbol 14 MovieClipUses:13Used by:15
Symbol 15 MovieClipUses:11 12 14Used by:Timeline
Symbol 16 BitmapUsed by:17
Symbol 17 GraphicUses:16Used by:18
Symbol 18 MovieClipUses:17Used by:Timeline
Symbol 19 BitmapUsed by:20
Symbol 20 GraphicUses:19Used by:36 55 154 170 175
Symbol 21 GraphicUsed by:36
Symbol 22 BitmapUsed by:23
Symbol 23 GraphicUses:22Used by:36 55 154 170 175
Symbol 24 BitmapUsed by:25
Symbol 25 GraphicUses:24Used by:36 55 154 170 175
Symbol 26 BitmapUsed by:27
Symbol 27 GraphicUses:26Used by:36 55 154 170 175
Symbol 28 BitmapUsed by:29
Symbol 29 GraphicUses:28Used by:36 55 154 170 175
Symbol 30 BitmapUsed by:31
Symbol 31 GraphicUses:30Used by:36 55 154 170 175
Symbol 32 BitmapUsed by:33
Symbol 33 GraphicUses:32Used by:36 55 154 170 175
Symbol 34 BitmapUsed by:35
Symbol 35 GraphicUses:34Used by:36 55 154 170 175
Symbol 36 MovieClipUses:21 20 23 25 27 29 31 33 35Used by:51
Symbol 37 BitmapUsed by:38
Symbol 38 GraphicUses:37Used by:51 171
Symbol 39 BitmapUsed by:40
Symbol 40 GraphicUses:39Used by:51 171
Symbol 41 BitmapUsed by:42
Symbol 42 GraphicUses:41Used by:51 171
Symbol 43 BitmapUsed by:44
Symbol 44 GraphicUses:43Used by:51 171
Symbol 45 BitmapUsed by:46
Symbol 46 GraphicUses:45Used by:51 171
Symbol 47 BitmapUsed by:48
Symbol 48 GraphicUses:47Used by:51 171
Symbol 49 BitmapUsed by:50
Symbol 50 GraphicUses:49Used by:51 171
Symbol 51 MovieClipUses:36 38 40 42 44 46 48 50Used by:55 154
Symbol 52 BitmapUsed by:53
Symbol 53 GraphicUses:52Used by:54
Symbol 54 MovieClipUses:53Used by:55 154
Symbol 55 MovieClipUses:20 51 54 23 25 27 29 31 33 35Used by:67
Symbol 56 ShapeTweeningUsed by:59
Symbol 57 ShapeTweeningUsed by:59
Symbol 58 GraphicUsed by:59 62
Symbol 59 MovieClipUses:56 57 58Used by:67
Symbol 60 ShapeTweeningUsed by:62
Symbol 61 ShapeTweeningUsed by:62
Symbol 62 MovieClipUses:60 61 58Used by:67
Symbol 63 ShapeTweeningUsed by:67
Symbol 64 ShapeTweeningUsed by:67
Symbol 65 ShapeTweeningUsed by:67
Symbol 66 GraphicUsed by:67
Symbol 67 MovieClip [lib_ball]Uses:55 59 62 63 64 65 66Used by:194  Timeline
Symbol 68 BitmapUsed by:69
Symbol 69 GraphicUses:68Used by:70
Symbol 70 MovieClip [lib_trace]Uses:69Used by:Timeline
Symbol 71 GraphicUsed by:72
Symbol 72 MovieClip [lib_trace2]Uses:71Used by:Timeline
Symbol 73 MovieClip [lib_fall]Used by:Timeline
Symbol 74 BitmapUsed by:75
Symbol 75 GraphicUses:74Used by:76
Symbol 76 MovieClipUses:75Used by:Timeline
Symbol 77 Sound [endlevel]Used by:88
Symbol 78 Sound [snd_ScoreX2orX4]Used by:88
Symbol 79 Sound [snd_Pingvin]Used by:88
Symbol 80 Sound [snd_GunFire]Used by:88
Symbol 81 Sound [snd_Freeze]Used by:88
Symbol 82 Sound [snd_ExplosionTNT]Used by:88
Symbol 83 Sound [snd_BubbleLevelUp]Used by:88
Symbol 84 Sound [snd_BubbleCollisionR]Used by:88
Symbol 85 Sound [snd_BubbleCollision]Used by:88
Symbol 86 Sound [snd_AutoFire]Used by:88
Symbol 87 Sound [snd_8bonus]Used by:88
Symbol 88 MovieClipUses:77 78 79 80 81 82 83 84 85 86 87Used by:Timeline
Symbol 195 MovieClip [__Packages.CFallMovie]
Symbol 196 MovieClip [__Packages.CBall]
Symbol 197 MovieClip [__Packages.CTimeCounter]
Symbol 198 MovieClip [__Packages.CBackground]
Symbol 199 MovieClip [__Packages.CGrid]
Symbol 200 MovieClip [__Packages.CIndicator]
Symbol 201 MovieClip [__Packages.CGun]
Symbol 202 MovieClip [__Packages.CMoveBall]
Symbol 89 BitmapUsed by:90
Symbol 90 GraphicUses:89Used by:101
Symbol 91 GraphicUsed by:101
Symbol 92 BitmapUsed by:93
Symbol 93 GraphicUses:92Used by:94
Symbol 94 MovieClipUses:93Used by:95 96
Symbol 95 MovieClipUses:94Used by:101 152
Symbol 96 MovieClipUses:94Used by:101 152
Symbol 97 BitmapUsed by:98
Symbol 98 GraphicUses:97Used by:99
Symbol 99 MovieClipUses:98Used by:100
Symbol 100 MovieClipUses:99Used by:101
Symbol 101 MovieClipUses:90 91 95 96 100Used by:Timeline
Symbol 102 BitmapUsed by:103
Symbol 103 GraphicUses:102Used by:104
Symbol 104 MovieClipUses:103Used by:Timeline
Symbol 105 BitmapUsed by:106
Symbol 106 GraphicUses:105Used by:112
Symbol 107 BitmapUsed by:108
Symbol 108 GraphicUses:107Used by:112
Symbol 109 GraphicUsed by:112 117 122 127 146 185
Symbol 110 SoundUsed by:112 117 122 127 146 185
Symbol 111 SoundUsed by:112 117 122 127 146 185 191
Symbol 112 ButtonUses:106 108 109 110 111Used by:Timeline
Symbol 113 BitmapUsed by:114
Symbol 114 GraphicUses:113Used by:117
Symbol 115 BitmapUsed by:116
Symbol 116 GraphicUses:115Used by:117
Symbol 117 ButtonUses:114 116 109 110 111Used by:Timeline
Symbol 118 BitmapUsed by:119
Symbol 119 GraphicUses:118Used by:122
Symbol 120 BitmapUsed by:121
Symbol 121 GraphicUses:120Used by:122
Symbol 122 ButtonUses:119 121 109 110 111Used by:Timeline
Symbol 123 BitmapUsed by:124
Symbol 124 GraphicUses:123Used by:127
Symbol 125 BitmapUsed by:126
Symbol 126 GraphicUses:125Used by:127
Symbol 127 ButtonUses:124 126 109 110 111Used by:Timeline
Symbol 128 BitmapUsed by:129
Symbol 129 GraphicUses:128Used by:130
Symbol 130 MovieClipUses:129Used by:Timeline
Symbol 131 SoundUsed by:132
Symbol 132 MovieClipUses:131Used by:Timeline
Symbol 133 GraphicUsed by:135
Symbol 134 GraphicUsed by:135 137
Symbol 135 ButtonUses:133 134Used by:138
Symbol 136 GraphicUsed by:137
Symbol 137 ButtonUses:136 134Used by:138
Symbol 138 MovieClipUses:135 137Used by:Timeline
Symbol 139 BitmapUsed by:140
Symbol 140 GraphicUses:139Used by:141
Symbol 141 MovieClipUses:140Used by:Timeline
Symbol 142 BitmapUsed by:143
Symbol 143 GraphicUses:142Used by:146
Symbol 144 BitmapUsed by:145
Symbol 145 GraphicUses:144Used by:146
Symbol 146 ButtonUses:143 145 109 110 111Used by:Timeline
Symbol 147 FontUsed by:148 165 166 172 173 174 186 187
Symbol 148 TextUses:147Used by:Timeline
Symbol 149 BitmapUsed by:150
Symbol 150 GraphicUses:149Used by:152
Symbol 151 GraphicUsed by:152
Symbol 152 MovieClipUses:150 151 95 96Used by:Timeline
Symbol 153 MovieClipUsed by:175  Timeline
Symbol 154 MovieClipUses:20 51 54 23 25 27 29 31 33 35Used by:155
Symbol 155 MovieClip [lib_ball_move]Uses:154Used by:Timeline
Symbol 156 MovieClip [mc_grid]Used by:Timeline
Symbol 157 BitmapUsed by:158
Symbol 158 GraphicUses:157Used by:159
Symbol 159 MovieClipUses:158Used by:Timeline
Symbol 160 GraphicUsed by:161
Symbol 161 MovieClipUses:160Used by:164
Symbol 162 BitmapUsed by:163
Symbol 163 GraphicUses:162Used by:164
Symbol 164 MovieClip [lib_ind]Uses:161 163Used by:Timeline
Symbol 165 EditableTextUses:147Used by:Timeline
Symbol 166 EditableTextUses:147Used by:Timeline
Symbol 167 BitmapUsed by:168
Symbol 168 GraphicUses:167Used by:170 175
Symbol 169 GraphicUsed by:170
Symbol 170 MovieClipUses:169 20 168 23 25 27 29 31 33 35Used by:171
Symbol 171 MovieClipUses:170 38 40 42 44 46 48 50Used by:175
Symbol 172 EditableTextUses:147Used by:175
Symbol 173 EditableTextUses:147Used by:175
Symbol 174 EditableTextUses:147Used by:175
Symbol 175 MovieClip [mc_gun_]Uses:20 168 171 153 172 173 174 23 25 27 29 31 33 35Used by:Timeline
Symbol 176 BitmapUsed by:177
Symbol 177 GraphicUses:176Used by:194
Symbol 178 BitmapUsed by:179
Symbol 179 GraphicUses:178Used by:180
Symbol 180 MovieClipUses:179Used by:194
Symbol 181 BitmapUsed by:182
Symbol 182 GraphicUses:181Used by:185
Symbol 183 BitmapUsed by:184
Symbol 184 GraphicUses:183Used by:185
Symbol 185 ButtonUses:182 184 109 110 111Used by:194
Symbol 186 TextUses:147Used by:194
Symbol 187 EditableTextUses:147Used by:194
Symbol 188 BitmapUsed by:189
Symbol 189 GraphicUses:188Used by:194
Symbol 190 GraphicUsed by:191
Symbol 191 ButtonUses:190 111Used by:194
Symbol 192 BitmapUsed by:193
Symbol 193 GraphicUses:192Used by:194
Symbol 194 MovieClipUses:177 180 185 186 67 187 189 191 193Used by:Timeline

Instance Names

"mc_sloop"Frame 7Symbol 132 MovieClip
"btn_sound"Frame 7Symbol 138 MovieClip
"mc_trace"Frame 11Symbol 153 MovieClip
"mc_move_ball"Frame 11Symbol 155 MovieClip [lib_ball_move]
"mc_grid"Frame 11Symbol 156 MovieClip [mc_grid]
"mc_fall"Frame 11Symbol 153 MovieClip
"mc_pusher"Frame 11Symbol 159 MovieClip
"mc_ind"Frame 11Symbol 164 MovieClip [lib_ind]
"mc_next"Frame 11Symbol 67 MovieClip [lib_ball]
"mc_gun"Frame 11Symbol 175 MovieClip [mc_gun_]
"mc_msg"Frame 11Symbol 194 MovieClip
"mc_control"Frame 11Symbol 153 MovieClip
"tf"Symbol 15 MovieClip Frame 1Symbol 11 EditableText
"bar"Symbol 15 MovieClip Frame 1Symbol 14 MovieClip
"mc"Symbol 51 MovieClip Frame 2Symbol 36 MovieClip
"mc_bonus"Symbol 55 MovieClip Frame 1Symbol 51 MovieClip
"mc_freeze"Symbol 55 MovieClip Frame 1Symbol 54 MovieClip
"mc"Symbol 67 MovieClip [lib_ball] Frame 1Symbol 55 MovieClip
"mc_bonus"Symbol 154 MovieClip Frame 1Symbol 51 MovieClip
"mc_freeze"Symbol 154 MovieClip Frame 1Symbol 54 MovieClip
"mc"Symbol 155 MovieClip [lib_ball_move] Frame 1Symbol 154 MovieClip
"mc_mask"Symbol 164 MovieClip [lib_ind] Frame 1Symbol 161 MovieClip
"mc"Symbol 171 MovieClip Frame 2Symbol 170 MovieClip
"mc_bonus"Symbol 175 MovieClip [mc_gun_] Frame 1Symbol 171 MovieClip
"mc_point"Symbol 175 MovieClip [mc_gun_] Frame 1Symbol 153 MovieClip
"a1"Symbol 194 MovieClip Frame 1Symbol 67 MovieClip [lib_ball]
"a2"Symbol 194 MovieClip Frame 1Symbol 67 MovieClip [lib_ball]
"a3"Symbol 194 MovieClip Frame 1Symbol 67 MovieClip [lib_ball]
"a4"Symbol 194 MovieClip Frame 1Symbol 67 MovieClip [lib_ball]
"a5"Symbol 194 MovieClip Frame 1Symbol 67 MovieClip [lib_ball]
"a6"Symbol 194 MovieClip Frame 1Symbol 67 MovieClip [lib_ball]
"a7"Symbol 194 MovieClip Frame 1Symbol 67 MovieClip [lib_ball]
"a8"Symbol 194 MovieClip Frame 1Symbol 67 MovieClip [lib_ball]
"b1"Symbol 194 MovieClip Frame 1Symbol 67 MovieClip [lib_ball]
"b2"Symbol 194 MovieClip Frame 1Symbol 67 MovieClip [lib_ball]
"b3"Symbol 194 MovieClip Frame 1Symbol 67 MovieClip [lib_ball]
"b4"Symbol 194 MovieClip Frame 1Symbol 67 MovieClip [lib_ball]
"b5"Symbol 194 MovieClip Frame 1Symbol 67 MovieClip [lib_ball]
"b6"Symbol 194 MovieClip Frame 1Symbol 67 MovieClip [lib_ball]
"b7"Symbol 194 MovieClip Frame 1Symbol 67 MovieClip [lib_ball]
"b8"Symbol 194 MovieClip Frame 1Symbol 67 MovieClip [lib_ball]
"btn"Symbol 194 MovieClip Frame 3Symbol 191 Button

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS1/AS2.
Protect (24)Timeline Frame 10 bytes ""
ExportAssets (56)Timeline Frame 5Symbol 67 as "lib_ball"
ExportAssets (56)Timeline Frame 5Symbol 70 as "lib_trace"
ExportAssets (56)Timeline Frame 5Symbol 72 as "lib_trace2"
ExportAssets (56)Timeline Frame 5Symbol 73 as "lib_fall"
ExportAssets (56)Timeline Frame 5Symbol 77 as "endlevel"
ExportAssets (56)Timeline Frame 5Symbol 78 as "snd_ScoreX2orX4"
ExportAssets (56)Timeline Frame 5Symbol 79 as "snd_Pingvin"
ExportAssets (56)Timeline Frame 5Symbol 80 as "snd_GunFire"
ExportAssets (56)Timeline Frame 5Symbol 81 as "snd_Freeze"
ExportAssets (56)Timeline Frame 5Symbol 82 as "snd_ExplosionTNT"
ExportAssets (56)Timeline Frame 5Symbol 83 as "snd_BubbleLevelUp"
ExportAssets (56)Timeline Frame 5Symbol 84 as "snd_BubbleCollisionR"
ExportAssets (56)Timeline Frame 5Symbol 85 as "snd_BubbleCollision"
ExportAssets (56)Timeline Frame 5Symbol 86 as "snd_AutoFire"
ExportAssets (56)Timeline Frame 5Symbol 87 as "snd_8bonus"
ExportAssets (56)Timeline Frame 5Symbol 195 as "__Packages.CFallMovie"
ExportAssets (56)Timeline Frame 5Symbol 196 as "__Packages.CBall"
ExportAssets (56)Timeline Frame 5Symbol 197 as "__Packages.CTimeCounter"
ExportAssets (56)Timeline Frame 5Symbol 198 as "__Packages.CBackground"
ExportAssets (56)Timeline Frame 5Symbol 199 as "__Packages.CGrid"
ExportAssets (56)Timeline Frame 5Symbol 200 as "__Packages.CIndicator"
ExportAssets (56)Timeline Frame 5Symbol 201 as "__Packages.CGun"
ExportAssets (56)Timeline Frame 5Symbol 202 as "__Packages.CMoveBall"
ExportAssets (56)Timeline Frame 11Symbol 155 as "lib_ball_move"
ExportAssets (56)Timeline Frame 11Symbol 156 as "mc_grid"
ExportAssets (56)Timeline Frame 11Symbol 164 as "lib_ind"
ExportAssets (56)Timeline Frame 11Symbol 175 as "mc_gun_"

Labels

"init"Frame 6
"main"Frame 7
"menu"Frame 8
"rules"Frame 9
"game"Frame 11
"reset"Frame 12
"bang1"Symbol 67 MovieClip [lib_ball] Frame 14
"bang2"Symbol 67 MovieClip [lib_ball] Frame 15
"bang3"Symbol 67 MovieClip [lib_ball] Frame 16
"bang4"Symbol 67 MovieClip [lib_ball] Frame 17
"start"Symbol 132 MovieClip Frame 3
"stop"Symbol 132 MovieClip Frame 8
"stWin"Symbol 194 MovieClip Frame 1
"stEmpty"Symbol 194 MovieClip Frame 2
"stOver"Symbol 194 MovieClip Frame 3
"stCompleted"Symbol 194 MovieClip Frame 4

Dynamic Text Variables

txtScoresSymbol 165 EditableText"999999"
txtLevelSymbol 166 EditableText"99999"
txtNumberSymbol 172 EditableText"51"
txtNumberSymbol 173 EditableText"51"
txtNumberSymbol 174 EditableText"51"
txtLevelSymbol 187 EditableText"99"




http://swfchan.com/10/46255/info.shtml
Created: 4/5 -2019 01:09:55 Last modified: 4/5 -2019 01:09:55 Server time: 22/12 -2024 16:28:18