STORY LOOP FURRY PORN GAMES C SERVICES [?] [R] RND POPULAR | Archived flashes: 229595 |
/disc/ · /res/ — /show/ · /fap/ · /gg/ · /swf/ | P0001 · P2595 · P5190 |
This is the info page for Flash #46255 |
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 1fscommand ("showmenu", "false"); _global.openSite = function () { getURL ("http://www.gameteam.com/stats/starmagic.html", "_blank"); };Instance of Symbol 15 MovieClip in Frame 3onClipEvent (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 4onClipEvent (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 6function 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 7stop();Instance of Symbol 132 MovieClip "mc_sloop" in Frame 7onClipEvent (load) { var soundControl = new Sound(this); }Instance of Symbol 138 MovieClip "btn_sound" in Frame 7onClipEvent (load) { if (this._parent.stopSoundFlag) { this.gotoAndStop(2); } }Frame 11this.stop();Instance of Symbol 153 MovieClip "mc_control" in Frame 11onClipEvent (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 40gotoAndPlay (1);Symbol 9 Buttonon (press) { openSite(); }Symbol 51 MovieClip Frame 1this.stop();Symbol 55 MovieClip Frame 1this.stop();Symbol 67 MovieClip [lib_ball] Frame 1#initclip 10 Object.registerClass("lib_ball", CBall); #endinitclipSymbol 67 MovieClip [lib_ball] Frame 13this.removeMovieClip();Symbol 67 MovieClip [lib_ball] Frame 32this.removeMovieClip();Symbol 73 MovieClip [lib_fall] Frame 1#initclip 9 Object.registerClass("lib_fall", CFallMovie); #endinitclipSymbol 88 MovieClip Frame 1this.stop();Symbol 195 MovieClip [__Packages.CFallMovie] Frame 0class 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 0class 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 0class 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 0class 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 0class 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 0class 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 0class 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 0class 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 240gotoAndPlay (1);Symbol 96 MovieClip Frame 480gotoAndPlay (1);Symbol 100 MovieClip Frame 480gotoAndPlay (1);Symbol 112 Buttonon (release) { openSite(); }Symbol 117 Buttonon (release) { how_to_play_pressed(); }Symbol 122 Buttonon (release) { arcade_mode_pressed(); }Symbol 127 Buttonon (release) { classic_mode_pressed(); }Symbol 132 MovieClip Frame 1stop();Symbol 132 MovieClip Frame 6gotoAndStop (1);Symbol 132 MovieClip Frame 11gotoAndStop (1);Symbol 135 Buttonon (press) { this._parent.soundOff(); this.gotoAndStop(2); }Symbol 137 Buttonon (press) { this._parent.soundOn(); this.gotoAndStop(1); }Symbol 138 MovieClip Frame 1this.stop();Symbol 146 Buttonon (release) { back_pressed(); }Symbol 154 MovieClip Frame 1this.stop();Symbol 155 MovieClip [lib_ball_move] Frame 1#initclip 14 Object.registerClass("lib_ball_move", CMoveBall); #endinitclipSymbol 156 MovieClip [mc_grid] Frame 1#initclip 11 Object.registerClass("mc_grid", CGrid); #endinitclipSymbol 164 MovieClip [lib_ind] Frame 1#initclip 12 Object.registerClass("lib_ind", CIndicator); #endinitclipSymbol 171 MovieClip Frame 1this.stop();Symbol 175 MovieClip [mc_gun_] Frame 1#initclip 13 Object.registerClass("mc_gun_", CGun); #endinitclip this.stop();Symbol 185 Buttonon (release) { this._parent.nextLevel(); }Symbol 191 Buttonon (release) { this._parent.newGame(); }
Library Items
Symbol 1 Graphic | Used by:Timeline | |
Symbol 2 Graphic | Used by:7 9 Timeline | |
Symbol 3 Graphic | Used by:7 | |
Symbol 4 Graphic | Used by:5 | |
Symbol 5 MovieClip | Uses:4 | Used by:7 |
Symbol 6 Graphic | Used by:7 | |
Symbol 7 MovieClip | Uses:2 3 5 6 | Used by:Timeline |
Symbol 8 Graphic | Used by:9 | |
Symbol 9 Button | Uses:8 2 | Used by:Timeline |
Symbol 10 Font | Used by:11 | |
Symbol 11 EditableText | Uses:10 | Used by:15 |
Symbol 12 Graphic | Used by:15 | |
Symbol 13 Graphic | Used by:14 | |
Symbol 14 MovieClip | Uses:13 | Used by:15 |
Symbol 15 MovieClip | Uses:11 12 14 | Used by:Timeline |
Symbol 16 Bitmap | Used by:17 | |
Symbol 17 Graphic | Uses:16 | Used by:18 |
Symbol 18 MovieClip | Uses:17 | Used by:Timeline |
Symbol 19 Bitmap | Used by:20 | |
Symbol 20 Graphic | Uses:19 | Used by:36 55 154 170 175 |
Symbol 21 Graphic | Used by:36 | |
Symbol 22 Bitmap | Used by:23 | |
Symbol 23 Graphic | Uses:22 | Used by:36 55 154 170 175 |
Symbol 24 Bitmap | Used by:25 | |
Symbol 25 Graphic | Uses:24 | Used by:36 55 154 170 175 |
Symbol 26 Bitmap | Used by:27 | |
Symbol 27 Graphic | Uses:26 | Used by:36 55 154 170 175 |
Symbol 28 Bitmap | Used by:29 | |
Symbol 29 Graphic | Uses:28 | Used by:36 55 154 170 175 |
Symbol 30 Bitmap | Used by:31 | |
Symbol 31 Graphic | Uses:30 | Used by:36 55 154 170 175 |
Symbol 32 Bitmap | Used by:33 | |
Symbol 33 Graphic | Uses:32 | Used by:36 55 154 170 175 |
Symbol 34 Bitmap | Used by:35 | |
Symbol 35 Graphic | Uses:34 | Used by:36 55 154 170 175 |
Symbol 36 MovieClip | Uses:21 20 23 25 27 29 31 33 35 | Used by:51 |
Symbol 37 Bitmap | Used by:38 | |
Symbol 38 Graphic | Uses:37 | Used by:51 171 |
Symbol 39 Bitmap | Used by:40 | |
Symbol 40 Graphic | Uses:39 | Used by:51 171 |
Symbol 41 Bitmap | Used by:42 | |
Symbol 42 Graphic | Uses:41 | Used by:51 171 |
Symbol 43 Bitmap | Used by:44 | |
Symbol 44 Graphic | Uses:43 | Used by:51 171 |
Symbol 45 Bitmap | Used by:46 | |
Symbol 46 Graphic | Uses:45 | Used by:51 171 |
Symbol 47 Bitmap | Used by:48 | |
Symbol 48 Graphic | Uses:47 | Used by:51 171 |
Symbol 49 Bitmap | Used by:50 | |
Symbol 50 Graphic | Uses:49 | Used by:51 171 |
Symbol 51 MovieClip | Uses:36 38 40 42 44 46 48 50 | Used by:55 154 |
Symbol 52 Bitmap | Used by:53 | |
Symbol 53 Graphic | Uses:52 | Used by:54 |
Symbol 54 MovieClip | Uses:53 | Used by:55 154 |
Symbol 55 MovieClip | Uses:20 51 54 23 25 27 29 31 33 35 | Used by:67 |
Symbol 56 ShapeTweening | Used by:59 | |
Symbol 57 ShapeTweening | Used by:59 | |
Symbol 58 Graphic | Used by:59 62 | |
Symbol 59 MovieClip | Uses:56 57 58 | Used by:67 |
Symbol 60 ShapeTweening | Used by:62 | |
Symbol 61 ShapeTweening | Used by:62 | |
Symbol 62 MovieClip | Uses:60 61 58 | Used by:67 |
Symbol 63 ShapeTweening | Used by:67 | |
Symbol 64 ShapeTweening | Used by:67 | |
Symbol 65 ShapeTweening | Used by:67 | |
Symbol 66 Graphic | Used by:67 | |
Symbol 67 MovieClip [lib_ball] | Uses:55 59 62 63 64 65 66 | Used by:194 Timeline |
Symbol 68 Bitmap | Used by:69 | |
Symbol 69 Graphic | Uses:68 | Used by:70 |
Symbol 70 MovieClip [lib_trace] | Uses:69 | Used by:Timeline |
Symbol 71 Graphic | Used by:72 | |
Symbol 72 MovieClip [lib_trace2] | Uses:71 | Used by:Timeline |
Symbol 73 MovieClip [lib_fall] | Used by:Timeline | |
Symbol 74 Bitmap | Used by:75 | |
Symbol 75 Graphic | Uses:74 | Used by:76 |
Symbol 76 MovieClip | Uses:75 | Used 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 MovieClip | Uses:77 78 79 80 81 82 83 84 85 86 87 | Used 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 Bitmap | Used by:90 | |
Symbol 90 Graphic | Uses:89 | Used by:101 |
Symbol 91 Graphic | Used by:101 | |
Symbol 92 Bitmap | Used by:93 | |
Symbol 93 Graphic | Uses:92 | Used by:94 |
Symbol 94 MovieClip | Uses:93 | Used by:95 96 |
Symbol 95 MovieClip | Uses:94 | Used by:101 152 |
Symbol 96 MovieClip | Uses:94 | Used by:101 152 |
Symbol 97 Bitmap | Used by:98 | |
Symbol 98 Graphic | Uses:97 | Used by:99 |
Symbol 99 MovieClip | Uses:98 | Used by:100 |
Symbol 100 MovieClip | Uses:99 | Used by:101 |
Symbol 101 MovieClip | Uses:90 91 95 96 100 | Used by:Timeline |
Symbol 102 Bitmap | Used by:103 | |
Symbol 103 Graphic | Uses:102 | Used by:104 |
Symbol 104 MovieClip | Uses:103 | Used by:Timeline |
Symbol 105 Bitmap | Used by:106 | |
Symbol 106 Graphic | Uses:105 | Used by:112 |
Symbol 107 Bitmap | Used by:108 | |
Symbol 108 Graphic | Uses:107 | Used by:112 |
Symbol 109 Graphic | Used by:112 117 122 127 146 185 | |
Symbol 110 Sound | Used by:112 117 122 127 146 185 | |
Symbol 111 Sound | Used by:112 117 122 127 146 185 191 | |
Symbol 112 Button | Uses:106 108 109 110 111 | Used by:Timeline |
Symbol 113 Bitmap | Used by:114 | |
Symbol 114 Graphic | Uses:113 | Used by:117 |
Symbol 115 Bitmap | Used by:116 | |
Symbol 116 Graphic | Uses:115 | Used by:117 |
Symbol 117 Button | Uses:114 116 109 110 111 | Used by:Timeline |
Symbol 118 Bitmap | Used by:119 | |
Symbol 119 Graphic | Uses:118 | Used by:122 |
Symbol 120 Bitmap | Used by:121 | |
Symbol 121 Graphic | Uses:120 | Used by:122 |
Symbol 122 Button | Uses:119 121 109 110 111 | Used by:Timeline |
Symbol 123 Bitmap | Used by:124 | |
Symbol 124 Graphic | Uses:123 | Used by:127 |
Symbol 125 Bitmap | Used by:126 | |
Symbol 126 Graphic | Uses:125 | Used by:127 |
Symbol 127 Button | Uses:124 126 109 110 111 | Used by:Timeline |
Symbol 128 Bitmap | Used by:129 | |
Symbol 129 Graphic | Uses:128 | Used by:130 |
Symbol 130 MovieClip | Uses:129 | Used by:Timeline |
Symbol 131 Sound | Used by:132 | |
Symbol 132 MovieClip | Uses:131 | Used by:Timeline |
Symbol 133 Graphic | Used by:135 | |
Symbol 134 Graphic | Used by:135 137 | |
Symbol 135 Button | Uses:133 134 | Used by:138 |
Symbol 136 Graphic | Used by:137 | |
Symbol 137 Button | Uses:136 134 | Used by:138 |
Symbol 138 MovieClip | Uses:135 137 | Used by:Timeline |
Symbol 139 Bitmap | Used by:140 | |
Symbol 140 Graphic | Uses:139 | Used by:141 |
Symbol 141 MovieClip | Uses:140 | Used by:Timeline |
Symbol 142 Bitmap | Used by:143 | |
Symbol 143 Graphic | Uses:142 | Used by:146 |
Symbol 144 Bitmap | Used by:145 | |
Symbol 145 Graphic | Uses:144 | Used by:146 |
Symbol 146 Button | Uses:143 145 109 110 111 | Used by:Timeline |
Symbol 147 Font | Used by:148 165 166 172 173 174 186 187 | |
Symbol 148 Text | Uses:147 | Used by:Timeline |
Symbol 149 Bitmap | Used by:150 | |
Symbol 150 Graphic | Uses:149 | Used by:152 |
Symbol 151 Graphic | Used by:152 | |
Symbol 152 MovieClip | Uses:150 151 95 96 | Used by:Timeline |
Symbol 153 MovieClip | Used by:175 Timeline | |
Symbol 154 MovieClip | Uses:20 51 54 23 25 27 29 31 33 35 | Used by:155 |
Symbol 155 MovieClip [lib_ball_move] | Uses:154 | Used by:Timeline |
Symbol 156 MovieClip [mc_grid] | Used by:Timeline | |
Symbol 157 Bitmap | Used by:158 | |
Symbol 158 Graphic | Uses:157 | Used by:159 |
Symbol 159 MovieClip | Uses:158 | Used by:Timeline |
Symbol 160 Graphic | Used by:161 | |
Symbol 161 MovieClip | Uses:160 | Used by:164 |
Symbol 162 Bitmap | Used by:163 | |
Symbol 163 Graphic | Uses:162 | Used by:164 |
Symbol 164 MovieClip [lib_ind] | Uses:161 163 | Used by:Timeline |
Symbol 165 EditableText | Uses:147 | Used by:Timeline |
Symbol 166 EditableText | Uses:147 | Used by:Timeline |
Symbol 167 Bitmap | Used by:168 | |
Symbol 168 Graphic | Uses:167 | Used by:170 175 |
Symbol 169 Graphic | Used by:170 | |
Symbol 170 MovieClip | Uses:169 20 168 23 25 27 29 31 33 35 | Used by:171 |
Symbol 171 MovieClip | Uses:170 38 40 42 44 46 48 50 | Used by:175 |
Symbol 172 EditableText | Uses:147 | Used by:175 |
Symbol 173 EditableText | Uses:147 | Used by:175 |
Symbol 174 EditableText | Uses:147 | Used by:175 |
Symbol 175 MovieClip [mc_gun_] | Uses:20 168 171 153 172 173 174 23 25 27 29 31 33 35 | Used by:Timeline |
Symbol 176 Bitmap | Used by:177 | |
Symbol 177 Graphic | Uses:176 | Used by:194 |
Symbol 178 Bitmap | Used by:179 | |
Symbol 179 Graphic | Uses:178 | Used by:180 |
Symbol 180 MovieClip | Uses:179 | Used by:194 |
Symbol 181 Bitmap | Used by:182 | |
Symbol 182 Graphic | Uses:181 | Used by:185 |
Symbol 183 Bitmap | Used by:184 | |
Symbol 184 Graphic | Uses:183 | Used by:185 |
Symbol 185 Button | Uses:182 184 109 110 111 | Used by:194 |
Symbol 186 Text | Uses:147 | Used by:194 |
Symbol 187 EditableText | Uses:147 | Used by:194 |
Symbol 188 Bitmap | Used by:189 | |
Symbol 189 Graphic | Uses:188 | Used by:194 |
Symbol 190 Graphic | Used by:191 | |
Symbol 191 Button | Uses:190 111 | Used by:194 |
Symbol 192 Bitmap | Used by:193 | |
Symbol 193 Graphic | Uses:192 | Used by:194 |
Symbol 194 MovieClip | Uses:177 180 185 186 67 187 189 191 193 | Used by:Timeline |
Instance Names
"mc_sloop" | Frame 7 | Symbol 132 MovieClip |
"btn_sound" | Frame 7 | Symbol 138 MovieClip |
"mc_trace" | Frame 11 | Symbol 153 MovieClip |
"mc_move_ball" | Frame 11 | Symbol 155 MovieClip [lib_ball_move] |
"mc_grid" | Frame 11 | Symbol 156 MovieClip [mc_grid] |
"mc_fall" | Frame 11 | Symbol 153 MovieClip |
"mc_pusher" | Frame 11 | Symbol 159 MovieClip |
"mc_ind" | Frame 11 | Symbol 164 MovieClip [lib_ind] |
"mc_next" | Frame 11 | Symbol 67 MovieClip [lib_ball] |
"mc_gun" | Frame 11 | Symbol 175 MovieClip [mc_gun_] |
"mc_msg" | Frame 11 | Symbol 194 MovieClip |
"mc_control" | Frame 11 | Symbol 153 MovieClip |
"tf" | Symbol 15 MovieClip Frame 1 | Symbol 11 EditableText |
"bar" | Symbol 15 MovieClip Frame 1 | Symbol 14 MovieClip |
"mc" | Symbol 51 MovieClip Frame 2 | Symbol 36 MovieClip |
"mc_bonus" | Symbol 55 MovieClip Frame 1 | Symbol 51 MovieClip |
"mc_freeze" | Symbol 55 MovieClip Frame 1 | Symbol 54 MovieClip |
"mc" | Symbol 67 MovieClip [lib_ball] Frame 1 | Symbol 55 MovieClip |
"mc_bonus" | Symbol 154 MovieClip Frame 1 | Symbol 51 MovieClip |
"mc_freeze" | Symbol 154 MovieClip Frame 1 | Symbol 54 MovieClip |
"mc" | Symbol 155 MovieClip [lib_ball_move] Frame 1 | Symbol 154 MovieClip |
"mc_mask" | Symbol 164 MovieClip [lib_ind] Frame 1 | Symbol 161 MovieClip |
"mc" | Symbol 171 MovieClip Frame 2 | Symbol 170 MovieClip |
"mc_bonus" | Symbol 175 MovieClip [mc_gun_] Frame 1 | Symbol 171 MovieClip |
"mc_point" | Symbol 175 MovieClip [mc_gun_] Frame 1 | Symbol 153 MovieClip |
"a1" | Symbol 194 MovieClip Frame 1 | Symbol 67 MovieClip [lib_ball] |
"a2" | Symbol 194 MovieClip Frame 1 | Symbol 67 MovieClip [lib_ball] |
"a3" | Symbol 194 MovieClip Frame 1 | Symbol 67 MovieClip [lib_ball] |
"a4" | Symbol 194 MovieClip Frame 1 | Symbol 67 MovieClip [lib_ball] |
"a5" | Symbol 194 MovieClip Frame 1 | Symbol 67 MovieClip [lib_ball] |
"a6" | Symbol 194 MovieClip Frame 1 | Symbol 67 MovieClip [lib_ball] |
"a7" | Symbol 194 MovieClip Frame 1 | Symbol 67 MovieClip [lib_ball] |
"a8" | Symbol 194 MovieClip Frame 1 | Symbol 67 MovieClip [lib_ball] |
"b1" | Symbol 194 MovieClip Frame 1 | Symbol 67 MovieClip [lib_ball] |
"b2" | Symbol 194 MovieClip Frame 1 | Symbol 67 MovieClip [lib_ball] |
"b3" | Symbol 194 MovieClip Frame 1 | Symbol 67 MovieClip [lib_ball] |
"b4" | Symbol 194 MovieClip Frame 1 | Symbol 67 MovieClip [lib_ball] |
"b5" | Symbol 194 MovieClip Frame 1 | Symbol 67 MovieClip [lib_ball] |
"b6" | Symbol 194 MovieClip Frame 1 | Symbol 67 MovieClip [lib_ball] |
"b7" | Symbol 194 MovieClip Frame 1 | Symbol 67 MovieClip [lib_ball] |
"b8" | Symbol 194 MovieClip Frame 1 | Symbol 67 MovieClip [lib_ball] |
"btn" | Symbol 194 MovieClip Frame 3 | Symbol 191 Button |
Special Tags
FileAttributes (69) | Timeline Frame 1 | Access local files only, Metadata not present, AS1/AS2. |
Protect (24) | Timeline Frame 1 | 0 bytes "" |
ExportAssets (56) | Timeline Frame 5 | Symbol 67 as "lib_ball" |
ExportAssets (56) | Timeline Frame 5 | Symbol 70 as "lib_trace" |
ExportAssets (56) | Timeline Frame 5 | Symbol 72 as "lib_trace2" |
ExportAssets (56) | Timeline Frame 5 | Symbol 73 as "lib_fall" |
ExportAssets (56) | Timeline Frame 5 | Symbol 77 as "endlevel" |
ExportAssets (56) | Timeline Frame 5 | Symbol 78 as "snd_ScoreX2orX4" |
ExportAssets (56) | Timeline Frame 5 | Symbol 79 as "snd_Pingvin" |
ExportAssets (56) | Timeline Frame 5 | Symbol 80 as "snd_GunFire" |
ExportAssets (56) | Timeline Frame 5 | Symbol 81 as "snd_Freeze" |
ExportAssets (56) | Timeline Frame 5 | Symbol 82 as "snd_ExplosionTNT" |
ExportAssets (56) | Timeline Frame 5 | Symbol 83 as "snd_BubbleLevelUp" |
ExportAssets (56) | Timeline Frame 5 | Symbol 84 as "snd_BubbleCollisionR" |
ExportAssets (56) | Timeline Frame 5 | Symbol 85 as "snd_BubbleCollision" |
ExportAssets (56) | Timeline Frame 5 | Symbol 86 as "snd_AutoFire" |
ExportAssets (56) | Timeline Frame 5 | Symbol 87 as "snd_8bonus" |
ExportAssets (56) | Timeline Frame 5 | Symbol 195 as "__Packages.CFallMovie" |
ExportAssets (56) | Timeline Frame 5 | Symbol 196 as "__Packages.CBall" |
ExportAssets (56) | Timeline Frame 5 | Symbol 197 as "__Packages.CTimeCounter" |
ExportAssets (56) | Timeline Frame 5 | Symbol 198 as "__Packages.CBackground" |
ExportAssets (56) | Timeline Frame 5 | Symbol 199 as "__Packages.CGrid" |
ExportAssets (56) | Timeline Frame 5 | Symbol 200 as "__Packages.CIndicator" |
ExportAssets (56) | Timeline Frame 5 | Symbol 201 as "__Packages.CGun" |
ExportAssets (56) | Timeline Frame 5 | Symbol 202 as "__Packages.CMoveBall" |
ExportAssets (56) | Timeline Frame 11 | Symbol 155 as "lib_ball_move" |
ExportAssets (56) | Timeline Frame 11 | Symbol 156 as "mc_grid" |
ExportAssets (56) | Timeline Frame 11 | Symbol 164 as "lib_ind" |
ExportAssets (56) | Timeline Frame 11 | Symbol 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
txtScores | Symbol 165 EditableText | "999999" |
txtLevel | Symbol 166 EditableText | "99999" |
txtNumber | Symbol 172 EditableText | "51" |
txtNumber | Symbol 173 EditableText | "51" |
txtNumber | Symbol 174 EditableText | "51" |
txtLevel | Symbol 187 EditableText | "99" |
|