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

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

Real Pool 3D.swf

This is the info page for
Flash #29921

(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.

power

STRIKE

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
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; stopSoundFlag = false;
Instance of Symbol 6 MovieClip in Frame 2
on (press) { getURL ("http://www.gametop.com/?utm_source=RealPool&utm_medium=flashGame", "_blank"); }
Instance of Symbol 13 MovieClip in Frame 2
on (press) { getURL ("http://www.gametop.com/?utm_source=RealPool&utm_medium=flashGame", "_blank"); }
Frame 3
stot = this.getBytesTotal(); sloa = this.getBytesLoaded(); if (stot != 0) { per = Math.floor((sloa / stot) * 100); } else { per = 0; } mc_bar.mc._x = mc_bar.mc._width * (-1 + (sloa / stot)); txtPer = String(per) + "%"; if (((sloa >= 1) && (stot >= 1)) && (sloa == stot)) { gotoAndStop ("main"); inMenuFirst(); } else { gotoAndPlay (2); }
Frame 5
stop();
Instance of Symbol 44 MovieClip "btn_sound" in Frame 5
onClipEvent (load) { if (this._parent.stopSoundFlag) { this.gotoAndStop(2); } this.zastFlag = true; }
Instance of Symbol 46 MovieClip "mc_sloop" in Frame 5
onClipEvent (load) { var soundControl = new Sound(this); }
Frame 7
stop();
Instance of Symbol 44 MovieClip "btn_sound" in Frame 7
onClipEvent (load) { if (this._parent.stopSoundFlag2) { this.gotoAndStop(2); } this.zastFlag = false; }
Instance of Symbol 273 MovieClip in Frame 7
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 274 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 275 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 276 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 277 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 278 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 279 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 280 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 281 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, 0, this._parent.mc_limit._y - this._parent.mc_limit._height, 0, this._parent.mc_limit._y); 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._y = mc_limit._y - (val * mc_limit._height); updateMask(); } function getValue() { return((((mc_limit._y - mc._y) / mc_limit._height) * (1 - minVal)) + minVal); } function updateMask() { mc_mask._y = mc._y - 4; } function disable() { mc.enabled = false; } function enable() { mc.enabled = true; } var minVal = 0.1; }
Symbol 29 Button
on (press) { new_game_pressed(); }
Symbol 34 Button
on (press) { more_pressed(); }
Symbol 39 Button
on (press) { how_to_play_pressed(); }
Symbol 41 Button
on (press) { this._parent.soundOff(zastFlag); this.gotoAndStop(2); }
Symbol 43 Button
on (press) { this._parent.soundOn(zastFlag); this.gotoAndStop(1); }
Symbol 44 MovieClip Frame 1
this.stop();
Symbol 46 MovieClip Frame 1
stop();
Symbol 51 Button
on (press) { right_pressed(); }
Symbol 56 Button
on (press) { left_pressed(); }
Symbol 61 Button
on (press) { back_pressed(); }
Symbol 68 MovieClip Frame 1
this.stop();
Symbol 125 MovieClip [lib_ballMain] Frame 1
#initclip 25 Object.registerClass("lib_ballMain", CBall); #endinitclip
Symbol 134 MovieClip [lib_ball2_5] Frame 1
#initclip 9 Object.registerClass("lib_ball2_5", CBall_1); #endinitclip
Symbol 141 MovieClip [lib_ball2_3] Frame 1
#initclip 10 Object.registerClass("lib_ball2_3", CBall_1); #endinitclip
Symbol 148 MovieClip [lib_ball2_8] Frame 1
#initclip 11 Object.registerClass("lib_ball2_8", CBall_1); #endinitclip
Symbol 155 MovieClip [lib_ball2_4] Frame 1
#initclip 12 Object.registerClass("lib_ball2_4", CBall_1); #endinitclip
Symbol 162 MovieClip [lib_ball2_6] Frame 1
#initclip 13 Object.registerClass("lib_ball2_6", CBall_1); #endinitclip
Symbol 167 MovieClip [lib_ball1_3] Frame 1
#initclip 14 Object.registerClass("lib_ball1_3", CBall_2); #endinitclip
Symbol 171 MovieClip [lib_ball1_7] Frame 1
#initclip 15 Object.registerClass("lib_ball1_7", CBall_2); #endinitclip
Symbol 174 MovieClip [lib_ball1_6] Frame 1
#initclip 16 Object.registerClass("lib_ball1_6", CBall_2); #endinitclip
Symbol 181 MovieClip [lib_ball2_7] Frame 1
#initclip 17 Object.registerClass("lib_ball2_7", CBall_1); #endinitclip
Symbol 185 MovieClip [lib_ball1_4] Frame 1
#initclip 18 Object.registerClass("lib_ball1_4", CBall_2); #endinitclip
Symbol 189 MovieClip [lib_ball1_2] Frame 1
#initclip 19 Object.registerClass("lib_ball1_2", CBall_2); #endinitclip
Symbol 193 MovieClip [lib_ball2_2] Frame 1
#initclip 20 Object.registerClass("lib_ball2_2", CBall_1); #endinitclip
Symbol 196 MovieClip [lib_ball1_5] Frame 1
#initclip 21 Object.registerClass("lib_ball1_5", CBall_2); #endinitclip
Symbol 202 MovieClip [lib_ball2] Frame 1
#initclip 22 Object.registerClass("lib_ball2", CBall_1); #endinitclip
Symbol 205 MovieClip [lib_ball1_1] Frame 1
#initclip 23 Object.registerClass("lib_ball1_1", CBall_2); #endinitclip
Symbol 210 Button
on (press) { buttonPressed(); }
Symbol 219 MovieClip [lib_indicator] Frame 1
#initclip 24 Object.registerClass("lib_indicator", CIndicator); #endinitclip
Symbol 271 MovieClip Frame 1
this.stop();

