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

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

GameTeam Pool.swf

This is the info page for
Flash #67923

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


Text
0%

Two players get 15 balls numbered 1 to 15 and
divided into two groups. There are solids
(numbers from 1 to 7) and stripes (numbers from 9
to 15) plus the black eight ball.
As the game starts, the first player takes the
breaking shot on the balls racked in triangular
fashion.

An object of the breaking shot is to choose
a group of balls (solids or stripes). If the breaking
shot pots a solid ball, the player is assigned the
group of solids. If the breaking shot pots a stripe ball,
the player is assigned the group of stripes. The
ultimate goal of 8-ball pool is, for each player, to pot
all balls from the assigned group of balls (pot all
solids or pot all stripes), and then pot the eight ball.

If a player does not pot any of the assigned
balls in a shot, the turn passes to the opponent.
If a player pots the eight ball before all
the assigned balls or pots the eight ball and
simultaneously commits a foul, the player loses
the inning.

If a player does not hit a ball with the cue ball,
it's a foul. If a player hits the eight ball first or one
of the opponent's balls first, it's a foul. If a player
pots the cue ball, it's a foul. For every committed
foul, the opponent gets a free shot. If, during a free
shot, a player pots no balls, he gets another shot.
A foul during a free shot counts as a regular foul,
and the turn passes to the opponent.

If a player pots the cue ball, the opponent gets
ball in hand, which means that it can be placed
at any spot behind the white line.

Free shot!

Please wait...

Foul!
Opponent’s ball hit first.
has free shot.

Player

Computer

Foul!
No ball hit.
has free shot.

Foul!
Cue ball potted.
has free shot.

Foul!
Eight ball hit first.
has free shot.

Foul!
Opponent’s ball potted.
has free shot.

has won the match!

has loose the frame!

ActionScript [AS1/AS2]