Library Items

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

Instance Names

"mc_bar"Frame 2Symbol 16 MovieClip
"btn_sound"Frame 5Symbol 44 MovieClip
"mc_sloop"Frame 5Symbol 46 MovieClip
"btn_right"Frame 6Symbol 51 Button
"btn_left"Frame 6Symbol 56 Button
"mc_rules"Frame 6Symbol 68 MovieClip
"mc_shadows"Frame 7Symbol 71 MovieClip
"mc_pocket5"Frame 7Symbol 73 MovieClip
"mc_pocket4"Frame 7Symbol 74 MovieClip
"mc_pocket2"Frame 7Symbol 73 MovieClip
"mc_pocket3"Frame 7Symbol 74 MovieClip
"mc_pocket6"Frame 7Symbol 74 MovieClip
"mc_pocket1"Frame 7Symbol 74 MovieClip
"mc_p11"Frame 7Symbol 71 MovieClip
"mc_p12"Frame 7Symbol 71 MovieClip
"mc_p21"Frame 7Symbol 71 MovieClip
"mc_p22"Frame 7Symbol 71 MovieClip
"mc_p31"Frame 7Symbol 71 MovieClip
"mc_p32"Frame 7Symbol 71 MovieClip
"mc_p41"Frame 7Symbol 71 MovieClip
"mc_p42"Frame 7Symbol 71 MovieClip
"mc_p51"Frame 7Symbol 71 MovieClip
"mc_p52"Frame 7Symbol 71 MovieClip
"mc_p61"Frame 7Symbol 71 MovieClip
"mc_p62"Frame 7Symbol 71 MovieClip
"mc_p10"Frame 7Symbol 71 MovieClip
"mc_p13"Frame 7Symbol 71 MovieClip
"mc_p20"Frame 7Symbol 71 MovieClip
"mc_p23"Frame 7Symbol 71 MovieClip
"mc_p30"Frame 7Symbol 71 MovieClip
"mc_p33"Frame 7Symbol 71 MovieClip
"mc_p40"Frame 7Symbol 71 MovieClip
"mc_p43"Frame 7Symbol 71 MovieClip
"mc_p50"Frame 7Symbol 71 MovieClip
"mc_p53"Frame 7Symbol 71 MovieClip
"mc_p60"Frame 7Symbol 71 MovieClip
"mc_p63"Frame 7Symbol 71 MovieClip
"mc_goal2"Frame 7Symbol 71 MovieClip
"mc_goal3"Frame 7Symbol 71 MovieClip
"mc_goal4"Frame 7Symbol 71 MovieClip
"mc_goal5"Frame 7Symbol 71 MovieClip
"mc_goal6"Frame 7Symbol 71 MovieClip
"mc_goal1"Frame 7Symbol 71 MovieClip
"mc_lu"Frame 7Symbol 71 MovieClip
"mc_rd"Frame 7Symbol 71 MovieClip
"mc_ndp_player"Frame 7Symbol 78 MovieClip
"mc_ndp_computer"Frame 7Symbol 81 MovieClip
"pb7"Frame 7Symbol 84 MovieClip
"pb6"Frame 7Symbol 87 MovieClip
"pb5"Frame 7Symbol 90 MovieClip
"pb4"Frame 7Symbol 93 MovieClip
"pb3"Frame 7Symbol 96 MovieClip
"pb2"Frame 7Symbol 99 MovieClip
"pb1"Frame 7Symbol 102 MovieClip
"pb15"Frame 7Symbol 105 MovieClip
"pb14"Frame 7Symbol 108 MovieClip
"pb13"Frame 7Symbol 111 MovieClip
"pb12"Frame 7Symbol 114 MovieClip
"pb11"Frame 7Symbol 117 MovieClip
"pb10"Frame 7Symbol 120 MovieClip
"pb9"Frame 7Symbol 123 MovieClip
"mc_ball0"Frame 7Symbol 125 MovieClip [lib_ballMain]
"mc_ball5"Frame 7Symbol 134 MovieClip [lib_ball2_5]
"mc_ball3"Frame 7Symbol 141 MovieClip [lib_ball2_3]
"mc_ball8"Frame 7Symbol 148 MovieClip [lib_ball2_8]
"mc_ball4"Frame 7Symbol 155 MovieClip [lib_ball2_4]
"mc_ball6"Frame 7Symbol 162 MovieClip [lib_ball2_6]
"mc_ball11"Frame 7Symbol 167 MovieClip [lib_ball1_3]
"mc_ball15"Frame 7Symbol 171 MovieClip [lib_ball1_7]
"mc_ball14"Frame 7Symbol 174 MovieClip [lib_ball1_6]
"mc_ball7"Frame 7Symbol 181 MovieClip [lib_ball2_7]
"mc_ball12"Frame 7Symbol 185 MovieClip [lib_ball1_4]
"mc_ball10"Frame 7Symbol 189 MovieClip [lib_ball1_2]
"mc_ball2"Frame 7Symbol 193 MovieClip [lib_ball2_2]
"mc_ball13"Frame 7Symbol 196 MovieClip [lib_ball1_5]
"mc_ball1"Frame 7Symbol 202 MovieClip [lib_ball2]
"mc_ball9"Frame 7Symbol 205 MovieClip [lib_ball1_1]
"btn_mc"Frame 7Symbol 210 Button
"ind_mc"Frame 7Symbol 219 MovieClip [lib_indicator]
"btn_sound"Frame 7Symbol 44 MovieClip
"mc_freeShot"Frame 7Symbol 228 MovieClip
"cue1_mc"Frame 7Symbol 230 MovieClip
"cue21_mc"Frame 7Symbol 232 MovieClip
"cue22_mc"Frame 7Symbol 232 MovieClip
"cueBall_mc"Frame 7Symbol 234 MovieClip
"cue_mc"Frame 7Symbol 237 MovieClip
"mc_msg"Frame 7Symbol 271 MovieClip
"mc"Symbol 16 MovieClip Frame 1Symbol 15 MovieClip
"mc_mask"Symbol 219 MovieClip [lib_indicator] Frame 1Symbol 211 MovieClip
"mc_limit"Symbol 219 MovieClip [lib_indicator] Frame 1Symbol 213 MovieClip
"mc"Symbol 219 MovieClip [lib_indicator] Frame 1Symbol 218 MovieClip
"mc_who"Symbol 271 MovieClip Frame 2Symbol 252 MovieClip