Frame 1
stopSoundFlag = false; _global.openSite = function () { getURL ("http://www.gameteam.com/stats/pool.html", "_blank"); };
Instance of Symbol 17 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 20 MovieClip in Frame 4
onClipEvent (load) { _alpha = 0; state = 0; _root.stop(); } onClipEvent (enterFrame) { l = _root.getBytesLoaded(); t = _root.getBytesTotal(); if (state == 1) { paused++; } 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(zastFlag) { if (zastFlag) { mc_sloop.gotoAndStop(3); stopSoundFlag = true; } else { stopSoundFlag2 = true; } } function soundOn(zastFlag) { if (zastFlag) { mc_sloop.gotoAndStop(2); stopSoundFlag = false; } else { stopSoundFlag2 = false; } } function new_game_pressed() { gameStart(); } function how_to_play_pressed() { rulesCur = 1; this.gotoAndStop("rulez"); btn_left.enabled = false; } function more_pressed() { getURL ("http://www.gametop.com/?utm_source=RealPool&utm_medium=flashGame", "_blank"); } function back_pressed() { this.gotoAndStop("main"); } function left_pressed() { rulesCur--; mc_rules.gotoAndStop(rulesCur); if (rulesCur == 1) { btn_left.enabled = false; } btn_right.enabled = true; } function right_pressed() { rulesCur++; mc_rules.gotoAndStop(rulesCur); if (rulesCur == rulesCount) { btn_right.enabled = false; } btn_left.enabled = true; } function removeAllMovie() { objAdd.destructor(); delete objAdd; delete objBounds; } function inMenuFirst() { mc_sloop.gotoAndStop(2); } function gameStart() { mc_sloop.gotoAndStop(3); this.gotoAndStop("start"); } function newGame() { if (!stopSoundFlag) { mc_sloop.gotoAndStop(2); } this.gotoAndStop("main"); } function playSnd(lib_snd) { if (stopSoundFlag2) { return(undefined); } s = new Sound(this); s.attachSound(lib_snd); s.start(); } function playSnd2(lib_snd, mc, vol) { if (stopSoundFlag2) { return(undefined); } if (vol < 18) { return(undefined); } if (vol > 100) { vol = 100; } s = new Sound(mc); s.attachSound(lib_snd); s.setVolume(vol); s.start(); } function addScores(scr) { } function prepareToTurn() { if (gameState == 0) { var _local2; var _local1; showCue(); setCuePos(); _local2 = Math.cos((cue_mc._rotation / 180) * Math.PI); _local1 = Math.sin((cue_mc._rotation / 180) * Math.PI); setCueGoal(_local2, _local1); btn_mc.enabled = true; ind_mc.enable(); } else if (gameState == 1) { showTimer(); curPocketNum = 5; curBallNum = 0; objBounds.clearRules(); } } function hideMessage() { mc_msg._visible = false; mc_msg.gotoAndStop("st0"); gameState = nextGameState; if ((gameState == 5) || (gameState == 6)) { objBounds.freeShot = true; mc_freeShot._visible = true; doKickToEnemy(); } else if (gameState == 7) { removeAllMovie(); newGame(); } } function showMessage(fLabel) { mc_msg.gotoAndStop(fLabel); if (mc_msg.mc_who != undefined) { if ((fLabel == "st7") || (fLabel == "st8")) { if (objBounds.thisCompKick) { mc_msg.mc_who.gotoAndStop(2); } else { mc_msg.mc_who.gotoAndStop(1); } } else if (objBounds.thisCompKick) { mc_msg.mc_who.gotoAndStop(1); } else { mc_msg.mc_who.gotoAndStop(2); } } mc_msg._visible = true; gameState = 4; frameCounter = 0; } function endBallsMove() { var _local1 = objBounds.isFoul(); if (_local1 != 0) { objBounds.freeShot = false; mc_freeShot._visible = false; if (_local1 == 7) { if ((objBounds.thisCompKick && (objBounds.compBallType == 3)) && (objBounds.firstKickBallType == 3)) { if ((objBounds.mainBall.state != 2) && (objBounds.firstKickOk)) { messageFrames = 90; nextGameState = 7; showMessage("st7"); objAdd.addBallToDepos(objBounds.ball8); return(undefined); } if ((objBounds.mainBall.state == 2) && (objBounds.firstKickOk)) { objAdd.put8Ball(); objAdd.putMainBallRandom(); nextStateAfterFoul(); showMessage("st4"); return(undefined); } } else if (((objBounds.thisCompKick == false) && (objBounds.playerBallType == 3)) && (objBounds.firstKickBallType == 3)) { if ((objBounds.mainBall.state != 2) && (objBounds.firstKickOk)) { messageFrames = 90; nextGameState = 7; showMessage("st7"); objAdd.addBallToDepos(objBounds.ball8); return(undefined); } if ((objBounds.mainBall.state == 2) && (objBounds.firstKickOk)) { objAdd.put8Ball(); objAdd.putMainBallRandom(); nextStateAfterFoul(); showMessage("st4"); return(undefined); } } messageFrames = 72; nextGameState = 7; showMessage("st8"); return(undefined); } nextStateAfterFoul(); if (_local1 == 4) { objAdd.putMainBallRandom(); } showMessage("st" + String(_local1)); } else if (objBounds.ballIn <= 0) { if (objBounds.freeShot) { objBounds.freeShot = false; mc_freeShot._visible = false; doNextKick(); } else { doKickToEnemy(); } } else { if (objBounds.freeShot) { objBounds.freeShot = false; mc_freeShot._visible = false; } doNextKick(); } } function nextStateAfterFoul() { if (objBounds.thisCompKick) { nextGameState = 5; } else { nextGameState = 6; } } function doKickToEnemy() { if (objBounds.thisCompKick) { gameState = 0; prepareToTurn(); mc_ndp_player._visible = true; mc_ndp_computer._visible = false; objBounds.thisCompKick = false; } else { gameState = 1; prepareToTurn(); mc_ndp_computer._visible = true; mc_ndp_player._visible = false; objBounds.thisCompKick = true; } } function doNextKick() { if (objBounds.thisCompKick) { gameState = 1; } else { gameState = 0; } prepareToTurn(); } function buttonPressed() { if (pauseFlag) { return(undefined); } if (gameState == 0) { ind_mc.disable(); btn_mc.enabled = false; hideCueGoal(); dx = Math.cos((cue_mc._rotation / 180) * Math.PI); dy = Math.sin((cue_mc._rotation / 180) * Math.PI); startKick(dx, dy, ind_mc.getValue()); gameState = 2; } } function getNextBall(ballNum, ballType) { var _local3 = objBounds.ball_array.length; do { ballNum++; } while ((ballNum < _local3) && ((objBounds.ball_array[ballNum].state == 2) || ((ballType != -1) && (objBounds.ball_array[ballNum].myType != ballType)))); if (ballNum >= _local3) { return(-1); } return(ballNum); } function showTimer() { mc_msg._visible = true; mc_msg.gotoAndStop("st1"); } function hideTimer() { mc_msg._visible = false; mc_msg.gotoAndStop("st0"); } function showCue() { cue1_mc._visible = true; cueBall_mc._visible = false; cue21_mc._visible = false; cue22_mc._visible = false; cue_mc._visible = true; cue1_mc._x = objBounds.mainBall._x; cue1_mc._y = objBounds.mainBall._y; cue_mc._x = objBounds.mainBall._x - (objBounds.ballRad + objBounds.cueWidth2); cue_mc._y = objBounds.mainBall._y; } function setCuePos() { var _local2; var _local1; _local2 = Math.cos((cue_mc._rotation / 180) * Math.PI); _local1 = Math.sin((cue_mc._rotation / 180) * Math.PI); cue_mc._x = objBounds.mainBall._x - (_local2 * (objBounds.ballRad + objBounds.cueWidth2)); cue_mc._y = objBounds.mainBall._y - (_local1 * (objBounds.ballRad + objBounds.cueWidth2)); } function hideCueGoal() { cueBall_mc._visible = false; cue1_mc._visible = false; cue21_mc._visible = false; cue22_mc._visible = false; } function hideCue() { cue_mc._visible = false; } function setCueGoal(dx, dy) { var _local6; var _local5; var _local9; var _local1; var _local10 = objBounds.ball_array.length; var _local4; var _local14 = null; var _local13 = 500; var _local2 = {x:0, y:0, R:0}; var _local11 = {x:0, y:0}; var _local19 = Math.atan2(dy, dx) / (Math.PI/180); var _local15; cue1_mc._rotation = _local19; _local1 = 1; while (_local1 < _local10) { _local4 = objBounds.ball_array[_local1]; if (_local4.state == 2) { } else { _local6 = _local4._x - objBounds.mainBall._x; _local5 = _local4._y - objBounds.mainBall._y; _local9 = Math.sqrt((_local6 * _local6) + (_local5 * _local5)); _local6 = _local6 / _local9; _local5 = _local5 / _local9; if ((((_local6 * dx) + (_local5 * dy)) > 0) && (objBounds.intersec.getCircleIntersection(objBounds.mainBall._x, objBounds.mainBall._y, objBounds.mainBall._x + (dx * 400), objBounds.mainBall._y + (dy * 400), _local4._x, _local4._y, objBounds.ballTwoR, objBounds.ballTwoR2, _local2))) { if (_local2.R < _local13) { _local13 = _local2.R; _local14 = _local4; _local11.x = _local2.x; _local11.y = _local2.y; } } } _local1++; } if (_local14 != null) { cueBall_mc._visible = true; cue21_mc._visible = true; cue22_mc._visible = true; cue1_mc._xscale = _local13 / 3; cueBall_mc._x = _local11.x; cueBall_mc._y = _local11.y; _local6 = _local14._x - _local11.x; _local5 = _local14._y - _local11.y; _local9 = Math.sqrt((_local6 * _local6) + (_local5 * _local5)); _local6 = _local6 / _local9; _local5 = _local5 / _local9; _local15 = (dx * _local6) + (dy * _local5); cue21_mc._x = (cue22_mc._x = _local11.x); cue21_mc._y = (cue22_mc._y = _local11.y); cue21_mc._rotation = Math.atan2(_local5, _local6) / (Math.PI/180); cue21_mc._xscale = _local15 * 100; if ((((-dy) * _local6) + (dx * _local5)) > 0) { cue22_mc._rotation = Math.atan2(-_local6, _local5) / (Math.PI/180); } else { cue22_mc._rotation = Math.atan2(_local6, -_local5) / (Math.PI/180); } cue22_mc._xscale = Math.sqrt(1 - (_local15 * _local15)) * 100; return(undefined); } cue21_mc._visible = false; cue22_mc._xscale = 100; var _local12 = {x:0, y:0, nx:0, ny:0, R:0}; var _local3; var _local18; var _local17; var _local16; _local10 = objBounds.pocket_array.length; if (objBounds.intersec.getFieldIntersection(objBounds.line_array, objBounds.mainBall._x, objBounds.mainBall._y, objBounds.mainBall._x + (dx * 400), objBounds.mainBall._y + (dy * 400), _local12)) { _local1 = 0; while (_local1 < _local10) { _local3 = objBounds.pocket_array[_local1]; if (objBounds.intersec.getCircleIntersection(objBounds.mainBall._x, objBounds.mainBall._y, objBounds.mainBall._x + (dx * 400), objBounds.mainBall._y + (dy * 400), _local3.x, _local3.y, _local3.R, _local3.R2, _local2)) { if (_local2.R < _local12.R) { cue22_mc._visible = false; cueBall_mc._visible = false; cue1_mc._xscale = _local2.R / 3; return(undefined); } } _local1++; } _local16 = ((-dx) * _local12.nx) - (dy * _local12.ny); _local18 = ((2 * _local16) * _local12.nx) + dx; _local17 = ((2 * _local16) * _local12.ny) + dy; cue22_mc._visible = true; cueBall_mc._visible = true; cue22_mc._x = (cueBall_mc._x = _local12.x); cue22_mc._y = (cueBall_mc._y = _local12.y); cue22_mc._rotation = Math.atan2(_local17, _local18) / (Math.PI/180); cue1_mc._xscale = _local12.R / 3; return(undefined); } cue22_mc._visible = false; cueBall_mc._visible = false; _local1 = 0; while (_local1 < _local10) { _local3 = objBounds.pocket_array[_local1]; if (objBounds.intersec.getCircleIntersection(objBounds.mainBall._x, objBounds.mainBall._y, objBounds.mainBall._x + (dx * 400), objBounds.mainBall._y + (dy * 400), _local3.x, _local3.y, _local3.R, _local3.R2, _local2)) { cue22_mc._visible = false; cueBall_mc._visible = false; cue1_mc._xscale = _local2.R / 3; return(undefined); } _local1++; } } function startKick(dx, dy, pow) { var _local3 = Math.atan2(dy, dx) / (Math.PI/180); cue_mc._visible = true; cue_mc._rotation = _local3; cue_mc._x = objBounds.mainBall._x - (dx * (objBounds.ballRad + objBounds.cueWidth2)); cue_mc._y = objBounds.mainBall._y - (dy * (objBounds.ballRad + objBounds.cueWidth2)); objBounds.mainBall.tmpVx = dx; objBounds.mainBall.tmpVy = dy; objBounds.mainBall.minStartSpeed = objBounds.ballMaxSpeed * pow; objBounds.cueCurDW = 0; objBounds.cueSubState = 0; } function moveCue() { if (objBounds.cueSubState == 0) { objBounds.cueCurDW = objBounds.cueCurDW + objBounds.cueBackSpeed; if (objBounds.cueCurDW >= ((objBounds.cueMaxDW * objBounds.mainBall.minStartSpeed) / objBounds.ballMaxSpeed)) { objBounds.cueCurDW = (objBounds.cueMaxDW * objBounds.mainBall.minStartSpeed) / objBounds.ballMaxSpeed; cue_mc._x = objBounds.mainBall._x - (objBounds.mainBall.tmpVx * ((objBounds.ballRad + objBounds.cueWidth2) + objBounds.cueCurDW)); cue_mc._y = objBounds.mainBall._y - (objBounds.mainBall.tmpVy * ((objBounds.ballRad + objBounds.cueWidth2) + objBounds.cueCurDW)); objBounds.cueCurFrames = 0; objBounds.cueSubState = 4; } else { cue_mc._x = objBounds.mainBall._x - (objBounds.mainBall.tmpVx * ((objBounds.ballRad + objBounds.cueWidth2) + objBounds.cueCurDW)); cue_mc._y = objBounds.mainBall._y - (objBounds.mainBall.tmpVy * ((objBounds.ballRad + objBounds.cueWidth2) + objBounds.cueCurDW)); } } else if (objBounds.cueSubState == 1) { objBounds.cueCurSpeed = objBounds.cueCurSpeed + objBounds.cueAcc; objBounds.cueCurDW = objBounds.cueCurDW - objBounds.cueCurSpeed; if (objBounds.cueCurDW <= 0) { objBounds.cueCurDW = 0; } cue_mc._x = objBounds.mainBall._x - (objBounds.mainBall.tmpVx * ((objBounds.ballRad + objBounds.cueWidth2) + objBounds.cueCurDW)); cue_mc._y = objBounds.mainBall._y - (objBounds.mainBall.tmpVy * ((objBounds.ballRad + objBounds.cueWidth2) + objBounds.cueCurDW)); if (objBounds.cueCurDW == 0) { objBounds.cueSubState = 3; objBounds.cueCurFrames = 0; } } else if (objBounds.cueSubState == 4) { objBounds.cueCurFrames++; if (objBounds.cueCurFrames >= objBounds.cueStopFrames) { objBounds.cueSubState = 1; objBounds.cueCurSpeed = 0; objBounds.cueAcc = ((objBounds.mainBall.minStartSpeed * objBounds.mainBall.minStartSpeed) * 4.5) / ((objBounds.cueMaxDW * objBounds.mainBall.minStartSpeed) / objBounds.ballMaxSpeed); } } if (objBounds.cueSubState == 3) { objBounds.cueCurFrames++; if (objBounds.cueCurFrames >= 3) { hideCue(); objBounds.cueSubState = 0; } } } var stopSoundFlag = false; var stopSoundFlag2 = false; var tmpRX; var tmpRY; var tmpRU; var curVolume = 100; var rulesCount = 5; var rulesCur = 1; var pauseFlag; var dx; var dy; var dr; var objBounds; var objAdd; var gameState; var nextGameState; var messageFrames; var frameCounter; var cueMoveFlag; var curPocketNum; var curBallNum; var tickN; var lastTickN; var curTickN; var ticksInFrame = 55.5555555555556; var rand; gotoAndStop ("main"); inMenuFirst();
Frame 7
stop();
Instance of Symbol 49 MovieClip "btn_sound" in Frame 7
onClipEvent (load) { if (this._parent.stopSoundFlag) { this.gotoAndStop(2); } this.zastFlag = true; }
Instance of Symbol 51 MovieClip "mc_sloop" in Frame 7
onClipEvent (load) { var soundControl = new Sound(this); }
Frame 9
stop();
Instance of Symbol 49 MovieClip "btn_sound" in Frame 9
onClipEvent (load) { if (this._parent.stopSoundFlag2) { this.gotoAndStop(2); } this.zastFlag = false; }
Instance of Symbol 278 MovieClip in Frame 9
onClipEvent (load) { this._visible = false; tellTarget (_parent) { pauseFlag = false; mc_ndp_computer._visible = false; mc_msg._visible = false; mc_msg.gotoAndStop("st0"); i = 1; while (i < 8) { this._parent["pb" + i]._visible = false; i++; } i = 9; while (i < 16) { this._parent["pb" + i]._visible = false; i++; } objBounds = new CBounds(mc_lu, mc_rd, cue1_mc, cue21_mc, cue22_mc, cueBall_mc, cue_mc); objAdd = new CBounds2(objBounds); objBounds.setAddClass(objAdd); objAdd.addLines(this._parent); objAdd.addPockets(this._parent, this._parent); objAdd.addBalls(this._parent, mc_shadows); objAdd.addGoals(this._parent); hideCue(); hideCueGoal(); objBounds.freeShot = false; mc_freeShot._visible = false; gameState = 0; nextGameState = 0; messageFrames = 40; frameCounter = 0; cueMoveFlag = false; curPocketNum = 0; curBallNum = 0; cue_mc.onPress = function () { this._parent.cueMoveFlag = true; updateAfterEvent(); }; cue_mc.onRelease = (cue_mc.onReleaseOutside = function () { this._parent.cueMoveFlag = false; updateAfterEvent(); }); btn_mc.enabled = false; ind_mc.disable(); ticksInFrame = 55.5555555555556; prepareToTurn(); }; } onClipEvent (enterFrame) { tellTarget (_parent) { if (pauseFlag) { return(undefined); } if (gameState == 0) { if (cueMoveFlag) { dx = _xmouse - objBounds.mainBall._x; dy = _ymouse - objBounds.mainBall._y; cue_mc._rotation = (Math.atan2(dy, dx) * 57.2957795130823) + 180; setCuePos(); dx = Math.cos((cue_mc._rotation / 180) * Math.PI); dy = Math.sin((cue_mc._rotation / 180) * Math.PI); setCueGoal(dx, dy); } } else if (gameState == 1) { curTickN = (tickN = getTimer()); do { lastTickN = curTickN; curPocketNum++; if (curPocketNum >= 6) { curPocketNum = 0; curBallNum = getNextBall(curBallNum, objBounds.compBallType); if (curBallNum == -1) { if (objBounds.rules_array.length > 0) { objAdd.sortRules(); objBounds.mainBall.tmpVx = objBounds.rules_array[0].vx; objBounds.mainBall.tmpVy = objBounds.rules_array[0].vy; objBounds.mainBall.minStartSpeed = objBounds.rules_array[0].startSpeed; if (random(3) == 0) { tmpRU = (0.5 + (0.5 * Math.random())) * (Math.PI/180); tmpRX = (objBounds.mainBall.tmpVx * Math.cos(tmpRU)) - (objBounds.mainBall.tmpVy * Math.sin(tmpRU)); tmpRY = (objBounds.mainBall.tmpVx * Math.sin(tmpRU)) + (objBounds.mainBall.tmpVy * Math.cos(tmpRU)); objBounds.mainBall.tmpVx = tmpRX; objBounds.mainBall.tmpVy = tmpRY; objBounds.mainBall.minStartSpeed = objBounds.mainBall.minStartSpeed + (objBounds.ballMaxSpeed / 8); if (objBounds.mainBall.minStartSpeed > objBounds.ballMaxSpeed) { objBounds.mainBall.minStartSpeed = objBounds.ballMaxSpeed; } } } else { objBounds.compRandomKick(objBounds.compBallType); objAdd.sortRules(); if (objBounds.rules_array.length > 0) { objBounds.mainBall.tmpVx = objBounds.rules_array[0].vx; objBounds.mainBall.tmpVy = objBounds.rules_array[0].vy; if (objBounds.rules_array[0].maxBackSpeed < 0.2) { objBounds.mainBall.minStartSpeed = objBounds.ballMaxSpeed - ((Math.random() * (objBounds.ballMaxSpeed - objBounds.rules_array[0].startSpeed)) / 3); } else { objBounds.mainBall.minStartSpeed = ((objBounds.ballMaxSpeed - objBounds.rules_array[0].startSpeed) / 2) + objBounds.rules_array[0].startSpeed; } } else { if (random(2) == 0) { objBounds.mainBall.tmpVx = 1; objBounds.mainBall.tmpVy = 0; } else { objBounds.mainBall.tmpVx = -1; objBounds.mainBall.tmpVy = 0; } objBounds.mainBall.minStartSpeed = objBounds.ballMaxSpeed / 2; } } showCue(); cue_mc._rotation = (Math.atan2(objBounds.mainBall.tmpVy, objBounds.mainBall.tmpVx) * 57.2957795130823) + 180; setCuePos(); hideCueGoal(); startKick(objBounds.mainBall.tmpVx, objBounds.mainBall.tmpVy, objBounds.mainBall.minStartSpeed / objBounds.ballMaxSpeed); gameState = 2; hideTimer(); return(undefined); } } objBounds.canBallToPocket(objBounds.ball_array[curBallNum], curPocketNum); curTickN = getTimer(); } while ((ticksInFrame - (curTickN - tickN)) > (curTickN - lastTickN)); } else if (gameState == 2) { moveCue(); if (objBounds.cueSubState == 3) { if (objBounds.thisCompKick) { objAdd.compKickBall(); gameState = 3; } else { objAdd.kickBall(); gameState = 3; } playSnd("lib_snd_cue"); } } else if (gameState == 3) { if (objBounds.cueSubState == 3) { moveCue(); } rand = 1; if (objBounds.moveBalls()) { rand = 0; } if (rand == 1) { endBallsMove(); } if (objBounds.ballSndFlag) { if (objBounds.soundBall != 0) { playSnd2("lib_snd_ball", objBounds.soundBall, (objBounds.maxVol * 100) + 12); } } else if (objBounds.stolSndFlag) { } else if (objBounds.pocketSndFlag) { playSnd("lib_snd_lusa"); } } else if (gameState == 4) { frameCounter++; if (frameCounter >= messageFrames) { hideMessage(); return(undefined); } } else if (gameState == 5) { } else if (gameState == 6) { } }; }
Symbol 279 MovieClip [__Packages.CBall] Frame 0
class CBall extends MovieClip { var rK, myType, state, sub2State, stop, frame90Count, acc, mc_shadow, vx, vy, curStep, ostL, curL, _x, sX, _y, sY, speed, _visible; function CBall () { super(); rK = 360 / (Math.PI * diametr); myType = -1; state = 0; sub2State = 0; stop(); } function init(frame90Count, acc, mc_shadow) { this.frame90Count = frame90Count; this.acc = acc; this.mc_shadow = mc_shadow; } function doStep() { } function updateRotate() { } function doOneStep() { doStep(vx, vy, curStep); ostL = ostL - curStep; curL = curL + curStep; _x = sX + (vx * curL); _y = sY + (vy * curL); if (ostL < 0.05) { ostL = 0; } } function slowDown() { speed = speed - acc; if (speed <= 0) { speed = 0; state = 0; } } function startMove(dx, dy, speed) { vx = dx; vy = dy; this.speed = speed; sX = _x; sY = _y; curL = 0; state = 1; } function saveCoords() { sX = _x; sY = _y; curL = 0; } function disable() { mc_shadow._visible = false; state = 2; sub2State = 0; _visible = false; _x = (_y = -1000); ostL = (speed = 0); } function putBallTo(x, y) { mc_shadow._x = (_x = x); mc_shadow._y = (_y = y); _visible = true; mc_shadow._visible = true; state = 0; } static var diametr = 12; }
Symbol 280 MovieClip [__Packages.CBounds2] Frame 0
class CBounds2 { var objBounds, line_array, pocket_array, ball_array, goal_array, rules_array, intersec, leftUp_x, leftUp_y, rightDown_x, rightDown_y, sortRulesFunc; function CBounds2 (objBounds) { this.objBounds = objBounds; line_array = new Array(); pocket_array = new Array(); ball_array = new Array(); goal_array = new Array(); rules_array = new Array(); intersec = new CIntersection(); leftUp_x = objBounds.leftUp_x; leftUp_y = objBounds.leftUp_y; rightDown_x = objBounds.rightDown_x; rightDown_y = objBounds.rightDown_y; sortRulesFunc = function (a, b) { if (a.foulFlag != b.foulFlag) { if (a.foulFlag == false) { return(-1); } return(1); } if (a.prior < b.prior) { return(-1); } if (a.prior > b.prior) { return(1); } if (a.maxBackSpeed < b.maxBackSpeed) { return(-1); } if (a.maxBackSpeed > b.maxBackSpeed) { return(1); } return(0); }; } function addBallToDepos(ball) { } function destructor() { delete line_array; delete pocket_array; delete ball_array; delete goal_array; delete rules_array; delete intersec; } function addLines(lRoot) { var _local4; var _local5; var _local3; var _local2; _local4 = 1; while (true) { _local3 = lRoot[("mc_p" + _local4) + "0"]; if (_local3 == undefined) { break; } _local5 = 1; while (true) { _local2 = lRoot[(("mc_p" + _local4) + "") + _local5]; if (_local2 == undefined) { break; } line_array.push({x1:_local3._x, y1:_local3._y, x2:_local2._x, y2:_local2._y, nx:0, ny:0, xMin:Math.min(_local3._x, _local2._x), yMin:Math.min(_local3._y, _local2._y), xMax:Math.max(_local3._x, _local2._x), yMax:Math.max(_local3._y, _local2._y)}); _local3 = _local2; _local5++; } _local4++; } _local5 = line_array.length; _local4 = 0; while (_local4 < _local5) { intersec.calcNormal(line_array[_local4]); _local4++; } } function addPockets(pRoot) { var _local2; var _local4 = 0; var _local3; while (true) { _local2 = pRoot["mc_pocket" + (_local4 + 1)]; if (_local2 == undefined) { break; } _local4++; _local3 = _local2._width / 2; pocket_array.push({x:_local2._x, y:_local2._y, R:_local3, R2:_local3 * _local3, rB2:144, xMin:_local2._x - _local3, yMin:_local2._y - _local3, xMax:_local2._x + _local3, yMax:_local2._y + _local3}); _local2._visible = false; } } function addBalls(bRoot, mc_shadows) { var _local2; var _local3; var _local4; var _local7; var _local6; var _local5 = 0; while (true) { _local3 = bRoot["mc_ball" + _local5]; if (_local3 == undefined) { break; } _local5++; } _local2 = 0; while (_local2 < _local5) { _local3 = bRoot["mc_ball" + _local2]; _local3.num = _local2; if (_local2 == 0) { _local3.myType = 0; } else if (_local2 == 8) { _local3.myType = 3; } mc_shadows.attachMovie("lib_shadow", String(_local2), _local2); _local3.init(objBounds.bFrame90Count, objBounds.ballAcc, mc_shadows[_local2]); _local3.setRandomRotate(); _local3.mc_shadow._x = _local3._x; _local3.mc_shadow._y = _local3._y; _local3.mc_shadow._alpha = 30; ball_array.push(_local3); _local2++; } _local2 = 2; while (_local2 <= _local5) { if ((_local2 == 8) || (_local2 == 9)) { } else { _local4 = random(14) + 2; if ((_local4 == 8) || (_local4 == 9)) { } else if (_local4 != _local2) { _local7 = ball_array[_local2]._x; _local6 = ball_array[_local2]._y; ball_array[_local2].mc_shadow._x = (ball_array[_local2]._x = ball_array[_local4]._x); ball_array[_local2].mc_shadow._y = (ball_array[_local2]._y = ball_array[_local4]._y); ball_array[_local4].mc_shadow._x = (ball_array[_local4]._x = _local7); ball_array[_local4].mc_shadow._y = (ball_array[_local4]._y = _local6); } } _local2++; } objBounds.ballRad = CBall.diametr / 2; objBounds.ballRad2 = objBounds.ballRad * objBounds.ballRad; intersec.ballTwoR = (objBounds.ballTwoR = objBounds.ballRad * 2); intersec.ballTwoR2 = (objBounds.ballTwoR2 = objBounds.ballTwoR * objBounds.ballTwoR); objBounds.mainBall = ball_array[0]; objBounds.ball8 = ball_array[8]; } function addGoals(gRoot) { var _local9; goal_array.push({x:gRoot.mc_goal1._x, y:gRoot.mc_goal1._y, l1:line_array[17], l2:line_array[0], l3:line_array[1], l4:line_array[16]}); goal_array.push({x:gRoot.mc_goal2._x, y:gRoot.mc_goal2._y, l1:line_array[2], l2:line_array[3], l3:line_array[1], l4:line_array[4]}); goal_array.push({x:gRoot.mc_goal3._x, y:gRoot.mc_goal3._y, l1:line_array[5], l2:line_array[6], l3:line_array[4], l4:line_array[7]}); goal_array.push({x:gRoot.mc_goal4._x, y:gRoot.mc_goal4._y, l1:line_array[8], l2:line_array[9], l3:line_array[7], l4:line_array[10]}); goal_array.push({x:gRoot.mc_goal5._x, y:gRoot.mc_goal5._y, l1:line_array[11], l2:line_array[12], l3:line_array[10], l4:line_array[13]}); goal_array.push({x:gRoot.mc_goal6._x, y:gRoot.mc_goal6._y, l1:line_array[14], l2:line_array[15], l3:line_array[13], l4:line_array[16]}); } function setFoulRules(myType) { var _local2; var _local4 = rules_array.length; var _local3; if (myType == -1) { _local2 = 0; while (_local2 < _local4) { _local3 = rules_array[_local2]; _local3.foulFlag = (((_local3.firstBallType != 1) && (_local3.firstBallType != 2)) ? true : false); _local2++; } } else { _local2 = 0; while (_local2 < _local4) { _local3 = rules_array[_local2]; _local3.foulFlag = ((_local3.firstBallType != myType) ? true : false); _local2++; } } } function sortRules(myType) { rules_array.sort(sortRulesFunc); } function getPriorXDir() { return(((objBounds.mainBall._x < objBounds.ball8._x) ? 1 : -1)); } function rulesWithoutFoul() { var _local2; var _local3 = rules_array.length; _local2 = 0; while (_local2 < _local3) { if (rules_array[_local2].foulFlag == false) { return(true); } _local2++; } return(false); } function put8Ball() { var _local2 = 381; var _local3 = 467; objBounds.putBallRandom(objBounds.ball8, _local2, _local3); } function putMainBallRandom() { var _local2 = 106; var _local3 = 193; objBounds.putBallRandom(objBounds.mainBall, _local2, _local3); } function isPutMainBall(x, y) { var _local9 = {x:0, y:0, nx:0, ny:0, R:0}; if (intersec.getFieldIntersection(line_array, 260, 195, x, y, _local9)) { return(false); } var _local3; var _local8 = ball_array.length; var _local2; var _local5; var _local4; _local3 = 1; while (_local3 < _local8) { _local2 = ball_array[_local3]; if (_local2.state == 2) { } else { _local5 = _local2._x - x; _local4 = _local2._y - y; if (((_local5 * _local5) + (_local4 * _local4)) < objBounds.ballTwoR2) { return(false); } } _local3++; } return(true); } function kickBall() { var _local2 = ball_array[0]; objBounds.thisCompKick = false; objBounds.type1BallIn = 0; objBounds.type2BallIn = 0; objBounds.ballIn = 0; objBounds.firstKickBallType = -1; objBounds.firstInBallType = -1; objBounds.wrongBallFlag = false; objBounds.firstKickOk = false; _local2.startMove(_local2.tmpVx, _local2.tmpVy, _local2.minStartSpeed); } function compKickBall() { var _local2 = ball_array[0]; objBounds.thisCompKick = true; objBounds.firstKickBallType = -1; objBounds.thisCompKick = true; objBounds.type1BallIn = 0; objBounds.type2BallIn = 0; objBounds.ballIn = 0; objBounds.firstInBallType = -1; objBounds.wrongBallFlag = false; objBounds.firstKickOk = false; _local2.startMove(_local2.tmpVx, _local2.tmpVy, _local2.minStartSpeed); } function getMaxSpeed() { var _local2; var _local3; var _local5 = ball_array.length; var _local4 = 0; _local3 = 0; while (_local3 < _local5) { _local2 = ball_array[_local3]; if ((_local2.state == 1) && (_local2.speed > _local4)) { _local4 = _local2.speed; } _local3++; } return(_local4); } function setBallSteps(maxSpeed) { var _local3; var _local4 = ball_array.length; var _local5 = Math.ceil(maxSpeed / objBounds.ballStep); var _local2; _local3 = 0; while (_local3 < _local4) { _local2 = ball_array[_local3]; if ((_local2.state == 1) && (_local2.speed > 0)) { _local2.curStep = _local2.speed / _local5; _local2.ostL = _local2.speed; } _local3++; } } function addRule(rule) { rules_array.push(rule); } function isFreeWayFromWalls(sX, sY, pNum) { var _local8 = {x:0, y:0}; var _local2 = goal_array[pNum]; var _local5 = sX; var _local7 = sY; var _local4 = _local2.x; var _local6 = _local2.y; if ((((sX > leftUp_x) && (sY > leftUp_y)) && (sX < rightDown_x)) && (sY < rightDown_y)) { return((intersec.getIntersection(_local5, _local7, _local4, _local6, _local2.l1.x1, _local2.l1.y1, _local2.l1.x2, _local2.l1.y2, _local8) == false) && (intersec.getIntersection(_local5, _local7, _local4, _local6, _local2.l2.x1, _local2.l2.y1, _local2.l2.x2, _local2.l2.y2, _local8) == false)); } var _local3; _local3 = 0; while (_local3 < 6) { _local2 = goal_array[_local3]; if (intersec.getIntersection(_local5, _local7, _local4, _local6, _local2.l1.x1, _local2.l1.y1, _local2.l1.x2, _local2.l1.y2, _local8) || (intersec.getIntersection(_local5, _local7, _local4, _local6, _local2.l2.x1, _local2.l2.y1, _local2.l2.x2, _local2.l2.y2, _local8))) { return(false); } _local3++; } return(true); } function isFreeWayFromBalls(ball, sX, sY, ball2, toX, toY) { var _local6 = toX - sX; var _local21 = toY - sY; var _local11 = Math.sqrt((_local6 * _local6) + (_local21 * _local21)); var _local22 = Math.atan2(_local21, _local6); var _local9 = Math.sin(_local22); var _local10 = Math.cos(_local22); var _local18 = ball_array.length; var _local4 = 0; var _local17 = Math.min(sX, toX); var _local13 = Math.max(sX, toX); var _local16 = Math.min(sY, toY); var _local12 = Math.max(sY, toY); var _local2; var _local8; var _local7; var _local5; var _local3; _local17 = _local17 - objBounds.ballTwoR; _local16 = _local16 - objBounds.ballTwoR; _local13 = _local13 + objBounds.ballTwoR; _local12 = _local12 + objBounds.ballTwoR; _local4 = 0; while (_local4 < _local18) { _local2 = ball_array[_local4]; if (((_local2 == ball) || (_local2 == ball2)) || (_local2.state == 2)) { } else if ((((_local2._x > _local17) && (_local2._x < _local13)) && (_local2._y > _local16)) && (_local2._y < _local12)) { _local8 = _local2._x - sX; _local7 = _local2._y - sY; _local5 = (_local8 * _local10) - (_local7 * (-_local9)); _local3 = (_local8 * (-_local9)) + (_local7 * _local10); if ((((_local5 >= 0) && (_local5 <= _local11)) && (_local3 >= ((-objBounds.ballTwoR) - 0.3))) && (_local3 <= (objBounds.ballTwoR + 0.3))) { return(false); } _local6 = _local5 - _local11; if (((_local6 * _local6) + (_local3 * _local3)) <= objBounds.ballTwoR2) { return(false); } } _local4++; } return(true); } function getCurBallType() { return((objBounds.thisCompKick ? (objBounds.compBallType) : (objBounds.playerBallType))); } }
Symbol 281 MovieClip [__Packages.CBounds] Frame 0
class CBounds { var bFrame90Count, v_k, ballMaxSpeed, ballAcc, ballStep, leftUp_x, leftUp_y, rightDown_x, rightDown_y, playerBallType, compBallType, type1BallCount, type2BallCount, thisCompKick, cue1_mc, cue21_mc, cue22_mc, cueBall_mc, cue_mc, cueWidth2, cueMaxDW, cueBackSpeed, cueStopFrames, objAdd, line_array, pocket_array, ball_array, goal_array, rules_array, intersec, mainBall, ballTwoR, soundBall, maxVol, ballTwoR2, firstKickBallType, firstKickOk, wrongBallFlag, ballIn, type1BallIn, type2BallIn, firstInBallType, ball8; function CBounds (mc_lu, mc_rd, cue1_mc, cue21_mc, cue22_mc, cueBall_mc, cue_mc) { bFrame90Count = 25; v_k = 0.4; ballMaxSpeed = 33 * v_k; ballAcc = (0.6 * v_k) * v_k; ballStep = 3; leftUp_x = mc_lu._x; leftUp_y = mc_lu._y; rightDown_x = mc_rd._x; rightDown_y = mc_rd._y; playerBallType = -1; compBallType = -1; type1BallCount = 7; type2BallCount = 7; thisCompKick = false; this.cue1_mc = cue1_mc; this.cue21_mc = cue21_mc; this.cue22_mc = cue22_mc; this.cueBall_mc = cueBall_mc; this.cue_mc = cue_mc; cueWidth2 = cue_mc._width / 2; cueMaxDW = 50; cueBackSpeed = 4; cueStopFrames = 3; } function setAddClass(objAdd) { this.objAdd = objAdd; line_array = objAdd.line_array; pocket_array = objAdd.pocket_array; ball_array = objAdd.ball_array; goal_array = objAdd.goal_array; rules_array = objAdd.rules_array; intersec = objAdd.intersec; intersec.ballStep = ballStep; intersec.ballMaxSpeed = ballMaxSpeed; } function clearRules() { while (rules_array.pop() != undefined) { } } function compRandomKick(ballType) { var _local6; var _local18 = ball_array.length; var _local2; var _local4; var _local3; var _local7; var _local9; var _local8; var _local5 = {backSpeed:0}; clearRules(); _local6 = 1; for ( ; _local6 < _local18 ; _local6++) { _local2 = ball_array[_local6]; if (_local2.state == 2) { } else { if (ballType == -1) { if ((_local2.myType != 1) && (_local2.myType != 2)) { continue; } } else if (_local2.myType != ballType) { } else { _local4 = _local2._x - mainBall._x; _local3 = _local2._y - mainBall._y; _local7 = Math.sqrt((_local4 * _local4) + (_local3 * _local3)); _local4 = _local4 / _local7; _local3 = _local3 / _local7; _local9 = _local2._x - (_local4 * ballTwoR); _local8 = _local2._y - (_local3 * ballTwoR); _local2.tmpVx = _local4; _local2.tmpVy = _local3; _local2.minStartSpeed = 0.1; if (canKickOnly(mainBall, _local2, _local9, _local8, _local5)) { objAdd.addRule({prior:0, maxBackSpeed:0, firstBallType:_local2.myType, vx:mainBall.tmpVx, vy:mainBall.tmpVy, startSpeed:mainBall.minStartSpeed, foulFlag:false}); } else { _local4 = 0; _local3 = 0; if (((canKickFromWall(mainBall, _local2, _local2._x, _local2._y, _local4, _local3, 0.1, line_array[1], line_array[4], -1, _local5) || (canKickFromWall(mainBall, _local2, _local2._x, _local2._y, _local4, _local3, 0.1, line_array[13], line_array[10], -1, _local5))) || (canKickFromWall(mainBall, _local2, _local2._x, _local2._y, _local4, _local3, 0.1, line_array[16], null, -1, _local5))) || (canKickFromWall(mainBall, _local2, _local2._x, _local2._y, _local4, _local3, 0.1, line_array[7], null, -1, _local5))) { objAdd.addRule({prior:2, maxBackSpeed:_local5.backSpeed, firstBallType:_local2.myType, vx:mainBall.tmpVx, vy:mainBall.tmpVy, startSpeed:mainBall.minStartSpeed, foulFlag:false}); } } } _local4 = _local2._x - mainBall._x; _local3 = _local2._y - mainBall._y; _local7 = Math.sqrt((_local4 * _local4) + (_local3 * _local3)); _local4 = _local4 / _local7; _local3 = _local3 / _local7; _local9 = _local2._x - (_local4 * ballTwoR); _local8 = _local2._y - (_local3 * ballTwoR); _local2.tmpVx = _local4; _local2.tmpVy = _local3; _local2.minStartSpeed = 0.1; if (canKickOnly(mainBall, _local2, _local9, _local8, _local5)) { objAdd.addRule({prior:0, maxBackSpeed:0, firstBallType:_local2.myType, vx:mainBall.tmpVx, vy:mainBall.tmpVy, startSpeed:mainBall.minStartSpeed, foulFlag:false}); } else { _local4 = 0; _local3 = 0; if (((canKickFromWall(mainBall, _local2, _local2._x, _local2._y, _local4, _local3, 0.1, line_array[1], line_array[4], -1, _local5) || (canKickFromWall(mainBall, _local2, _local2._x, _local2._y, _local4, _local3, 0.1, line_array[13], line_array[10], -1, _local5))) || (canKickFromWall(mainBall, _local2, _local2._x, _local2._y, _local4, _local3, 0.1, line_array[16], null, -1, _local5))) || (canKickFromWall(mainBall, _local2, _local2._x, _local2._y, _local4, _local3, 0.1, line_array[7], null, -1, _local5))) { objAdd.addRule({prior:2, maxBackSpeed:_local5.backSpeed, firstBallType:_local2.myType, vx:mainBall.tmpVx, vy:mainBall.tmpVy, startSpeed:mainBall.minStartSpeed, foulFlag:false}); } } } } } function moveBalls() { var _local20; stolSndFlag = false; ballSndFlag = false; pocketSndFlag = false; soundBall = null; maxVol = 0; var _local33 = objAdd.getMaxSpeed(); if (_local33 <= 0) { return(false); } var _local28 = 0; var _local30 = Math.ceil(_local33 / ballStep); objAdd.setBallSteps(_local33); var _local25 = true; var _local6; var _local5; var _local7; var _local16; var _local15; var _local9; var _local8; var _local26; var _local27; var _local12 = {x:0, y:0, nx:0, ny:0, R:0}; var _local14 = {x:0, y:0}; var _local19 = 0; var _local23; var _local21; var _local24; var _local22; var _local10; var _local18 = ball_array.length; var _local4; var _local29 = pocket_array.length; var _local2; var _local11; var _local3; var _local13; var _local17; var _local32; var _local31; _local14 = {x:0, y:0}; while (true) { _local28++; _local25 = true; _local10 = 0; for ( ; _local10 < _local18 ; _local10++) { _local2 = ball_array[_local10]; if ((_local2.state == 1) && (_local2.ostL > 0)) { _local25 = false; _local16 = _local2.sX; _local9 = _local16 + (_local2.vx * ((_local2.curL + _local2.curStep) + 1)); _local15 = _local2.sY; _local8 = _local15 + (_local2.vy * ((_local2.curL + _local2.curStep) + 1)); _local26 = _local2._x; if ((((((((_local26 < leftUp_x) || (_local9 < leftUp_x)) || (_local26 > rightDown_x)) || (_local9 > rightDown_x)) || ((_local27 = _local2._y) < leftUp_y)) || (_local8 < leftUp_y)) || (_local27 > rightDown_y)) || (_local8 > rightDown_y)) { _local23 = Math.min(_local16, _local9); _local21 = Math.max(_local16, _local9); _local24 = Math.min(_local15, _local8); _local22 = Math.max(_local15, _local8); _local4 = 0; while (_local4 < _local29) { _local3 = pocket_array[_local4]; _local6 = _local3.x - _local2._x; _local5 = _local3.y - _local2._y; _local7 = Math.sqrt((_local6 * _local6) + (_local5 * _local5)); _local6 = _local6 / _local7; _local5 = _local5 / _local7; if ((((_local6 * _local2.vx) + (_local5 * _local2.vy)) > 0) && ((((_local23 <= _local3.xMax) && (_local21 >= _local3.xMin)) && (_local24 <= _local3.yMax)) && (_local22 >= _local3.yMin))) { if (intersec.getCircleIntersection(_local16, _local15, _local9, _local8, _local3.x, _local3.y, _local3.R, _local3.R2, _local12)) { pocketSndFlag = true; if (_local2.myType != 0) { checkWrongBall(_local2.myType); } _local2.disable(); if ((_local2.myType == 1) || (_local2.myType == 2)) { objAdd.addBallToDepos(_local2); updatePanel(_local2.num); } _local2.myPocket = _local4; break; } } _local4++; } if (_local2.state != 1) { continue; } if (intersec.getFieldIntersection(line_array, _local16, _local15, _local9, _local8, _local12)) { _local14.x = _local2.vx; _local14.y = _local2.vy; _local19 = ((-_local14.x) * _local12.nx) - (_local14.y * _local12.ny); _local2.vx = ((2 * _local19) * _local12.nx) + _local14.x; _local2.vy = ((2 * _local19) * _local12.ny) + _local14.y; _local2._x = _local12.x; _local2._y = _local12.y; _local2.ostL = _local2.ostL - _local2.curStep; _local2.saveCoords(); stolSndFlag = true; } else { _local13 = null; _local17 = 500000 /* 0x07A120 */; _local32 = 0; _local31 = 0; _local4 = 0; while (_local4 < _local18) { if (_local10 != _local4) { _local11 = ball_array[_local4]; if (_local11.state != 2) { _local6 = _local11._x - _local9; _local5 = _local11._y - _local8; _local7 = (_local6 * _local6) + (_local5 * _local5); if (_local7 < ballTwoR2) { if (intersec.canBallsIntersection(_local2, _local11)) { if (_local7 < _local17) { _local17 = _local7; _local13 = _local11; } } } } } _local4++; } if (_local13 != null) { if (firstKickBallType == -1) { firstKickBallType = _local13.myType; if (thisCompKick) { if (compBallType == -1) { firstKickOk = (firstKickBallType == 1) || (firstKickBallType == 2); } else { firstKickOk = firstKickBallType == compBallType; } } else if (playerBallType == -1) { firstKickOk = (firstKickBallType == 1) || (firstKickBallType == 2); } else { firstKickOk = firstKickBallType == playerBallType; } } _local6 = _local13._x - _local9; _local5 = _local13._y - _local8; _local20 = intersec.twoBallsCollision(_local2, _local13, _local6, _local5, _local28, _local30); if (_local20 > maxVol) { maxVol = _local20; soundBall = _local2; } ballSndFlag = true; } else { _local2.doOneStep(); } } } else { _local13 = null; _local17 = 500000 /* 0x07A120 */; _local32 = 0; _local31 = 0; _local4 = 0; while (_local4 < _local18) { if (_local10 != _local4) { _local11 = ball_array[_local4]; if (_local11.state != 2) { _local6 = _local11._x - _local9; _local5 = _local11._y - _local8; _local7 = (_local6 * _local6) + (_local5 * _local5); if (_local7 < ballTwoR2) { if (intersec.canBallsIntersection(_local2, _local11)) { if (_local7 < _local17) { _local17 = _local7; _local13 = _local11; } } } } } _local4++; } if (_local13 != null) { if (firstKickBallType == -1) { firstKickBallType = _local13.myType; if (thisCompKick) { if (compBallType == -1) { firstKickOk = (firstKickBallType == 1) || (firstKickBallType == 2); } else { firstKickOk = firstKickBallType == compBallType; } } else if (playerBallType == -1) { firstKickOk = (firstKickBallType == 1) || (firstKickBallType == 2); } else { firstKickOk = firstKickBallType == playerBallType; } } _local6 = _local13._x - _local9; _local5 = _local13._y - _local8; _local20 = intersec.twoBallsCollision(_local2, _local13, _local6, _local5, _local28, _local30); if (_local20 > maxVol) { maxVol = _local20; soundBall = _local2; } ballSndFlag = true; } else { _local2.doOneStep(); } } } } if (_local25) { _local10 = 0; while (_local10 < _local18) { _local2 = ball_array[_local10]; if (_local2.state != 2) { _local2.slowDown(); _local2.updateRotate(); _local2.mc_shadow._x = _local2._x; _local2.mc_shadow._y = _local2._y; } _local10++; } return(true); } } } function updatePanel(num) { var _local3; var _local2; if ((type1BallCount + type2BallCount) == 13) { _local2 = 1; while (_local2 < 8) { cue_mc._parent["pb" + _local2]._visible = true; _local2++; } _local2 = 9; while (_local2 < 16) { cue_mc._parent["pb" + _local2]._visible = true; _local2++; } if (compBallType == 1) { _local2 = 1; while (_local2 < 8) { _local3 = cue_mc._parent["pb" + _local2]._x; cue_mc._parent["pb" + _local2]._x = cue_mc._parent["pb" + (_local2 + 8)]._x; cue_mc._parent["pb" + (_local2 + 8)]._x = _local3; _local2++; } } } cue_mc._parent["pb" + num]._visible = false; } function checkWrongBall(ballType) { if (!wrongBallFlag) { if (thisCompKick) { if (((compBallType != -1) && (compBallType != ballType)) || (((compBallType == -1) && (ballType != 1)) && (ballType != 2))) { wrongBallFlag = true; } else { ballIn++; } } else if (((playerBallType != -1) && (playerBallType != ballType)) || (((playerBallType == -1) && (ballType != 1)) && (ballType != 2))) { wrongBallFlag = true; } else { ballIn++; } } if ((ballType == 1) || (ballType == 2)) { if (ballType == 1) { type1BallIn++; type1BallCount--; if (type1BallCount < 0.1) { if (playerBallType == 1) { playerBallType = 3; } else { compBallType = 3; } } } else if (ballType == 2) { type2BallIn++; type2BallCount--; if (type2BallCount < 0.1) { if (playerBallType == 2) { playerBallType = 3; } else { compBallType = 3; } } } if (firstInBallType == -1) { firstInBallType = ballType; if (compBallType == -1) { if (thisCompKick) { compBallType = ballType; playerBallType = ((ballType == 1) ? 2 : 1); } else { playerBallType = ballType; compBallType = ((ballType == 1) ? 2 : 1); } } } } } function canBallToPocket(ball, pNum) { var _local3 = goal_array[pNum]; var _local5; var _local4; var _local6; var _local13; var _local12; var _local10; var _local9; var _local8; var _local14 = {prior:0, maxBackSpeed:0, firstBallType:-1, vx:0, vy:0, startSpeed:0, foulFlag:false}; if (objAdd.isFreeWayFromWalls(ball._x, ball._y, pNum) && (objAdd.isFreeWayFromBalls(ball, ball._x, ball._y, null, _local3.x, _local3.y))) { _local5 = _local3.x - ball._x; _local4 = _local3.y - ball._y; _local6 = Math.sqrt((_local5 * _local5) + (_local4 * _local4)); if ((pNum != 2) && (pNum != 5)) { ball.minStartSpeed = Math.sqrt((2 * ballAcc) * (_local6 + 10)); } else { ball.minStartSpeed = Math.sqrt((2 * ballAcc) * _local6); } _local5 = _local5 / _local6; (ball.tmpVx = _local5); _local4 = _local4 / _local6; (ball.tmpVy = _local4); _local13 = ball._x - (_local5 * ballTwoR); _local12 = ball._y - (_local4 * ballTwoR); _local10 = _local13 - mainBall._x; _local9 = _local12 - mainBall._y; _local6 = Math.sqrt((_local10 * _local10) + (_local9 * _local9)); mainBall.tmpVx = _local10 / _local6; mainBall.tmpVy = _local9 / _local6; mainBall.tmpDr = _local6; canKick(mainBall, ball, _local13, _local12, _local14); } _local5 = _local3.x - ball._x; _local4 = _local3.y - ball._y; _local6 = Math.sqrt((_local5 * _local5) + (_local4 * _local4)); _local5 = _local5 / _local6; _local4 = _local4 / _local6; if ((pNum != 2) && (pNum != 5)) { _local8 = Math.sqrt((2 * ballAcc) * 10); } else { _local8 = 0.1; } var _local11 = {backSpeed:0}; if (!(((((canKickFromWall(ball, null, _local3.x, _local3.y, _local5, _local4, _local8, line_array[1], line_array[4], pNum, _local11) || (canKickFromWall(ball, null, _local3.x, _local3.y, _local5, _local4, _local8, line_array[13], line_array[10], pNum, _local11))) || (canKickFromWall(ball, null, _local3.x, _local3.y, _local5, _local4, _local8, line_array[16], null, pNum, _local11))) || (canKickFromWall(ball, null, _local3.x, _local3.y, _local5, _local4, _local8, line_array[7], null, pNum, _local11))) || (canKickFromWall(ball, null, _local3.x, _local3.y, _local5, _local4, _local8, goal_array[pNum].l1, null, pNum, _local11))) || (canKickFromWall(ball, null, _local3.x, _local3.y, _local5, _local4, _local8, goal_array[pNum].l2, null, pNum, _local11)))) { return(undefined); } _local5 = ball.tmpVx; _local4 = ball.tmpVy; _local13 = ball._x - (_local5 * ballTwoR); _local12 = ball._y - (_local4 * ballTwoR); _local10 = _local13 - mainBall._x; _local9 = _local12 - mainBall._y; _local6 = Math.sqrt((_local10 * _local10) + (_local9 * _local9)); mainBall.tmpVx = _local10 / _local6; mainBall.tmpVy = _local9 / _local6; mainBall.tmpDr = _local6; _local14.prior = 2; canKick(mainBall, ball, _local13, _local12, _local14); } function canKick(sBall, eBall, toX, toY, startRule) { var _local26 = Math.atan2(sBall.tmpVy, sBall.tmpVx); var _local14 = Math.sin(_local26); var _local10 = Math.cos(_local26); var _local24 = ball_array.length; var _local7 = 0; var _local22 = Math.min(sBall._x, eBall._x); var _local20 = Math.max(sBall._x, eBall._x); var _local21 = Math.min(sBall._y, eBall._y); var _local19 = Math.max(sBall._y, eBall._y); var _local2; var _local12; var _local11; var _local8; var _local6; var _local9; _local22 = _local22 - ballTwoR; _local21 = _local21 - ballTwoR; _local20 = _local20 + ballTwoR; _local19 = _local19 + ballTwoR; var _local23 = false; var _local5 = {backSpeed:0}; var _local13; var _local15; _local7 = 0; while (_local7 < _local24) { _local2 = ball_array[_local7]; if (((_local2 == eBall) || (_local2 == sBall)) || (_local2.state == 2)) { } else if ((((_local2._x > _local22) && (_local2._x < _local20)) && (_local2._y > _local21)) && (_local2._y < _local19)) { _local12 = _local2._x - sBall._x; _local11 = _local2._y - sBall._y; _local8 = (_local12 * _local10) - (_local11 * (-_local14)); _local6 = (_local12 * (-_local14)) + (_local11 * _local10); _local9 = _local8 - sBall.tmpDr; if (((((_local8 >= 0) && (_local8 <= sBall.tmpDr)) && (_local6 >= ((-ballTwoR) - 0.3))) && (_local6 <= (ballTwoR + 0.3))) || (((_local9 * _local9) + (_local6 * _local6)) <= ballTwoR2)) { _local23 = true; if (eBall == ball8) { break; } if (!canKickOnly(_local2, eBall, toX, toY, _local5)) { } else { _local13 = _local5.backSpeed; if (!canKickOnly(sBall, _local2, _local2._x - (_local2.tmpVx * ballTwoR), _local2._y - (_local2.tmpVy * ballTwoR), _local5)) { } else { _local15 = _local5.backSpeed; if (intersec.getFieldIntersection2(line_array, sBall._x, sBall._y, _local2._x, _local2._y)) { } else { objAdd.addRule({prior:((startRule.prior == 2) ? 4 : 1), maxBackSpeed:Math.max(_local13, _local15), firstBallType:_local2.myType, vx:sBall.tmpVx, vy:sBall.tmpVy, startSpeed:sBall.minStartSpeed, foulFlag:false}); } } } } } _local7++; } if (!_local23) { _local10 = (sBall.tmpVx * eBall.tmpVx) + (sBall.tmpVy * eBall.tmpVy); if (Math.acos(_local10) <= 1.49599650170943) { var _local25 = eBall.minStartSpeed / _local10; _local13 = _local25 * Math.sqrt(1 - (_local10 * _local10)); var _local27; var _local28; _local9 = sBall._x - toX; _local27 = sBall._y - toY; _local28 = Math.sqrt((_local9 * _local9) + (_local27 * _local27)); sBall.minStartSpeed = Math.sqrt(((2 * ballAcc) * _local28) + (_local25 * _local25)); if ((sBall.minStartSpeed <= ballMaxSpeed) && (intersec.getFieldIntersection2(line_array, sBall._x, sBall._y, toX, toY) == false)) { objAdd.addRule({prior:((startRule.prior == 2) ? 2 : 0), maxBackSpeed:_local13, firstBallType:eBall.myType, vx:sBall.tmpVx, vy:sBall.tmpVy, startSpeed:sBall.minStartSpeed, foulFlag:false}); } } } if (canKickFromWall(sBall, eBall, toX, toY, eBall.tmpVx, eBall.tmpVy, eBall.minStartSpeed, line_array[1], line_array[4], -1, _local5)) { objAdd.addRule({prior:((startRule.prior == 2) ? 3 : 2), maxBackSpeed:_local5.BackSpeed, firstBallType:eBall.myType, vx:sBall.tmpVx, vy:sBall.tmpVy, startSpeed:sBall.minStartSpeed, foulFlag:false}); } if (canKickFromWall(sBall, eBall, toX, toY, eBall.tmpVx, eBall.tmpVy, eBall.minStartSpeed, line_array[13], line_array[10], -1, _local5)) { objAdd.addRule({prior:((startRule.prior == 2) ? 3 : 2), maxBackSpeed:_local5.BackSpeed, firstBallType:eBall.myType, vx:sBall.tmpVx, vy:sBall.tmpVy, startSpeed:sBall.minStartSpeed, foulFlag:false}); } if (canKickFromWall(sBall, eBall, toX, toY, eBall.tmpVx, eBall.tmpVy, eBall.minStartSpeed, line_array[16], null, -1, _local5)) { objAdd.addRule({prior:((startRule.prior == 2) ? 3 : 2), maxBackSpeed:_local5.BackSpeed, firstBallType:eBall.myType, vx:sBall.tmpVx, vy:sBall.tmpVy, startSpeed:sBall.minStartSpeed, foulFlag:false}); } if (canKickFromWall(sBall, eBall, toX, toY, eBall.tmpVx, eBall.tmpVy, eBall.minStartSpeed, line_array[7], null, -1, _local5)) { objAdd.addRule({prior:((startRule.prior == 2) ? 3 : 2), maxBackSpeed:_local5.BackSpeed, firstBallType:eBall.myType, vx:sBall.tmpVx, vy:sBall.tmpVy, startSpeed:sBall.minStartSpeed, foulFlag:false}); } } function canKickOnly(sBall, eBall, toX, toY, res) { var _local4; var _local3; var _local6; var _local5; var _local7; _local4 = toX - sBall._x; _local3 = toY - sBall._y; _local6 = Math.sqrt((_local4 * _local4) + (_local3 * _local3)); _local4 = _local4 / _local6; _local3 = _local3 / _local6; _local5 = (_local4 * eBall.tmpVx) + (_local3 * eBall.tmpVy); if (Math.acos(_local5) > 1.49599650170943) { return(false); } if (!objAdd.isFreeWayFromBalls(sBall, sBall._x, sBall._y, eBall, toX, toY)) { return(false); } _local7 = eBall.minStartSpeed / _local5; res.backSpeed = _local7 * Math.sqrt(1 - (_local5 * _local5)); sBall.minStartSpeed = Math.sqrt(((2 * ballAcc) * _local6) + (_local7 * _local7)); if (sBall.minStartSpeed > ballMaxSpeed) { return(false); } sBall.tmpVx = _local4; sBall.tmpVy = _local3; return(true); } function canKickFromWall(sBall, eBall, toX, toY, vx, vy, minSpeed, line, line2, pNum, res) { var _local3; var _local2; var _local16; _local3 = sBall._x - line.x1; _local2 = sBall._y - line.y1; _local16 = (_local3 * line.nx) + (_local2 * line.ny); if (_local16 <= 0) { return(false); } _local3 = toX - line.x1; _local2 = toY - line.y1; _local16 = (_local3 * line.nx) + (_local2 * line.ny); if (_local16 <= 0) { return(false); } var _local10 = {x:0, y:0}; var _local11 = {x:0, y:0}; if ((!intersec.getLineIntersection(line.x1, line.y1, line.x2, line.y2, sBall._x, sBall._y, sBall._x - (line.nx * 10), sBall._y - (line.ny * 10), _local10)) || (!intersec.getLineIntersection(line.x1, line.y1, line.x2, line.y2, toX, toY, toX - (line.nx * 10), toY - (line.ny * 10), _local11))) { return(false); } var _local6; var _local18; var _local19; _local3 = _local10.x - sBall._x; _local2 = _local10.y - sBall._y; _local18 = Math.sqrt((_local3 * _local3) + (_local2 * _local2)); _local3 = _local11.x - toX; _local2 = _local11.y - toY; _local19 = Math.sqrt((_local3 * _local3) + (_local2 * _local2)); _local3 = _local11.x - _local10.x; _local2 = _local11.y - _local10.y; _local6 = Math.sqrt((_local3 * _local3) + (_local2 * _local2)); _local3 = _local3 / _local6; _local2 = _local2 / _local6; _local6 = (_local18 * _local6) / (_local18 + _local19); var _local9 = _local10.x + (_local3 * _local6); var _local8 = _local10.y + (_local2 * _local6); var _local17; _local17 = intersec.pointOnLine(_local9, _local8, line.x1, line.y1, line.x2, line.y2); if ((!_local17) && (line2 != null)) { _local17 = intersec.pointOnLine(_local9, _local8, line2.x1, line2.y1, line2.x2, line2.y2); } if (_local17) { _local3 = toX - _local9; _local2 = toY - _local8; _local6 = Math.sqrt((_local3 * _local3) + (_local2 * _local2)); _local3 = _local3 / _local6; _local2 = _local2 / _local6; var _local14; var _local7; if ((vx == 0) && (vy == 0)) { _local14 = 1; } else { _local14 = (_local3 * vx) + (_local2 * vy); if (Math.acos(_local14) > 1.49599650170943) { return(false); } } if (!objAdd.isFreeWayFromBalls(sBall, _local9, _local8, eBall, toX, toY)) { return(false); } if ((pNum >= 0) && (!objAdd.isFreeWayFromWalls(_local9, _local8, pNum))) { return(false); } _local7 = minSpeed / _local14; res.backSpeed = _local7 * Math.sqrt(1 - (_local14 * _local14)); _local7 = Math.sqrt(((2 * ballAcc) * _local6) + (_local7 * _local7)); if (_local7 > ballMaxSpeed) { return(false); } if (!objAdd.isFreeWayFromBalls(sBall, sBall._x, sBall._y, null, _local9, _local8)) { return(false); } _local3 = _local9 - sBall._x; _local2 = _local8 - sBall._y; _local6 = Math.sqrt((_local3 * _local3) + (_local2 * _local2)); _local7 = Math.sqrt(((2 * ballAcc) * _local6) + (_local7 * _local7)); if (_local7 > ballMaxSpeed) { return(false); } sBall.tmpVx = _local3 / _local6; sBall.tmpVy = _local2 / _local6; sBall.minStartSpeed = _local7; return(true); } return(false); } function putBallRandom(pBall, leftX, rightX) { var _local16 = 217; var _local10 = 5; var _local13 = -1; var _local14 = 0; var _local4 = leftX; var _local9 = _local16; var _local7 = false; var _local3; var _local11 = ball_array.length; var _local2; var _local12 = ballTwoR2; var _local6; var _local5; var _local8; var _local19; if (leftX < 287.5) { _local8 = -1; _local19 = rightX; } else { _local8 = 1; _local19 = leftX; } _local4 = _local19; while (true) { do { _local7 = true; _local3 = 0; while (_local3 < _local11) { _local2 = ball_array[_local3]; if ((_local2.state == 2) || (_local2 == pBall)) { } else { _local6 = _local2._x - _local4; _local5 = _local2._y - _local9; if (((_local6 * _local6) + (_local5 * _local5)) < _local12) { _local7 = false; break; } } _local3++; } if (_local7) { break; } _local4 = _local4 + (_local10 * _local8); } while (((_local8 > 0) && (_local4 < rightX)) || ((_local8 < 0) && (_local4 > leftX))); if (_local7) { break; } _local4 = _local19; if (_local13 < 0) { _local14 = _local14 + 1; _local13 = 1; _local9 = _local16 + (_local14 * _local10); } else { _local13 = -1; _local9 = _local16 - (_local14 * _local10); } } pBall.putBallTo(_local4, _local9); } function isFoul() { if (ball8.state == 2) { return(7); } if (mainBall.state == 2) { return(4); } if (firstKickBallType == -1) { return(3); } if (wrongBallFlag) { return(6); } if (!firstKickOk) { if (firstKickBallType == 3) { return(5); } return(2); } return(0); } var stolSndFlag = false; var ballSndFlag = false; var pocketSndFlag = false; }
Symbol 282 MovieClip [__Packages.CIntersection] Frame 0
class CIntersection { var ballTwoR, ballTwoR2, ballMaxSpeed; function CIntersection () { } 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 getIntersection(x11, y11, x12, y12, x21, y21, x22, y22, iP) { var _local4; var _local9; var _local8; var _local7; var _local3; _local4 = ((y12 - y11) * (x21 - x22)) - ((y21 - y22) * (x12 - x11)); if (Math.abs(_local4) > 1E-5) { _local9 = ((y12 - y11) * (x21 - x11)) - ((y21 - y11) * (x12 - x11)); _local8 = ((y21 - y11) * (x21 - x22)) - ((y21 - y22) * (x21 - x11)); _local7 = _local9 / _local4; _local3 = _local8 / _local4; if ((((_local7 <= 1) && (_local7 >= 0)) && (_local3 >= 0)) && (_local3 <= 1)) { (iP.x = x11 + ((x12 - x11) * _local3)); (iP.y = y11 + ((y12 - y11) * _local3)); return(true); } } return(false); } function canBallsIntersection(ball, ball2) { var _local4; var _local3; if ((ball.state != 1) && (ball2.state != 1)) { return(false); } if ((ball.state == 1) && (ball2.state == 1)) { _local4 = ball2._x - ball._x; _local3 = ball2._y - ball._y; return((((ball.vx * _local4) + (ball.vy * _local3)) > 0) || ((((-ball2.vx) * _local4) - (ball2.vy * _local3)) > 0)); } if (ball.state == 1) { _local4 = ball2._x - ball._x; _local3 = ball2._y - ball._y; return(((ball.vx * _local4) + (ball.vy * _local3)) > 0); } _local4 = ball._x - ball2._x; _local3 = ball._y - ball2._y; return(((ball2.vx * _local4) + (ball2.vy * _local3)) > 0); } function twoBallsCollision(ball, ball2, nx, ny, curStep, SCount) { var _local19; if (ball2.state != 1) { var _local10 = {x:0, y:0, R:0}; getCircleIntersection(ball.sX, ball.sY, ball.sX + (ball.vx * 500), ball.sY + (ball.vy * 500), ball2._x, ball2._y, ballTwoR, ballTwoR2, _local10); ball._x = _local10.x; ball._y = _local10.y; nx = ball2._x - _local10.x; ny = ball2._y - _local10.y; var _local18 = Math.sqrt((nx * nx) + (ny * ny)); nx = nx / _local18; ny = ny / _local18; } var _local9 = ball.vx * ball.speed; var _local8 = ball.vy * ball.speed; var _local7 = 0; var _local6 = 0; var _local11; var _local16; var _local12; var _local17; var _local15 = Math.atan2(ny, nx); var _local5 = Math.cos(_local15); var _local4 = Math.sin(_local15); var _local20; if (ball2.state == 1) { _local7 = ball2.vx * ball2.speed; _local6 = ball2.vy * ball2.speed; } _local11 = (_local9 * _local5) - (_local8 * (-_local4)); _local16 = (_local9 * (-_local4)) + (_local8 * _local5); _local12 = (_local7 * _local5) - (_local6 * (-_local4)); _local17 = (_local7 * (-_local4)) + (_local6 * _local5); _local19 = (Math.abs(_local11 + _local12) / 2) / ballMaxSpeed; _local20 = _local11; _local11 = _local12; _local12 = _local20; _local9 = (_local11 * _local5) - (_local16 * _local4); _local8 = (_local11 * _local4) + (_local16 * _local5); _local7 = (_local12 * _local5) - (_local17 * _local4); _local6 = (_local12 * _local4) + (_local17 * _local5); ball.speed = Math.sqrt((_local9 * _local9) + (_local8 * _local8)); if (ball.speed < 0.001) { ball.vx = 0; ball.vy = 0; ball.ostL = 0; ball.state = 0; } else { ball.vx = _local9 / ball.speed; ball.vy = _local8 / ball.speed; } ball2.speed = Math.sqrt((_local7 * _local7) + (_local6 * _local6)); if (ball2.speed < 0.001) { ball2.vx = 0; ball2.vy = 0; ball2.ostL = 0; ball.state = 0; } else { ball2.vx = _local7 / ball2.speed; ball2.vy = _local6 / ball2.speed; } ball.curStep = ball.speed / SCount; ball.ostL = ball.speed - (ball.curStep * curStep); ball2.curStep = ball2.speed / SCount; ball2.ostL = ball2.speed - (ball2.curStep * curStep); if ((ball.ostL <= 0) || (ball2.ostL <= 0)) { ball.ostL = (ball2.ostL = 0); } ball.saveCoords(); ball2.saveCoords(); ball2.state = 1; return(_local19); } function getFieldIntersection(line_array, x11, y11, x12, y12, iP) { var _local9 = 500000 /* 0x07A120 */; var _local7; var _local6; var _local8; var _local5; var _local2; var _local12; var _local3 = {x:0, y:0}; var _local21 = x12 - x11; var _local20 = y12 - y11; var _local18 = Math.min(x11, x12); var _local15 = Math.max(x11, x12); var _local19 = Math.min(y11, y12); var _local17 = Math.max(y11, y12); var _local16 = line_array.length; _local5 = 0; while (_local5 < _local16) { _local2 = line_array[_local5]; if ((((_local18 <= _local2.xMax) && (_local15 >= _local2.xMin)) && (_local19 <= _local2.yMax)) && (_local17 >= _local2.yMin)) { _local12 = (_local2.nx * _local21) + (_local2.ny * _local20); if ((_local12 < 0) && (getIntersection(x11, y11, x12, y12, _local2.x1, _local2.y1, _local2.x2, _local2.y2, _local3))) { _local7 = _local3.x - x11; _local6 = _local3.y - y11; _local8 = (_local7 * _local7) + (_local6 * _local6); if (_local8 < _local9) { _local9 = _local8; iP.x = _local3.x; iP.y = _local3.y; iP.nx = _local2.nx; iP.ny = _local2.ny; } } } _local5++; } iP.R = Math.sqrt(_local9); return(_local9 < 500000); } function getFieldIntersection2(line_array, x11, y11, x12, y12) { var _local3; var _local2; var _local4; var _local9 = {x:0, y:0}; var _local16 = x12 - x11; var _local15 = y12 - y11; var _local13 = Math.min(x11, x12); var _local10 = Math.max(x11, x12); var _local14 = Math.min(y11, y12); var _local12 = Math.max(y11, y12); var _local11 = line_array.length; _local3 = 0; while (_local3 < _local11) { _local2 = line_array[_local3]; if ((((_local13 <= _local2.xMax) && (_local10 >= _local2.xMin)) && (_local14 <= _local2.yMax)) && (_local12 >= _local2.yMin)) { _local4 = (_local2.nx * _local16) + (_local2.ny * _local15); if ((_local4 < 0) && (getIntersection(x11, y11, x12, y12, _local2.x1, _local2.y1, _local2.x2, _local2.y2, _local9))) { return(true); } } _local3++; } return(false); } function calcNormal(line) { var _local2; var _local3; line.nx = line.x2 - line.x1; line.ny = line.y2 - line.y1; _local2 = Math.sqrt((line.nx * line.nx) + (line.ny * line.ny)); line.nx = line.nx / _local2; line.ny = line.ny / _local2; _local3 = line.nx; line.nx = -line.ny; line.ny = _local3; } function getLineIntersection(x11, y11, x12, y12, x21, y21, x22, y22, res) { var _local1; var _local7; var _local2; var _local6; if ((Math.abs(x11 - x12) < 0.0001) && (Math.abs(x21 - x22) < 0.0001)) { return(false); } if (Math.abs(x11 - x12) < 0.0001) { _local2 = (y21 - y22) / (x21 - x22); _local6 = y21 - (x21 * _local2); res.x = x11; res.y = (_local2 * x11) + _local6; return(true); } if (Math.abs(x21 - x22) < 0.0001) { _local1 = (y11 - y12) / (x11 - x12); _local7 = y11 - (x11 * _local1); (res.x = x21); res.y = (_local1 * x21) + _local7; return(true); } _local1 = (y11 - y12) / (x11 - x12); _local7 = y11 - (x11 * _local1); _local2 = (y21 - y22) / (x21 - x22); _local6 = y21 - (x21 * _local2); if (Math.abs(_local2 - _local1) < 0.0001) { return(false); } res.x = (_local7 - _local6) / (_local2 - _local1); res.y = ((_local2 * _local7) - (_local1 * _local6)) / (_local2 - _local1); return(true); } function pointOnLine(x, y, x1, y1, x2, y2) { if (Math.abs(x1 - x2) < 2) { return(((y1 - y) * (y - y2)) > 0); } return(((x1 - x) * (x - x2)) > 0); } }
Symbol 283 MovieClip [__Packages.CBall_1] Frame 0
class CBall_1 extends CBall { var myV, myType, rK, frame90Count, gotoAndStop, _rotation; function CBall_1 () { super(); myV = new CVector3D(0, 0, 1); myType = 1; } function setRandomRotate() { myV.rotateX((Math.PI * Math.random()) / 2); myV.rotateY((Math.PI * Math.random()) / 2); myV.rotateZ((Math.PI * Math.random()) / 2); updateRotate(); } function doStep(dx, dy, dr) { if ((Math.abs(dx) < 0.01) && (Math.abs(dy) < 0.01)) { return(undefined); } var _local2 = Math.atan2(dy, dx); var _local3 = ((dr * rK) / 180) * Math.PI; myV.rotateZ(-_local2); myV.rotateY(_local3); myV.rotateZ(_local2); } function updateRotate() { var _local4; var _local3; var _local2; if (myV.z > 0) { _local2 = (Math.acos(myV.z) * 180) / Math.PI; _local4 = 1 + Math.round((_local2 / 90) * (frame90Count - 1)); _local3 = (Math.atan2(myV.y, myV.x) * 180) / Math.PI; } else { _local2 = (Math.acos(-myV.z) * 180) / Math.PI; _local4 = 1 + Math.round((_local2 / 90) * (frame90Count - 1)); _local3 = ((Math.atan2(myV.y, myV.x) * 180) / Math.PI) + 180; } gotoAndStop(_local4); _rotation = _local3; } }
Symbol 284 MovieClip [__Packages.CVector3D] Frame 0
class CVector3D { var x, y, z; function CVector3D (x, y, z) { this.x = x; this.y = y; this.z = z; } function rotateX(ugol) { var _local4; var _local3; _local4 = (y * Math.cos(ugol)) - (z * Math.sin(ugol)); _local3 = (y * Math.sin(ugol)) + (z * Math.cos(ugol)); y = _local4; z = _local3; } function rotateY(ugol) { var _local4; var _local3; _local4 = (x * Math.cos(ugol)) + (z * Math.sin(ugol)); _local3 = ((-x) * Math.sin(ugol)) + (z * Math.cos(ugol)); x = _local4; z = _local3; } function rotateZ(ugol) { var _local4; var _local3; _local4 = (x * Math.cos(ugol)) - (y * Math.sin(ugol)); _local3 = (x * Math.sin(ugol)) + (y * Math.cos(ugol)); x = _local4; y = _local3; } function multVector(vec) { var _local2 = {x:0, y:0, z:0}; _local2.x = (y * vec.z) - (z * vec.y); _local2.y = (x * vec.z) - (z * vec.x); _local2.z = (x * vec.y) - (y * vec.x); return(_local2); } }
Symbol 285 MovieClip [__Packages.CBall_2] Frame 0
class CBall_2 extends CBall { var nP, myType, rK, frame90Count, gotoAndStop, _rotation; function CBall_2 () { super(); nP = new CVector3D(1, 0, 0); myType = 2; } function setRandomRotate() { nP.rotateX((Math.PI * Math.random()) / 2); nP.rotateY((Math.PI * Math.random()) / 2); nP.rotateZ((Math.PI * Math.random()) / 2); updateRotate(); } function doStep(dx, dy, dr) { if ((Math.abs(dx) < 0.01) && (Math.abs(dy) < 0.01)) { return(undefined); } var _local2 = Math.atan2(dy, dx); var _local3 = ((dr * rK) / 180) * Math.PI; nP.rotateZ(-_local2); nP.rotateY(_local3); nP.rotateZ(_local2); } function updateRotate() { var _local2; var _local4; var _local3; if (nP.z < 0) { _local2 = 90 - ((Math.acos(-nP.z) * 180) / Math.PI); _local4 = 1 + Math.round((_local2 / 90) * (frame90Count - 1)); _local3 = (Math.atan2(nP.y, nP.x) * 180) / Math.PI; } else { _local2 = 90 - ((Math.acos(nP.z) * 180) / Math.PI); _local4 = 1 + Math.round((_local2 / 90) * (frame90Count - 1)); _local3 = ((Math.atan2(nP.y, nP.x) * 180) / Math.PI) + 180; } gotoAndStop(_local4); _rotation = _local3; } }
Symbol 286 MovieClip [__Packages.CIndicator] Frame 0
class CIndicator extends MovieClip { var mc, mc_limit, mc_mask; function CIndicator () { super(); setValue(0.9); mc.onPress = function () { this.startDrag(false, this._parent.mc_limit._x, 0, this._parent.mc_limit._width, 0); this.onEnterFrame = function () { this._parent.updateMask(); }; this._parent.updateMask(); }; mc.onRelease = (mc.onReleaseOutside = function () { this._parent.dragFlag = false; this.stopDrag(); this._parent.updateMask(); this.onEnterFrame = undefined; }); } function setValue(val) { mc._x = mc_limit._x + (val * mc_limit._width); updateMask(); } function getValue() { return((((1.2 * (mc._x - mc_limit._x)) / mc_limit._width) * (1 - minVal)) + minVal); } function updateMask() { mc_mask._width = mc._x; } function disable() { mc.enabled = false; } function enable() { mc.enabled = true; } var minVal = 0.1; }
Symbol 7 MovieClip Frame 40
gotoAndPlay (1);
Symbol 11 Button
on (press) { openSite(); }
Symbol 33 Button
on (press) { new_game_pressed(); }
Symbol 38 Button
on (press) { openSite(); }
Symbol 43 Button
on (press) { how_to_play_pressed(); }
Symbol 46 Button
on (press) { this._parent.soundOff(zastFlag); this.gotoAndStop(2); }
Symbol 48 Button
on (press) { this._parent.soundOn(zastFlag); this.gotoAndStop(1); }
Symbol 49 MovieClip Frame 1
this.stop();
Symbol 51 MovieClip Frame 1
stop();
Symbol 61 MovieClip Frame 1
this.stop();
Symbol 66 Button
on (press) { right_pressed(); }
Symbol 71 Button
on (press) { left_pressed(); }
Symbol 76 Button
on (press) { back_pressed(); }
Symbol 133 MovieClip [lib_ballMain] Frame 1
#initclip 25 Object.registerClass("lib_ballMain", CBall); #endinitclip
Symbol 142 MovieClip [lib_ball2_5] Frame 1
#initclip 9 Object.registerClass("lib_ball2_5", CBall_1); #endinitclip
Symbol 149 MovieClip [lib_ball2_3] Frame 1
#initclip 10 Object.registerClass("lib_ball2_3", CBall_1); #endinitclip
Symbol 156 MovieClip [lib_ball2_8] Frame 1
#initclip 11 Object.registerClass("lib_ball2_8", CBall_1); #endinitclip
Symbol 163 MovieClip [lib_ball2_4] Frame 1
#initclip 12 Object.registerClass("lib_ball2_4", CBall_1); #endinitclip
Symbol 170 MovieClip [lib_ball2_6] Frame 1
#initclip 13 Object.registerClass("lib_ball2_6", CBall_1); #endinitclip
Symbol 175 MovieClip [lib_ball1_3] Frame 1
#initclip 14 Object.registerClass("lib_ball1_3", CBall_2); #endinitclip
Symbol 179 MovieClip [lib_ball1_7] Frame 1
#initclip 15 Object.registerClass("lib_ball1_7", CBall_2); #endinitclip
Symbol 182 MovieClip [lib_ball1_6] Frame 1
#initclip 16 Object.registerClass("lib_ball1_6", CBall_2); #endinitclip
Symbol 189 MovieClip [lib_ball2_7] Frame 1
#initclip 17 Object.registerClass("lib_ball2_7", CBall_1); #endinitclip
Symbol 193 MovieClip [lib_ball1_4] Frame 1
#initclip 18 Object.registerClass("lib_ball1_4", CBall_2); #endinitclip
Symbol 197 MovieClip [lib_ball1_2] Frame 1
#initclip 19 Object.registerClass("lib_ball1_2", CBall_2); #endinitclip
Symbol 201 MovieClip [lib_ball2_2] Frame 1
#initclip 20 Object.registerClass("lib_ball2_2", CBall_1); #endinitclip
Symbol 204 MovieClip [lib_ball1_5] Frame 1
#initclip 21 Object.registerClass("lib_ball1_5", CBall_2); #endinitclip
Symbol 210 MovieClip [lib_ball2] Frame 1
#initclip 22 Object.registerClass("lib_ball2", CBall_1); #endinitclip
Symbol 213 MovieClip [lib_ball1_1] Frame 1
#initclip 23 Object.registerClass("lib_ball1_1", CBall_2); #endinitclip
Symbol 219 Button
on (press) { buttonPressed(); }
Symbol 229 MovieClip [lib_indicator] Frame 1
#initclip 24 Object.registerClass("lib_indicator", CIndicator); #endinitclip
Symbol 276 MovieClip Frame 1
this.stop();

Library Items

Symbol 1 GraphicUsed by:2 92 95 98 101 104 107 110 113 116 119 122 125 128 131
Symbol 2 MovieClip [lib_shadow]Uses:1
Symbol 3 GraphicUsed by:Timeline
Symbol 279 MovieClip [__Packages.CBall]
Symbol 280 MovieClip [__Packages.CBounds2]
Symbol 281 MovieClip [__Packages.CBounds]
Symbol 282 MovieClip [__Packages.CIntersection]
Symbol 283 MovieClip [__Packages.CBall_1]
Symbol 284 MovieClip [__Packages.CVector3D]
Symbol 285 MovieClip [__Packages.CBall_2]
Symbol 286 MovieClip [__Packages.CIndicator]
Symbol 4 GraphicUsed by:9 11
Symbol 5 GraphicUsed by:9
Symbol 6 GraphicUsed by:7
Symbol 7 MovieClipUses:6Used by:9
Symbol 8 GraphicUsed by:9
Symbol 9 MovieClipUses:4 5 7 8Used by:Timeline
Symbol 10 GraphicUsed by:11
Symbol 11 ButtonUses:10 4Used by:Timeline
Symbol 12 FontUsed by:13
Symbol 13 EditableTextUses:12Used by:17
Symbol 14 GraphicUsed by:17
Symbol 15 GraphicUsed by:16
Symbol 16 MovieClipUses:15Used by:17
Symbol 17 MovieClipUses:13 14 16Used by:Timeline
Symbol 18 BitmapUsed by:19
Symbol 19 GraphicUses:18Used by:20
Symbol 20 MovieClipUses:19Used by:Timeline
Symbol 21 Sound [lib_snd_menu]Used by:25 33 38 43 46 48 66 71 76 219
Symbol 22 Sound [lib_snd_cue]Used by:25
Symbol 23 Sound [lib_snd_lusa]Used by:25
Symbol 24 Sound [lib_snd_ball]Used by:25
Symbol 25 MovieClipUses:21 22 23 24Used by:Timeline
Symbol 26 BitmapUsed by:27 53
Symbol 27 GraphicUses:26Used by:28
Symbol 28 MovieClipUses:27Used by:Timeline
Symbol 29 BitmapUsed by:30
Symbol 30 GraphicUses:29Used by:33
Symbol 31 BitmapUsed by:32
Symbol 32 GraphicUses:31Used by:33
Symbol 33 ButtonUses:30 32 21Used by:Timeline
Symbol 34 BitmapUsed by:35
Symbol 35 GraphicUses:34Used by:38
Symbol 36 BitmapUsed by:37
Symbol 37 GraphicUses:36Used by:38
Symbol 38 ButtonUses:35 37 21Used by:Timeline
Symbol 39 BitmapUsed by:40
Symbol 40 GraphicUses:39Used by:43
Symbol 41 BitmapUsed by:42
Symbol 42 GraphicUses:41Used by:43
Symbol 43 ButtonUses:40 42 21Used by:Timeline
Symbol 44 GraphicUsed by:46
Symbol 45 GraphicUsed by:46 48
Symbol 46 ButtonUses:44 45 21Used by:49
Symbol 47 GraphicUsed by:48
Symbol 48 ButtonUses:47 45 21Used by:49
Symbol 49 MovieClipUses:46 48Used by:Timeline
Symbol 50 SoundUsed by:51
Symbol 51 MovieClipUses:50Used by:Timeline
Symbol 52 BitmapUsed by:53
Symbol 53 GraphicUses:52 26Used by:54
Symbol 54 MovieClipUses:53Used by:Timeline
Symbol 55 FontUsed by:56 57 58 59 60 230 243 248 251 254 258 261 264 267 270 273
Symbol 56 TextUses:55Used by:61
Symbol 57 TextUses:55Used by:61
Symbol 58 TextUses:55Used by:61
Symbol 59 TextUses:55Used by:61
Symbol 60 TextUses:55Used by:61
Symbol 61 MovieClipUses:56 57 58 59 60Used by:Timeline
Symbol 62 BitmapUsed by:63
Symbol 63 GraphicUses:62Used by:66
Symbol 64 BitmapUsed by:65
Symbol 65 GraphicUses:64Used by:66
Symbol 66 ButtonUses:63 65 21Used by:Timeline
Symbol 67 BitmapUsed by:68
Symbol 68 GraphicUses:67Used by:71
Symbol 69 BitmapUsed by:70
Symbol 70 GraphicUses:69Used by:71
Symbol 71 ButtonUses:68 70 21Used by:Timeline
Symbol 72 BitmapUsed by:73
Symbol 73 GraphicUses:72Used by:76
Symbol 74 BitmapUsed by:75
Symbol 75 GraphicUses:74Used by:76
Symbol 76 ButtonUses:73 75 21Used by:Timeline
Symbol 77 BitmapUsed by:78
Symbol 78 GraphicUses:77Used by:Timeline
Symbol 79 MovieClipUsed by:Timeline
Symbol 80 GraphicUsed by:81 82
Symbol 81 MovieClipUses:80Used by:Timeline
Symbol 82 MovieClipUses:80Used by:Timeline
Symbol 83 GraphicUsed by:Timeline
Symbol 84 BitmapUsed by:85
Symbol 85 GraphicUses:84Used by:86
Symbol 86 MovieClipUses:85Used by:Timeline
Symbol 87 BitmapUsed by:88
Symbol 88 GraphicUses:87Used by:89
Symbol 89 MovieClipUses:88Used by:Timeline
Symbol 90 BitmapUsed by:91
Symbol 91 GraphicUses:90Used by:92
Symbol 92 MovieClipUses:1 91Used by:Timeline
Symbol 93 BitmapUsed by:94
Symbol 94 GraphicUses:93Used by:95
Symbol 95 MovieClipUses:1 94Used by:Timeline
Symbol 96 BitmapUsed by:97
Symbol 97 GraphicUses:96Used by:98
Symbol 98 MovieClipUses:1 97Used by:Timeline
Symbol 99 BitmapUsed by:100
Symbol 100 GraphicUses:99Used by:101
Symbol 101 MovieClipUses:1 100Used by:Timeline
Symbol 102 BitmapUsed by:103
Symbol 103 GraphicUses:102Used by:104
Symbol 104 MovieClipUses:1 103Used by:Timeline
Symbol 105 BitmapUsed by:106
Symbol 106 GraphicUses:105Used by:107
Symbol 107 MovieClipUses:1 106Used by:Timeline
Symbol 108 BitmapUsed by:109
Symbol 109 GraphicUses:108Used by:110
Symbol 110 MovieClipUses:1 109Used by:Timeline
Symbol 111 BitmapUsed by:112
Symbol 112 GraphicUses:111Used by:113
Symbol 113 MovieClipUses:1 112Used by:Timeline
Symbol 114 BitmapUsed by:115
Symbol 115 GraphicUses:114Used by:116
Symbol 116 MovieClipUses:1 115Used by:Timeline
Symbol 117 BitmapUsed by:118
Symbol 118 GraphicUses:117Used by:119
Symbol 119 MovieClipUses:1 118Used by:Timeline
Symbol 120 BitmapUsed by:121
Symbol 121 GraphicUses:120Used by:122
Symbol 122 MovieClipUses:1 121Used by:Timeline
Symbol 123 BitmapUsed by:124
Symbol 124 GraphicUses:123Used by:125
Symbol 125 MovieClipUses:1 124Used by:Timeline
Symbol 126 BitmapUsed by:127
Symbol 127 GraphicUses:126Used by:128
Symbol 128 MovieClipUses:1 127Used by:Timeline
Symbol 129 BitmapUsed by:130
Symbol 130 GraphicUses:129Used by:131
Symbol 131 MovieClipUses:1 130Used by:Timeline
Symbol 132 GraphicUsed by:133
Symbol 133 MovieClip [lib_ballMain]Uses:132Used by:Timeline
Symbol 134 GraphicUsed by:142 149 156 163 170 175 179 182 189 193 197 201 204 210 213
Symbol 135 GraphicUsed by:142 204
Symbol 136 GraphicUsed by:142
Symbol 137 GraphicUsed by:142
Symbol 138 GraphicUsed by:142 149 156 163 170 175 179 182 189 193 197 201 204 210 213
Symbol 139 GraphicUsed by:142
Symbol 140 GraphicUsed by:142
Symbol 141 GraphicUsed by:142
Symbol 142 MovieClip [lib_ball2_5]Uses:134 135 136 137 138 139 140 141Used by:Timeline
Symbol 143 GraphicUsed by:149
Symbol 144 GraphicUsed by:149
Symbol 145 GraphicUsed by:149
Symbol 146 GraphicUsed by:149
Symbol 147 GraphicUsed by:149
Symbol 148 GraphicUsed by:149
Symbol 149 MovieClip [lib_ball2_3]Uses:134 143 144 145 138 146 147 148Used by:Timeline
Symbol 150 GraphicUsed by:156
Symbol 151 GraphicUsed by:156
Symbol 152 GraphicUsed by:156
Symbol 153 GraphicUsed by:156
Symbol 154 GraphicUsed by:156
Symbol 155 GraphicUsed by:156
Symbol 156 MovieClip [lib_ball2_8]Uses:134 150 151 152 138 153 154 155Used by:Timeline
Symbol 157 GraphicUsed by:163
Symbol 158 GraphicUsed by:163
Symbol 159 GraphicUsed by:163
Symbol 160 GraphicUsed by:163
Symbol 161 GraphicUsed by:163
Symbol 162 GraphicUsed by:163
Symbol 163 MovieClip [lib_ball2_4]Uses:134 157 158 159 138 160 161 162Used by:Timeline
Symbol 164 GraphicUsed by:170 182
Symbol 165 GraphicUsed by:170
Symbol 166 GraphicUsed by:170
Symbol 167 GraphicUsed by:170
Symbol 168 GraphicUsed by:170
Symbol 169 GraphicUsed by:170
Symbol 170 MovieClip [lib_ball2_6]Uses:134 164 165 166 138 167 168 169Used by:Timeline
Symbol 171 GraphicUsed by:175
Symbol 172 GraphicUsed by:175 179 182 193 197 204 213
Symbol 173 GraphicUsed by:175
Symbol 174 GraphicUsed by:175
Symbol 175 MovieClip [lib_ball1_3]Uses:134 171 172 173 138 174Used by:Timeline
Symbol 176 GraphicUsed by:179
Symbol 177 GraphicUsed by:179
Symbol 178 GraphicUsed by:179
Symbol 179 MovieClip [lib_ball1_7]Uses:134 176 172 177 138 178Used by:Timeline
Symbol 180 GraphicUsed by:182
Symbol 181 GraphicUsed by:182
Symbol 182 MovieClip [lib_ball1_6]Uses:134 164 172 180 138 181Used by:Timeline
Symbol 183 GraphicUsed by:189
Symbol 184 GraphicUsed by:189
Symbol 185 GraphicUsed by:189
Symbol 186 GraphicUsed by:189
Symbol 187 GraphicUsed by:189
Symbol 188 GraphicUsed by:189
Symbol 189 MovieClip [lib_ball2_7]Uses:134 183 184 185 138 186 187 188Used by:Timeline
Symbol 190 GraphicUsed by:193
Symbol 191 GraphicUsed by:193
Symbol 192 GraphicUsed by:193
Symbol 193 MovieClip [lib_ball1_4]Uses:134 190 172 191 138 192Used by:Timeline
Symbol 194 GraphicUsed by:197 201
Symbol 195 GraphicUsed by:197
Symbol 196 GraphicUsed by:197
Symbol 197 MovieClip [lib_ball1_2]Uses:134 194 172 195 138 196Used by:Timeline
Symbol 198 GraphicUsed by:201
Symbol 199 GraphicUsed by:201
Symbol 200 GraphicUsed by:201
Symbol 201 MovieClip [lib_ball2_2]Uses:134 194 198 138 199 200Used by:Timeline
Symbol 202 GraphicUsed by:204
Symbol 203 GraphicUsed by:204
Symbol 204 MovieClip [lib_ball1_5]Uses:134 135 172 202 138 203Used by:Timeline
Symbol 205 GraphicUsed by:210
Symbol 206 GraphicUsed by:210
Symbol 207 GraphicUsed by:210
Symbol 208 GraphicUsed by:210
Symbol 209 GraphicUsed by:210
Symbol 210 MovieClip [lib_ball2]Uses:134 205 206 138 207 208 209Used by:Timeline
Symbol 211 GraphicUsed by:213
Symbol 212 GraphicUsed by:213
Symbol 213 MovieClip [lib_ball1_1]Uses:134 172 211 138 212Used by:Timeline
Symbol 214 GraphicUsed by:Timeline
Symbol 215 BitmapUsed by:216
Symbol 216 GraphicUses:215Used by:219
Symbol 217 BitmapUsed by:218
Symbol 218 GraphicUses:217Used by:219
Symbol 219 ButtonUses:216 218 21Used by:Timeline
Symbol 220 GraphicUsed by:221
Symbol 221 MovieClipUses:220Used by:229
Symbol 222 GraphicUsed by:223
Symbol 223 MovieClipUses:222Used by:229
Symbol 224 BitmapUsed by:225
Symbol 225 GraphicUses:224Used by:229
Symbol 226 BitmapUsed by:227
Symbol 227 GraphicUses:226Used by:228
Symbol 228 MovieClipUses:227Used by:229
Symbol 229 MovieClip [lib_indicator]Uses:221 223 225 228Used by:Timeline
Symbol 230 TextUses:55Used by:231
Symbol 231 MovieClipUses:230Used by:232
Symbol 232 MovieClipUses:231Used by:Timeline
Symbol 233 GraphicUsed by:234
Symbol 234 MovieClipUses:233Used by:Timeline
Symbol 235 GraphicUsed by:236
Symbol 236 MovieClipUses:235Used by:Timeline
Symbol 237 GraphicUsed by:238
Symbol 238 MovieClipUses:237Used by:Timeline
Symbol 239 BitmapUsed by:240
Symbol 240 GraphicUses:239Used by:241
Symbol 241 MovieClipUses:240Used by:242
Symbol 242 MovieClipUses:241Used by:Timeline
Symbol 243 TextUses:55Used by:244
Symbol 244 MovieClipUses:243Used by:245
Symbol 245 MovieClipUses:244Used by:276
Symbol 246 GraphicUsed by:247
Symbol 247 MovieClipUses:246Used by:276
Symbol 248 TextUses:55Used by:249
Symbol 249 MovieClipUses:248Used by:250
Symbol 250 MovieClipUses:249Used by:276
Symbol 251 TextUses:55Used by:252
Symbol 252 MovieClipUses:251Used by:253
Symbol 253 MovieClipUses:252Used by:257
Symbol 254 TextUses:55Used by:255
Symbol 255 MovieClipUses:254Used by:256
Symbol 256 MovieClipUses:255Used by:257
Symbol 257 MovieClipUses:253 256Used by:276
Symbol 258 TextUses:55Used by:259
Symbol 259 MovieClipUses:258Used by:260
Symbol 260 MovieClipUses:259Used by:276
Symbol 261 TextUses:55Used by:262
Symbol 262 MovieClipUses:261Used by:263
Symbol 263 MovieClipUses:262Used by:276
Symbol 264 TextUses:55Used by:265
Symbol 265 MovieClipUses:264Used by:266
Symbol 266 MovieClipUses:265Used by:276
Symbol 267 TextUses:55Used by:268
Symbol 268 MovieClipUses:267Used by:269
Symbol 269 MovieClipUses:268Used by:276
Symbol 270 TextUses:55Used by:271
Symbol 271 MovieClipUses:270Used by:272
Symbol 272 MovieClipUses:271Used by:276
Symbol 273 TextUses:55Used by:274
Symbol 274 MovieClipUses:273Used by:275
Symbol 275 MovieClipUses:274Used by:276
Symbol 276 MovieClipUses:245 247 250 257 260 263 266 269 272 275Used by:Timeline
Symbol 277 GraphicUsed by:278
Symbol 278 MovieClipUses:277Used by:Timeline

Instance Names

"btn_sound"Frame 7Symbol 49 MovieClip
"mc_sloop"Frame 7Symbol 51 MovieClip
"mc_rules"Frame 8Symbol 61 MovieClip
"btn_right"Frame 8Symbol 66 Button
"btn_left"Frame 8Symbol 71 Button
"mc_shadows"Frame 9Symbol 79 MovieClip
"mc_pocket5"Frame 9Symbol 81 MovieClip
"mc_pocket4"Frame 9Symbol 82 MovieClip
"mc_pocket2"Frame 9Symbol 81 MovieClip
"mc_pocket3"Frame 9Symbol 82 MovieClip
"mc_pocket6"Frame 9Symbol 82 MovieClip
"mc_pocket1"Frame 9Symbol 82 MovieClip
"mc_p11"Frame 9Symbol 79 MovieClip
"mc_p12"Frame 9Symbol 79 MovieClip
"mc_p21"Frame 9Symbol 79 MovieClip
"mc_p22"Frame 9Symbol 79 MovieClip
"mc_p31"Frame 9Symbol 79 MovieClip
"mc_p32"Frame 9Symbol 79 MovieClip
"mc_p41"Frame 9Symbol 79 MovieClip
"mc_p42"Frame 9Symbol 79 MovieClip
"mc_p51"Frame 9Symbol 79 MovieClip
"mc_p52"Frame 9Symbol 79 MovieClip
"mc_p61"Frame 9Symbol 79 MovieClip
"mc_p62"Frame 9Symbol 79 MovieClip
"mc_p10"Frame 9Symbol 79 MovieClip
"mc_p13"Frame 9Symbol 79 MovieClip
"mc_p20"Frame 9Symbol 79 MovieClip
"mc_p23"Frame 9Symbol 79 MovieClip
"mc_p30"Frame 9Symbol 79 MovieClip
"mc_p33"Frame 9Symbol 79 MovieClip
"mc_p40"Frame 9Symbol 79 MovieClip
"mc_p43"Frame 9Symbol 79 MovieClip
"mc_p50"Frame 9Symbol 79 MovieClip
"mc_p53"Frame 9Symbol 79 MovieClip
"mc_p60"Frame 9Symbol 79 MovieClip
"mc_p63"Frame 9Symbol 79 MovieClip
"mc_goal2"Frame 9Symbol 79 MovieClip
"mc_goal3"Frame 9Symbol 79 MovieClip
"mc_goal4"Frame 9Symbol 79 MovieClip
"mc_goal5"Frame 9Symbol 79 MovieClip
"mc_goal6"Frame 9Symbol 79 MovieClip
"mc_goal1"Frame 9Symbol 79 MovieClip
"mc_lu"Frame 9Symbol 79 MovieClip
"mc_rd"Frame 9Symbol 79 MovieClip
"mc_ndp_player"Frame 9Symbol 86 MovieClip
"mc_ndp_computer"Frame 9Symbol 89 MovieClip
"pb7"Frame 9Symbol 92 MovieClip
"pb6"Frame 9Symbol 95 MovieClip
"pb5"Frame 9Symbol 98 MovieClip
"pb4"Frame 9Symbol 101 MovieClip
"pb3"Frame 9Symbol 104 MovieClip
"pb2"Frame 9Symbol 107 MovieClip
"pb1"Frame 9Symbol 110 MovieClip
"pb15"Frame 9Symbol 113 MovieClip
"pb14"Frame 9Symbol 116 MovieClip
"pb13"Frame 9Symbol 119 MovieClip
"pb12"Frame 9Symbol 122 MovieClip
"pb11"Frame 9Symbol 125 MovieClip
"pb10"Frame 9Symbol 128 MovieClip
"pb9"Frame 9Symbol 131 MovieClip
"mc_ball0"Frame 9Symbol 133 MovieClip [lib_ballMain]
"mc_ball5"Frame 9Symbol 142 MovieClip [lib_ball2_5]
"mc_ball3"Frame 9Symbol 149 MovieClip [lib_ball2_3]
"mc_ball8"Frame 9Symbol 156 MovieClip [lib_ball2_8]
"mc_ball4"Frame 9Symbol 163 MovieClip [lib_ball2_4]
"mc_ball6"Frame 9Symbol 170 MovieClip [lib_ball2_6]
"mc_ball11"Frame 9Symbol 175 MovieClip [lib_ball1_3]
"mc_ball15"Frame 9Symbol 179 MovieClip [lib_ball1_7]
"mc_ball14"Frame 9Symbol 182 MovieClip [lib_ball1_6]
"mc_ball7"Frame 9Symbol 189 MovieClip [lib_ball2_7]
"mc_ball12"Frame 9Symbol 193 MovieClip [lib_ball1_4]
"mc_ball10"Frame 9Symbol 197 MovieClip [lib_ball1_2]
"mc_ball2"Frame 9Symbol 201 MovieClip [lib_ball2_2]
"mc_ball13"Frame 9Symbol 204 MovieClip [lib_ball1_5]
"mc_ball1"Frame 9Symbol 210 MovieClip [lib_ball2]
"mc_ball9"Frame 9Symbol 213 MovieClip [lib_ball1_1]
"btn_mc"Frame 9Symbol 219 Button
"ind_mc"Frame 9Symbol 229 MovieClip [lib_indicator]
"btn_sound"Frame 9Symbol 49 MovieClip
"mc_freeShot"Frame 9Symbol 232 MovieClip
"cue1_mc"Frame 9Symbol 234 MovieClip
"cue21_mc"Frame 9Symbol 236 MovieClip
"cue22_mc"Frame 9Symbol 236 MovieClip
"cueBall_mc"Frame 9Symbol 238 MovieClip
"cue_mc"Frame 9Symbol 242 MovieClip
"mc_msg"Frame 9Symbol 276 MovieClip
"tf"Symbol 17 MovieClip Frame 1Symbol 13 EditableText
"bar"Symbol 17 MovieClip Frame 1Symbol 16 MovieClip
"mc_mask"Symbol 229 MovieClip [lib_indicator] Frame 1Symbol 221 MovieClip
"mc_limit"Symbol 229 MovieClip [lib_indicator] Frame 1Symbol 223 MovieClip
"mc"Symbol 229 MovieClip [lib_indicator] Frame 1Symbol 228 MovieClip
"mc_who"Symbol 276 MovieClip Frame 2Symbol 257 MovieClip

Special Tags

Protect (24)Timeline Frame 10 bytes ""
ExportAssets (56)Timeline Frame 1Symbol 2 as "lib_shadow"
ExportAssets (56)Timeline Frame 1Symbol 279 as "__Packages.CBall"
ExportAssets (56)Timeline Frame 1Symbol 280 as "__Packages.CBounds2"
ExportAssets (56)Timeline Frame 1Symbol 281 as "__Packages.CBounds"
ExportAssets (56)Timeline Frame 1Symbol 282 as "__Packages.CIntersection"
ExportAssets (56)Timeline Frame 1Symbol 283 as "__Packages.CBall_1"
ExportAssets (56)Timeline Frame 1Symbol 284 as "__Packages.CVector3D"
ExportAssets (56)Timeline Frame 1Symbol 285 as "__Packages.CBall_2"
ExportAssets (56)Timeline Frame 1Symbol 286 as "__Packages.CIndicator"
ExportAssets (56)Timeline Frame 5Symbol 21 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 5Symbol 22 as "lib_snd_cue"
ExportAssets (56)Timeline Frame 5Symbol 23 as "lib_snd_lusa"
ExportAssets (56)Timeline Frame 5Symbol 24 as "lib_snd_ball"
ExportAssets (56)Timeline Frame 7Symbol 21 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 7Symbol 21 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 7Symbol 21 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 7Symbol 21 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 7Symbol 21 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 7Symbol 21 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 7Symbol 21 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 7Symbol 21 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 8Symbol 21 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 8Symbol 21 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 8Symbol 21 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 8Symbol 21 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 8Symbol 21 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 8Symbol 21 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 9Symbol 133 as "lib_ballMain"
ExportAssets (56)Timeline Frame 9Symbol 142 as "lib_ball2_5"
ExportAssets (56)Timeline Frame 9Symbol 149 as "lib_ball2_3"
ExportAssets (56)Timeline Frame 9Symbol 156 as "lib_ball2_8"
ExportAssets (56)Timeline Frame 9Symbol 163 as "lib_ball2_4"
ExportAssets (56)Timeline Frame 9Symbol 170 as "lib_ball2_6"
ExportAssets (56)Timeline Frame 9Symbol 175 as "lib_ball1_3"
ExportAssets (56)Timeline Frame 9Symbol 179 as "lib_ball1_7"
ExportAssets (56)Timeline Frame 9Symbol 182 as "lib_ball1_6"
ExportAssets (56)Timeline Frame 9Symbol 189 as "lib_ball2_7"
ExportAssets (56)Timeline Frame 9Symbol 193 as "lib_ball1_4"
ExportAssets (56)Timeline Frame 9Symbol 197 as "lib_ball1_2"
ExportAssets (56)Timeline Frame 9Symbol 201 as "lib_ball2_2"
ExportAssets (56)Timeline Frame 9Symbol 204 as "lib_ball1_5"
ExportAssets (56)Timeline Frame 9Symbol 210 as "lib_ball2"
ExportAssets (56)Timeline Frame 9Symbol 213 as "lib_ball1_1"
ExportAssets (56)Timeline Frame 9Symbol 21 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 9Symbol 21 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 9Symbol 229 as "lib_indicator"

Labels

"init"Frame 6
"main"Frame 7
"rulez"Frame 8
"start"Frame 9
"st1"Symbol 276 MovieClip Frame 1
"st2"Symbol 276 MovieClip Frame 2
"st3"Symbol 276 MovieClip Frame 3
"st4"Symbol 276 MovieClip Frame 4
"st5"Symbol 276 MovieClip Frame 5
"st6"Symbol 276 MovieClip Frame 6
"st7"Symbol 276 MovieClip Frame 7
"st8"Symbol 276 MovieClip Frame 8
"st0"Symbol 276 MovieClip Frame 10




http://swfchan.com/14/67923/info.shtml
Created: 11/4 -2019 07:45:14 Last modified: 11/4 -2019 07:45:14 Server time: 05/11 -2024 11:43:08