Special Tags

Protect (24)Timeline Frame 10 bytes ""
ExportAssets (56)Timeline Frame 1Symbol 2 as "lib_shadow"
ExportAssets (56)Timeline Frame 1Symbol 274 as "__Packages.CBall"
ExportAssets (56)Timeline Frame 1Symbol 275 as "__Packages.CBounds2"
ExportAssets (56)Timeline Frame 1Symbol 276 as "__Packages.CBounds"
ExportAssets (56)Timeline Frame 1Symbol 277 as "__Packages.CIntersection"
ExportAssets (56)Timeline Frame 1Symbol 278 as "__Packages.CBall_1"
ExportAssets (56)Timeline Frame 1Symbol 279 as "__Packages.CVector3D"
ExportAssets (56)Timeline Frame 1Symbol 280 as "__Packages.CBall_2"
ExportAssets (56)Timeline Frame 1Symbol 281 as "__Packages.CIndicator"
ExportAssets (56)Timeline Frame 4Symbol 17 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 4Symbol 18 as "lib_snd_cue"
ExportAssets (56)Timeline Frame 4Symbol 19 as "lib_snd_lusa"
ExportAssets (56)Timeline Frame 4Symbol 20 as "lib_snd_ball"
ExportAssets (56)Timeline Frame 5Symbol 17 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 5Symbol 17 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 5Symbol 17 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 5Symbol 17 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 5Symbol 17 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 5Symbol 17 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 5Symbol 17 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 5Symbol 17 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 6Symbol 17 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 6Symbol 17 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 6Symbol 17 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 6Symbol 17 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 6Symbol 17 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 6Symbol 17 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 7Symbol 125 as "lib_ballMain"
ExportAssets (56)Timeline Frame 7Symbol 134 as "lib_ball2_5"
ExportAssets (56)Timeline Frame 7Symbol 141 as "lib_ball2_3"
ExportAssets (56)Timeline Frame 7Symbol 148 as "lib_ball2_8"
ExportAssets (56)Timeline Frame 7Symbol 155 as "lib_ball2_4"
ExportAssets (56)Timeline Frame 7Symbol 162 as "lib_ball2_6"
ExportAssets (56)Timeline Frame 7Symbol 167 as "lib_ball1_3"
ExportAssets (56)Timeline Frame 7Symbol 171 as "lib_ball1_7"
ExportAssets (56)Timeline Frame 7Symbol 174 as "lib_ball1_6"
ExportAssets (56)Timeline Frame 7Symbol 181 as "lib_ball2_7"
ExportAssets (56)Timeline Frame 7Symbol 185 as "lib_ball1_4"
ExportAssets (56)Timeline Frame 7Symbol 189 as "lib_ball1_2"
ExportAssets (56)Timeline Frame 7Symbol 193 as "lib_ball2_2"
ExportAssets (56)Timeline Frame 7Symbol 196 as "lib_ball1_5"
ExportAssets (56)Timeline Frame 7Symbol 202 as "lib_ball2"
ExportAssets (56)Timeline Frame 7Symbol 205 as "lib_ball1_1"
ExportAssets (56)Timeline Frame 7Symbol 17 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 7Symbol 17 as "lib_snd_menu"
ExportAssets (56)Timeline Frame 7Symbol 219 as "lib_indicator"

Labels

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

Dynamic Text Variables

txtPerSymbol 10 EditableText"0%  "




http://swfchan.com/6/29921/info.shtml
Created: 19/5 -2019 15:46:09 Last modified: 19/5 -2019 15:46:09 Server time: 05/05 -2024 01:52:59