Frame 1
System.useCodepage = true;
with (Stage) {
showMenu = false;
scaleMode = "noScale";
}
snd_chk = true;
snd_ary = ["click1_snd", "click2_snd", "rolling_snd", "ballBomb_snd", "wind_snd", "shoot_snd", "otherHit_snd", "explose1_snd", "explose2_snd", "explose3_snd", "error_snd", "bg_snd", "bg2_snd", "weapon1_snd", "intro_snd", "fail_snd", "success_snd", "reverseHit1_snd", "reverseHit2_snd ", "reverseHit3_snd", "reverseStart_snd", "useItem_snd", "getItem_snd", "itemExpire_snd", "gameStart_snd", "successBg_snd", "failBg_snd", "createItem_snd", "evil1_snd", "evil2_snd", "evil3_snd", "laugh_snd"];
var i = 0;
while (i < snd_ary.length) {
var snd_str = snd_ary[i];
this[snd_str] = new Sound(this);
this[snd_str].attachSound(snd_str);
i++;
}
gameInit = function () {
level = 1;
lifeRef = 3;
anchorAry = [35, 39, 32, 35, 31, 36, 39, 35, 30];
selBallAry = [3, 4, 4, 4, 4, 4, 4, 4, 4];
ballNumAry = [35, 40, 45, 50, 55, 60, 65, 70, 75];
chaPosAry = [{x:413, y:294}, {x:187, y:268}, {x:363, y:297}, {x:273, y:250}, {x:250, y:324}, {x:340, y:254}, {x:500, y:252}, {x:375, y:246}, {x:323, y:345}];
levelItemAry = new Array();
levelItemAry[1] = [1, 2];
levelItemAry[2] = [1, 2, 3, 4, 4];
levelItemAry[3] = [1, 2, 3, 4, 4];
levelItemAry[4] = [1, 2, 3, 4, 4];
levelItemAry[5] = [1, 2, 3, 4, 4, 4, 5];
levelItemAry[6] = [3, 4, 4, 4, 5, 5, 6];
levelItemAry[7] = [3, 3, 4, 4, 4, 4, 4, 5, 5, 6];
levelItemAry[8] = [3, 3, 4, 4, 4, 5, 5, 5];
itemLimitAry = [0, 5, 4, 4, 3, 3, 3, 3, 3];
itemPosAry = [{x:473, y:473}, {x:514, y:473}, {x:555, y:473}, {x:595, y:473}, {x:635, y:473}, {x:675, y:473}];
holeMcPosAry = [{x:283, y:190}, {x:93, y:335}, {x:557, y:223}, {x:334, y:325}, {x:382, y:368}, {x:327, y:175}, {x:592, y:158}, {x:540, y:284}, {x:570, y:153}];
powerDivideAry = [28, 26, 24, 22, 20, 18, 18, 16, 16];
ballWidth = 40;
this.createEmptyMovieClip("shootMc", 2);
this.createEmptyMovieClip("flyItemMc", 20);
this.createEmptyMovieClip("effectMc", 23);
this.attachMovie("holeMc", "holeMc", 3);
this.createEmptyMovieClip("scoreMc", 30);
uiMc.swapDepths(10);
guideMc.swapDepths(4);
Mouse.removeListener(wheelListener);
gameStart();
};
gameStart = function () {
_quality = "medium";
life = lifeRef;
score = 0;
setStage();
uiMc._visible = true;
snd_stop("intro_snd");
snd_stop("successBg_snd");
snd_stop("failBg_snd");
bgSoundControl(true);
};
setStage = function () {
mode = "normal";
powerDivide = 2;
movePower = ballWidth / powerDivide;
powerDivideRef = powerDivideAry[level - 1];
startTime = getTimer();
gamePlay = false;
gamePauseChk = undefined;
shootChk = undefined;
delete mixBallNum;
bombNum = 0;
mixPowerDivide = 5;
mixMovePower = ballWidth / mixPowerDivide;
var _local7 = 1;
while (_local7 <= 6) {
_root[("item" + _local7) + "Chk"] = (_root[("item" + _local7) + "GetChk"] = undefined);
_local7++;
}
itemAry = new Array();
itemViewAry = new Array();
_local7 = 1;
while (_local7 <= 6) {
uiMc.itemMc[("item" + _local7) + "Mc"].gotoAndStop(1);
uiMc.itemMc[("item" + _local7) + "Mc"].frameMc.gotoAndStop(1);
_local7++;
}
itemLimitNum = itemLimitAry[level - 1];
rotateAngRef = 3;
rotateAng = rotateAngRef;
ballNum = ballNumAry[level - 1];
anchorNum = anchorAry[level - 1];
selBallNum = selBallAry[level - 1];
shootPower = 27 + Math.min(level, 6);
setLife();
var _local6 = holeMcPosAry[level - 1];
holeMc._x = _local6.x;
holeMc._y = _local6.y;
assignNextBall();
chaMc.selBallNum = random(selBallNum) + 1;
chaMc.selBallType = random(3) + 1;
chaMc.preBallMc.gotoAndStop(chaMc.selBallNum);
chaMc.preBallMc.m.gotoAndStop(chaMc.selBallType);
guideMc._visible = false;
_local6 = chaPosAry[level - 1];
chaMc._x = _local6.x;
chaMc._y = _local6.y;
bgMc.gotoAndStop(level);
_local7 = 1;
while (_local7 <= anchorNum) {
bgMc["p" + _local7]._visible = false;
_local7++;
}
btnEnabled(false);
if (ballMc) {
delete_item(ballMc);
}
this.createEmptyMovieClip("ballMc", 1);
ballMc.sx = bgMc.p1._x;
ballMc.sy = bgMc.p1._y;
ballMc.moved = undefined;
moveBallAry = new Array();
_local7 = 1;
while (_local7 <= ballNum) {
var _local3 = ballMc.attachMovie("ballMc", "b" + _local7, _local7);
_local3._x = ballMc.sx;
_local3._y = ballMc.sy;
_local3.num = random(selBallNum) + 1;
_local3.gotoAndStop(_local3.num);
_local3.m.gotoAndStop(random(3) + 1);
if (_local7 == 1) {
var _local8 = bgMc.p2._y - bgMc.p1._y;
var _local9 = bgMc.p2._x - bgMc.p1._x;
var ang = Math.atan2(_local8, _local9);
_local3.cNum = 1;
_local3.ax = Math.cos(ang) * movePower;
_local3.ay = Math.sin(ang) * movePower;
_local3.assignX = _local3._x;
_local3.assignY = _local3._y;
} else {
var ang = Math.PI;
_local3.cNum = 0;
}
_local3.posAry = new Array();
var _local4 = 0;
while (_local4 <= powerDivide) {
_local6 = new Object();
_local3.posAry.unshift(_local6);
_local4++;
}
moveBallAry.push(_local7);
_local7++;
}
ballMc.b1.lead = true;
ballMc.b1.power = movePower;
ballMc["b" + ballNum].followed = true;
chaMc.initx = chaMc._x;
chaMc.inity = chaMc._y;
chaMc._rotation = -90;
chaMc.onMouseMove = function () {
if (gamePlay) {
var _local2 = _ymouse - this._y;
var _local3 = _xmouse - this._x;
this.ang = (Math.atan2(_local2, _local3) * 180) / Math.PI;
this._rotation = this.ang;
if (guideMc._visible) {
guideMc._rotation = this.ang;
}
}
};
chaMc.onMouseDown = function () {
if ((!shootChk) && (gamePlay)) {
if (!uiMc.hitMc.hitTest(_root._xmouse, _root._ymouse, true)) {
chaMc.gotoAndPlay(2);
}
}
};
_local7 = 1;
while (_local7 <= 6) {
var _local5 = uiMc.itemMc[("item" + _local7) + "Mc"];
_local5.num = _local7;
_local5.onPress = function () {
itemControl("use", this.num);
};
_local5.onRollOver = function () {
snd_attach("click1_snd");
};
_local5.enabled = false;
_local7++;
}
ballMove(true);
snd_attach("gameStart_snd");
snd_attach("rolling_snd", "loop");
snd_stop("fail_snd");
snd_stop("success_snd");
};
gameOut = function (flag) {
gamePlay = false;
clearAllInterval();
if (flag) {
if (level >= 9) {
gameOver(true);
} else {
scoreCul("success");
levelClearView(true);
snd_attach("success_snd");
}
} else if (life > 0) {
scoreCul("fail");
levelClearView(false);
snd_attach("fail_snd");
} else {
gameOver(false);
}
};
gameOver = function (flag) {
_quality = "high";
if (flag) {
_root.gotoAndStop("successFrame");
snd_attach("successBg_snd", "loop");
snd_stop("bg_snd");
snd_stop("bg2_snd");
} else {
_root.gotoAndStop("failFrame");
snd_attach("failBg_snd", "loop");
snd_stop("bg_snd");
}
holeMc._x = 600;
holeMc._y = 364;
uiMc._visible = false;
};
gameRestart = function () {
_root.gotoAndStop("restartFrame");
level = 1;
gameStart();
};
gamePause = function (flag) {
gamePlay = !flag;
gamePauseChk = flag;
btnEnabled(!flag);
if (!flag) {
uiMc.pauseBtnMc.m.gotoAndStop(1);
}
};
gameExit = function () {
getURL ("javascript:closeWindow()");
};
levelClearView = function (flag) {
var _local3 = _root.attachMovie("levelClearViewMc", "levelClearViewMc", 100);
if (flag) {
_local3.gotoAndStop("success");
} else {
_local3.gotoAndStop("fail");
}
_local3.tx = 370;
_local3.ty = 250;
_local3._x = _local3.tx;
_local3._y = -80;
_local3._alpha = 10;
_local3.onEnterFrame = function () {
if (this._alpha < 100) {
this._alpha = this._alpha + 5;
}
smoothMove(this, this.tx, this.ty, 0.3);
if (((this._alpha >= 100) && (Math.abs(this.tx - this._x) < 1)) && (Math.abs(this.ty - this._y) < 1)) {
delete this.onEnterFrame;
this._x = this.tx;
this._y = this.ty;
this.ok_btn.onPress = function () {
if (flag) {
nextStage();
} else {
setStage();
}
this._parent.tx = this._parent._x;
this._parent.ty = -100;
this._parent.onEnterFrame = function () {
smoothMove(this, this.tx, this.ty, 0.4);
if (Math.abs(this.ty - this._y) < 1) {
delete_item(this);
}
};
snd_attach("wind_snd");
snd_attach("click2_snd");
};
}
};
_local3.onk_btn.onRollOver = function () {
snd_attach("click1_snd");
};
snd_attach("wind_snd");
};
nextStage = function () {
level++;
setStage();
if (level == 5) {
bgSoundControl(false);
bgSoundControl(true);
}
};
ballMove = function (flag) {
if (flag) {
clearInterval(ballMove_interval);
ballMc.onEnterFrame = function () {
ballMc.moved = true;
moveControl();
};
} else {
(ballMc.moved = undefined);
delete ballMc.onEnterFrame;
}
};
moveControl = function () {
if (!gamePauseChk) {
var _local2 = 0;
while (_local2 < moveBallAry.length) {
var _local1 = ballMc["b" + moveBallAry[_local2]];
if ((((mode == "mix") && (_local2 == mixBallNum)) || ((_local1.moved == "stop") && (!_local1.mixMoved))) || (item3Chk && (_local2 > mixBallNum))) {
} else if ((_local1.lead && (!_local1.reverseMoved)) || (_local1.followed && (_local1.reverseMoved))) {
var _local11 = (_local1.reverseMoved ? (ballMc["b" + moveBallAry[_local2 + 1]]) : (ballMc["b" + moveBallAry[_local2 - 1]]));
if ((returnDistance(_local11, _local1) < ballWidth) && (!((mode == "mix") && ((_local2 - 1) == mixBallNum)))) {
if (_local1.reverseMoved) {
var _local8 = _local2 + 1;
} else {
var _local8 = _local2;
}
groupBomb(_local8);
return(undefined);
}
var _local4 = _local1.posAry[_local1.posAry.length - 1];
var _local6 = (_local1.reverseMoved ? (bgMc["p" + _local4.cNum]) : (bgMc["p" + (_local4.cNum + 1)]));
var _local10 = _local6._x - _local4.x;
var _local9 = _local6._y - _local4.y;
if (Math.sqrt((_local10 * _local10) + (_local9 * _local9)) < _local1.power) {
(_local1.reverseMoved ? (_local1.cNum--) : (_local1.cNum++));
if ((!gamePlay) && (_local1.cNum == 6)) {
var _local12 = true;
}
if (_local1.cNum >= (anchorNum - 1)) {
hollIn();
return(undefined);
}
var _local5 = (_local1.reverseMoved ? (bgMc["p" + _local1.cNum]) : (bgMc["p" + (_local1.cNum + 1)]));
_local9 = _local5._y - _local1._y;
_local10 = _local5._x - _local1._x;
var _local7 = Math.atan2(_local9, _local10);
_local1.ax = Math.cos(_local7) * _local1.power;
_local1.ay = Math.sin(_local7) * _local1.power;
}
_local1.assignX = _local1.assignX + _local1.ax;
_local1.assignY = _local1.assignY + _local1.ay;
(_local1._x = _local1.assignX);
(_local1._y = _local1.assignY);
var _local3 = {x:_local1.assignX, y:_local1.assignY, cNum:_local1.cNum};
_local1.posAry.shift();
_local1.posAry.push(_local3);
} else {
var _local3 = (_local1.reverseMoved ? (ballMc["b" + moveBallAry[_local2 + 1]].posAry[1]) : (ballMc["b" + moveBallAry[_local2 - 1]].posAry[0]));
_local1.posAry.shift();
_local1.posAry.push(_local3);
_local1._x = _local3.x;
_local1._y = _local3.y;
_local1.cNum = _local3.cNum;
}
_local2++;
}
if (_local12) {
reduceSpeed();
}
}
};
reduceSpeed = function () {
clearInterval(reduceSpeedInterval);
reduceSpeedInterval = setInterval(reduceSpeed_f, 100);
};
reduceSpeed_f = function () {
powerDivide = powerDivide + 8;
var _local1 = -5.55555555555556;
var _local2 = 100 - (2 * _local1);
var _local3 = (_local1 * powerDivide) + _local2;
rolling_snd.setVolume(_local3);
if (powerDivide >= powerDivideRef) {
clearInterval(reduceSpeedInterval);
gamePlay = true;
powerDivide = powerDivideRef;
btnEnabled(true);
snd_stop("rolling_snd");
rolling_snd.setVolume(100);
}
speedControl("none");
};
shoot = function () {
shootChk = true;
var _local6 = _ymouse - chaMc._y;
var _local7 = _xmouse - chaMc._x;
var _local4 = Math.atan2(_local6, _local7);
var ax = (Math.cos(_local4) * shootPower);
var ay = (Math.sin(_local4) * shootPower);
bombNum = 0;
var _local5 = shootMc.getNextHighestDepth();
var _local3 = shootMc.attachMovie("ballMc", "b" + _local5, _local5);
_local3._x = chaMc._x + (Math.cos(_local4) * 20);
_local3._y = chaMc._y + (Math.sin(_local4) * 20);
_local3.ax = ax;
_local3.ay = ay;
_local3.num = chaMc.selBallNum;
_local3.selBallType = chaMc.selBallType;
_local3.gotoAndStop(chaMc.selBallNum);
_local3.m.gotoAndStop(_local3.selBallType);
if ((item4Chk || (item5Chk)) || (item6Chk)) {
_local3.m.gotoAndStop(4);
if (item4Chk) {
var _local8 = 4;
} else if (item5Chk) {
var _local8 = 5;
} else if (item6Chk) {
var _local8 = 6;
}
_local3.m.itemMc.gotoAndStop(_local8);
_local3.m.bgMc.gotoAndStop(chaMc.selBallNum);
}
_local3.onEnterFrame = function () {
this._x = this._x + this.ax;
this._y = this._y + this.ay;
if (!hitChk(this)) {
if ((((this._x > (700 + (this._width / 2))) || (this._x < ((-this._width) / 2))) || (this._y > (500 + (this._height / 2)))) || (this._y < ((-this._height) / 2))) {
delete_item(this);
shoot_f();
if (_root.item4Chk) {
uiMc.itemMc.item4Mc.gotoAndStop(1);
uiMc.itemMc.item4Mc.frameMc.gotoAndStop(1);
_root.item4Chk = (_root.item4GetChk = undefined);
}
if (_root.item5Chk) {
uiMc.itemMc.item5Mc.gotoAndStop(1);
uiMc.itemMc.item5Mc.frameMc.gotoAndStop(1);
_root.item5Chk = (_root.item5GetChk = undefined);
}
if (_root.item6Chk) {
uiMc.itemMc.item6Mc.gotoAndStop(1);
uiMc.itemMc.item6Mc.frameMc.gotoAndStop(1);
_root.item6Chk = (_root.item6GetChk = undefined);
}
}
}
};
assignNextBall();
snd_attach("wind_snd");
snd_attach("shoot_snd");
};
shoot_f = function () {
clearInterval(shoot_interval);
shootChk = undefined;
};
hollIn = function () {
var _local3 = ballMc["b" + moveBallAry[0]];
_local3.lead = undefined;
var _local4 = ballMc["b" + moveBallAry[1]];
leadSet(_local4);
moveBallAry.splice(0, 1);
delete_item(_local3);
if (gamePlay) {
gamePlay = false;
chaDie();
powerDivide = 2;
movePower = ballWidth / powerDivide;
if (mode == "mix") {
mode = undefined;
var _local1 = mixBallMc;
_local1.posAry = new Array();
_local1.posAry = _local1.targetPosAry.concat();
delete _local1.targetPosAry;
var _local2 = _local1.posAry[_local1.posAry.length - 1];
_local1._x = _local2.x;
_local1._y = _local2.y;
_local1.cNum = _local2.cNum;
delete _local1.onEnterFrame;
delete mixBallNum;
_local1.swapDepths(_local1.depthNum);
trace("bmc=" + _local1);
}
speedControl("none");
setPosition();
}
if (!ballMc.moved) {
ballMove(true);
}
if (moveBallAry.length == 0) {
clearInterval(gameOut_interval);
gameOut_interval = setInterval(gameOut, 1000, false);
ballMove(false);
snd_stop("rolling_snd");
}
};
chaDie = function () {
trace("die");
life--;
setLife();
for (var _local1 in shootMc) {
if (typeof(shootMc[_local1]) == "movieclip") {
delete_item(shootMc[_local1]);
}
}
snd_attach("rolling_snd", "loop");
snd_attach("laugh_snd");
};
hitChk = function (bmc) {
var _local2 = 0;
while (_local2 < moveBallAry.length) {
var _local1 = ballMc["b" + moveBallAry[_local2]];
if (_local1.cNum > 0) {
var _local4 = returnDistance(bmc, _local1);
if (_local4 < ballWidth) {
delete bmc.onEnterFrame;
ballReposition(bmc, _local1);
snd_attach("ballBomb_snd");
return(true);
}
}
_local2++;
}
};
ballReposition = function (bmc, tmc) {
mode = "mix";
ballMove(false);
var _local3 = 0;
while (_local3 < moveBallAry.length) {
if (tmc == ballMc["b" + moveBallAry[_local3]]) {
var tnum = _local3;
break;
}
_local3++;
}
powerDivideNum = mixPowerDivide;
var _local5 = nearChk(bmc, tmc, tnum);
ballNum++;
moveBallAry.splice(_local5.tnum, 0, ballNum);
var _local2 = ballMc.attachMovie("ballMc", "b" + ballNum, ballNum);
_local2._x = bmc._x;
_local2._y = bmc._y;
_local2.gotoAndStop(bmc.num);
_local2.num = bmc.num;
_local2.cNum = _local5.cNum;
_local2._rotation = bmc._rotation;
_local2.lead = bmc.lead;
_local2.followed = bmc.followed;
_local2.tnum = _local5.tnum;
_local2.tx = _local5.x;
_local2.ty = _local5.y;
_local2.posAry = new Array();
_local2.posAry.push(_local5);
_local2.targetPosAry = _local2.posAry.concat();
_local2.assignX = _local2.tx;
_local2.assignY = _local2.ty;
_local2.selBallType = bmc.selBallType;
if ((item4Chk || (item5Chk)) || (item6Chk)) {
_local2.m.gotoAndStop(4);
if (item4Chk) {
var _local12 = 4;
} else if (item5Chk) {
var _local12 = 5;
} else if (item6Chk) {
var _local12 = 6;
}
_local2.m.itemMc.gotoAndStop(_local12);
_local2.m.bgMc.gotoAndStop(_local2.num);
} else {
_local2.m.gotoAndStop(_local2.selBallType);
}
mixBallNum = _local2.tnum;
mixBallMc = _local2;
_local2.depthNum = bmc.getDepth();
delete_item(bmc);
if (!_local2.followed) {
movedSet(_local2.tnum);
mixSpeedControl(_local2.tnum);
} else {
speedControl();
}
var _local8 = _local2.tx - _local2._x;
var _local7 = _local2.ty - _local2._y;
var _local10 = Math.atan2(_local7, _local8);
var _local11 = Math.sqrt((_local8 * _local8) + (_local7 * _local7));
_local2.power = _local11 / mixPowerDivide;
_local2.ax = Math.cos(_local10) * _local2.power;
_local2.ay = Math.sin(_local10) * _local2.power;
_local2.onEnterFrame = function () {
moveControl();
if (!gamePlay) {
return(undefined);
}
this._x = this._x + this.ax;
this._y = this._y + this.ay;
this._rotation = this._rotation - 20;
this.posAry.shift();
this.posAry.push("s");
powerDivideNum--;
if (powerDivideNum == 0) {
execMode("normal");
this._x = this.tx;
this._y = this.ty;
this.posAry = new Array();
this.posAry = this.targetPosAry.concat();
delete this.targetPosAry;
this.swapDepths(this.depthNum);
delete this.onEnterFrame;
if (this.cNum >= (anchorNum - 1)) {
hollIn();
return(undefined);
}
movedSet();
speedControl("none");
setPosition();
delete mixBallNum;
if (ballSameChk(this.tnum)) {
bombBall();
} else {
if (!item3Chk) {
ballMove(true);
}
createItem();
shoot_f();
}
} else if (this.followed && (ballMc["b" + moveBallAry[this.tnum + 1]])) {
var _local3 = ballMc["b" + moveBallAry[this.tnum + 1]];
if (returnDistance(this, _local3) < ballWidth) {
hitAfter(this, _local3);
}
} else if (this.lead && (this.tnum > 0)) {
var _local2 = ballMc["b" + moveBallAry[this.tnum - 1]];
var _local3 = ballMc["b" + moveBallAry[this.tnum + 1]];
if (returnDistance(this, _local2) < ballWidth) {
hitBefore(this, _local2);
}
}
};
};
hitAfter = function (bmc, fmc) {
trace("\uB4B7\uBCFC \uCDA9\uB3CC !");
bmc.followed = undefined;
fmc.lead = undefined;
movedSet(mixBallNum);
var _local8 = returnNextPos(fmc, "pre", 1);
bmc.tx = _local8.x;
bmc.ty = _local8.y;
bmc.cNum = _local8.cNum;
bmc.posAry.push(_local8);
bmc.assignX = bmc.tx;
bmc.assignY = bmc.ty;
var _local7 = bmc.tx - bmc._x;
var _local6 = bmc.ty - bmc._y;
var _local12 = Math.atan2(_local6, _local7);
var _local14 = Math.sqrt((_local7 * _local7) + (_local6 * _local6));
bmc.movePower = _local14 / powerDivideNum;
bmc.ax = Math.cos(_local12) * bmc.movePower;
bmc.ay = Math.sin(_local12) * bmc.movePower;
_local8 = returnNextPos(fmc, "pre", 2);
var _local9 = ballMc["b" + moveBallAry[mixBallNum - 1]];
_local7 = _local8.x - _local9._x;
_local6 = _local8.y - _local9._y;
var _local15 = Math.sqrt((_local7 * _local7) + (_local6 * _local6));
var _local5 = _local15 / powerDivideNum;
var _local1 = mixBallNum - 1;
while (_local1 >= 0) {
if (ballMc["b" + moveBallAry[_local1]].lead) {
var _local3 = _local1;
break;
}
_local1--;
}
var _local13 = mixBallNum - 1;
var _local4 = ballMc["b" + moveBallAry[_local3]];
var _local16 = _local4.cNum;
var _local10 = bgMc["p" + (_local16 + 1)];
_local12 = Math.atan2(_local10._y - _local4._y, _local10._x - _local4._x);
_local4.ax = Math.cos(_local12) * _local5;
_local4.ay = Math.sin(_local12) * _local5;
_local4.power = _local5;
bmc.pMovePower = _local5;
makeAry(_local3, _local13, _local5, powerDivideNum);
if (fmc.moved != "stop") {
var _local17 = movePower;
} else {
var _local17 = 0;
}
makeAry(mixBallNum, mixBallNum, _local17, powerDivideNum);
};
hitBefore = function (bmc, pMc) {
trace("\uC55E\uBCFC \uCDA9\uB3CC !");
bmc.lead = undefined;
pMc.followed = undefined;
movedSet(mixBallNum);
var _local11 = ballMc["b" + moveBallAry[mixBallNum + 1]];
var _local4 = 0;
var _local2 = mixBallNum;
while (_local2 >= 0) {
_local4++;
if (ballMc["b" + moveBallAry[_local2]] == pMc) {
break;
}
_local2--;
}
var _local10 = returnNextPos(_local11, "pre", _local4);
var _local9 = _local10.x - pMc._x;
var _local8 = _local10.y - pMc._y;
var _local15 = Math.sqrt((_local9 * _local9) + (_local8 * _local8));
var _local7 = _local15 / powerDivideNum;
var _local1 = mixBallNum;
while (_local1 >= 0) {
if (ballMc["b" + moveBallAry[_local1]].lead) {
var _local3 = _local1;
break;
}
_local1--;
}
var _local14 = mixBallNum - 1;
var _local5 = ballMc["b" + moveBallAry[_local3]];
var _local16 = _local5.cNum;
var _local12 = bgMc["p" + (_local16 + 1)];
var _local13 = Math.atan2(_local12._y - _local5._y, _local12._x - _local5._x);
_local5.ax = Math.cos(_local13) * _local7;
_local5.ay = Math.sin(_local13) * _local7;
_local5.power = _local7;
trace("sMc=" + _local5);
makeAry(_local3, _local14, _local7, powerDivideNum);
if (_local11.moved != "stop") {
var _local17 = movePower;
} else {
var _local17 = 0;
}
makeAry(mixBallNum, mixBallNum, _local17, powerDivideNum);
};
makeAry = function (startNum, endNum, pMovePower, divideNum) {
var _local14 = startNum;
while (_local14 <= endNum) {
var _local11 = ballMc["b" + moveBallAry[_local14]];
var _local15 = ballMc["b" + moveBallAry[_local14 + 1]];
if (_local11.lead) {
_local11.power = pMovePower;
}
var _local2 = _local15._x;
var _local1 = _local15._y;
var _local3 = _local15.cNum;
var _local4 = new Object();
_local4.x = _local2;
_local4.y = _local1;
_local4.cNum = _local3;
var _local8 = bgMc["p" + (_local3 + 1)];
var _local10 = Math.atan2(_local8._y - _local1, _local8._x - _local2);
var _local13 = Math.cos(_local10) * pMovePower;
var _local12 = Math.sin(_local10) * pMovePower;
_local11.posAry = new Array();
var _local9 = 0;
while (_local9 <= divideNum) {
_local11.posAry.push(_local4);
var _local7 = _local8._x - _local2;
var _local6 = _local8._y - _local1;
if (Math.sqrt((_local7 * _local7) + (_local6 * _local6)) < pMovePower) {
_local3++;
if (_local3 > (anchorNum - 1)) {
_local12 = 0;
_local13 = _local12;
} else {
_local8 = bgMc["p" + (_local3 + 1)];
_local10 = Math.atan2(_local8._y - _local1, _local8._x - _local2);
_local13 = Math.cos(_local10) * pMovePower;
_local12 = Math.sin(_local10) * pMovePower;
}
}
_local2 = _local2 + _local13;
_local1 = _local1 + _local12;
_local4 = new Object();
_local4.x = _local2;
_local4.y = _local1;
_local4.cNum = _local3;
_local9++;
}
_local14++;
}
};
returnNextPos = function (mc, str, num, addValChk) {
var _local3 = mc._x;
var _local2 = mc._y;
var _local1 = mc.cNum;
if (str == "next") {
var _local6 = bgMc["p" + _local1];
} else if (str == "pre") {
if (_local1 == anchorNum) {
var _local6 = bgMc["p" + _local1];
} else {
var _local6 = bgMc["p" + (_local1 + 1)];
}
}
var _local9 = _local6._y - _local2;
var _local10 = _local6._x - _local3;
var _local8 = Math.atan2(_local6._y - _local2, _local6._x - _local3);
var _local12 = Math.cos(_local8) * movePower;
var _local11 = Math.sin(_local8) * movePower;
var _local5 = 1;
while (_local5 <= num) {
var _local7 = 1;
while (_local7 <= powerDivide) {
_local3 = _local3 + _local12;
_local2 = _local2 + _local11;
_local10 = _local6._x - _local3;
_local9 = _local6._y - _local2;
if (Math.sqrt((_local10 * _local10) + (_local9 * _local9)) < movePower) {
if (str == "next") {
_local1--;
if (_local1 <= 0) {
_local11 = 0;
_local12 = _local11;
_local1 = 1;
}
var _local6 = bgMc["p" + _local1];
} else if (str == "pre") {
_local1++;
if (_local1 >= anchorNum) {
_local1 = anchorNum;
var _local6 = bgMc["p" + _local1];
} else {
var _local6 = bgMc["p" + (_local1 + 1)];
}
}
_local9 = _local6._y - _local2;
_local10 = _local6._x - _local3;
_local8 = Math.atan2(_local9, _local10);
_local12 = Math.cos(_local8) * movePower;
_local11 = Math.sin(_local8) * movePower;
}
_local7++;
}
_local5++;
}
if (((mc.moved != "stop") && (!item3Chk)) && (addValChk == undefined)) {
if (str == "pre") {
_local12 = Math.cos(_local8) * movePower;
_local11 = Math.sin(_local8) * movePower;
} else if (str == "next") {
if (_local5 == 1) {
_local8 = _local8 + Math.PI;
}
_local12 = Math.cos(_local8) * movePower;
_local11 = Math.sin(_local8) * movePower;
}
var _local7 = 1;
while (_local7 <= powerDivideNum) {
_local3 = _local3 + _local12;
_local2 = _local2 + _local11;
_local10 = _local6._x - _local3;
_local9 = _local6._y - _local2;
if (Math.sqrt((_local10 * _local10) + (_local9 * _local9)) < movePower) {
if (str == "next") {
_local1--;
if (_local1 <= 0) {
_local11 = 0;
_local12 = _local11;
_local1 = 1;
}
var _local6 = bgMc["p" + _local1];
} else if (str == "pre") {
_local1++;
if (_local1 >= anchorNum) {
_local1 = anchorNum;
var _local6 = bgMc["p" + _local1];
} else {
var _local6 = bgMc["p" + (_local1 + 1)];
}
}
_local9 = _local6._y - _local2;
_local10 = _local6._x - _local3;
_local8 = Math.atan2(_local9, _local10);
_local12 = Math.cos(_local8) * movePower;
_local11 = Math.sin(_local8) * movePower;
}
_local7++;
}
}
var _local14 = new Object();
_local14.x = _local3;
_local14.y = _local2;
_local14.cNum = _local1;
return(_local14);
};
nearChk = function (bmc, tmc, tnum) {
var _local2 = new Object();
var _local6 = returnNextPos(tmc, "pre", 1);
var _local5 = returnNextPos(tmc, "next", 1);
var _local8 = returnDistance2(_local6.x, _local6.y, bmc._x, bmc._y);
var _local9 = returnDistance2(_local5.x, _local5.y, bmc._x, bmc._y);
var _local10 = ballMc["b" + moveBallAry[tnum + 1]];
var _local11 = ballMc["b" + moveBallAry[tnum - 1]];
if (_local8 < _local9) {
_local2 = returnNextPos(tmc, "pre", 1);
_local2.tnum = tnum;
if (tmc.lead) {
(tmc.lead = undefined);
(bmc.lead = true);
}
} else {
if (!tmc.followed) {
var _local7 = tnum + 1;
_local2 = returnNextPos(ballMc["b" + moveBallAry[_local7]], "pre", 1);
} else {
_local2 = returnNextPos(tmc, "next", 1);
}
_local2.tnum = tnum + 1;
if (tmc.followed) {
(tmc.followed = undefined);
(bmc.followed = true);
}
}
return(_local2);
};
movedSet = function (tnum) {
if (tnum == undefined) {
var _local2 = moveBallAry.length - 1;
while (_local2 >= 0) {
var _local3 = ballMc["b" + moveBallAry[_local2]];
if (_local3.lead) {
var _local1 = _local2;
while (_local1 < moveBallAry.length) {
_local3 = ballMc["b" + moveBallAry[_local1]];
_local3.moved = undefined;
_local3.mixMoved = undefined;
_local3.reverseMoved = undefined;
_local1++;
}
_local1 = _local2 - 1;
while (_local1 >= 0) {
_local3 = ballMc["b" + moveBallAry[_local1]];
_local3.moved = "stop";
_local3.mixMoved = undefined;
_local3.reverseMoved = undefined;
_local1--;
}
break;
}
_local2--;
}
} else {
if (ballMc["b" + moveBallAry[tnum]].lead) {
return(undefined);
}
var _local2 = tnum - 1;
while (_local2 >= 0) {
var _local3 = ballMc["b" + moveBallAry[_local2]];
_local3.mixMoved = true;
if (_local3.lead) {
break;
}
_local2--;
}
}
};
bombBall = function () {
ballMove(false);
var _local6;
var _local2 = 0;
while (_local2 < ballInfoAry.length) {
if (ballInfoAry[_local2] == "s") {
if (!_local6) {
_local6 = _local2;
}
var _local3 = ballMc["b" + ballInfoAryRef[_local2]];
var _local5 = ballMc.getNextHighestDepth();
var _local4 = ballMc.attachMovie("breakBallMc" + (random(3) + 1), "b" + _local5, _local5);
_local4._x = _local3._x;
_local4._y = _local3._y;
_local4._xscale = (_local4._yscale = random(30) + 80);
_local4.gotoAndStop("breakFrame");
if (_local3.itemNum) {
if (!_root[("item" + _local3.itemNum) + "GetChk"]) {
itemViewAry.splice(m, 1);
itemControl("get", _local3.itemNum, _local3);
}
}
delete_item(_local3);
moveBallAry.splice(_local2, 1);
ballInfoAry.splice(_local2, 1);
ballInfoAryRef.splice(_local2, 1);
_local2--;
scoreCul(3 + (bombNum * 2));
}
_local2++;
}
if (_local6 > 0) {
ballMc["b" + moveBallAry[_local6 - 1]].followed = true;
}
if (_local6 < moveBallAry.length) {
leadSet(ballMc["b" + moveBallAry[_local6]]);
}
movedSet();
execMode("normal");
speedControl("none");
clearInterval(replayBall_interval);
replayBall_interval = setInterval(replayBall, 10, _local6);
if (bombNum > 0) {
snd_attach(("explose" + bombNum) + "_snd");
} else {
snd_attach("explose1_snd");
}
};
replayBall = function (bombStartNum) {
clearInterval(replayBall_interval);
var _local4 = ballMc["b" + moveBallAry[bombStartNum - 1]];
var _local5 = ballMc["b" + moveBallAry[bombStartNum]];
if (moveBallAry.length == 0) {
gameOut(true);
} else if (_local4.num == _local5.num) {
var _local1 = bombStartNum - 1;
while (_local1 >= 0) {
var _local2 = ballMc["b" + moveBallAry[_local1]];
_local2.reverseMoved = true;
_local2.moved = undefined;
if (_local2.lead) {
break;
}
_local1--;
}
_local4.bombReadyChk = true;
reverseSpeedControl(_local1);
snd_attach("reverseStart_snd");
if (bombNum < 3) {
bombNum++;
}
trace("bombNum=" + bombNum);
ballMove(true);
} else {
createItem();
assignNextBall("chk");
shoot_f();
if (!item3Chk) {
ballMove(true);
}
}
};
ballSameChk = function (tnum) {
ballInfoAry = moveBallAry.concat();
ballInfoAryRef = ballInfoAry.concat();
var _local3 = tnum;
var _local9 = ballMc["b" + moveBallAry[tnum]].num;
do {
if (!((_local3 >= 0) && (ballMc["b" + moveBallAry[_local3 - 1]].num == _local9))) {
break;
}
_local3--;
} while (!ballMc["b" + moveBallAry[_local3]].lead);
var _local5 = 0;
var _local4 = _local3;
while (_local4 < ballInfoAry.length) {
var _local8 = ballMc["b" + ballInfoAry[_local4]];
if ((_local4 > _local3) && (_local8.lead)) {
break;
}
if (_local8.num == _local9) {
ballInfoAry[_local4] = "s";
_local5++;
} else {
break;
}
_local4++;
}
var _local12;
if (item4Chk) {
_local12 = 4;
var _local13 = tnum;
var _local14 = ballMc["b" + moveBallAry[tnum - 1]];
if ((_local14 && (!_local14.lead)) && (!ballMc["b" + moveBallAry[tnum]].lead)) {
_local13 = tnum - 1;
}
_local4 = _local13;
while (_local4 <= (_local13 + 2)) {
var _local8 = ballMc["b" + moveBallAry[_local4]];
ballInfoAry[_local4] = "s";
_local5++;
if (_local8.followed) {
break;
}
_local4++;
}
clearInterval(item4_interval);
} else if (item5Chk) {
_local12 = 5;
var _local13 = tnum;
var _local10 = ballMc["b" + moveBallAry[tnum]];
_local4 = _local13;
while ((ballMc["b" + moveBallAry[_local4]] && (!ballMc["b" + moveBallAry[_local4]].lead)) && (_local4 >= (_local13 - 4))) {
_local4--;
}
_local13 = _local4;
_local4 = _local13;
while (_local4 <= (_local13 + 7)) {
var _local8 = ballMc["b" + moveBallAry[_local4]];
ballInfoAry[_local4] = "s";
_local5++;
if (_local8.followed) {
break;
}
_local4++;
}
var _local6 = 1;
while (_local6 <= 10) {
var _local7 = effectMc.getNextHighestDepth();
var _local2 = effectMc.attachMovie("guideMc", "g" + _local7, _local7);
_local2._visible = false;
_local2._x = _local10._x;
_local2._y = _local10._y;
_local2.effectInterval = setInterval(createEffect, random(400), 5, _local2);
_local2.gotoAndStop(1);
_local2._rotation = random(360);
_local2._alpha = random(50) + 50;
_local6++;
}
clearInterval(item5_interval);
} else if (item6Chk) {
_local12 = 6;
var _local13 = tnum;
_local4 = _local13;
while (_local4 < moveBallAry.length) {
var _local8 = ballMc["b" + moveBallAry[_local4]];
ballInfoAry[_local4] = "s";
_local5++;
if (_local8.followed) {
break;
}
_local4++;
}
if (_local5 < 3) {
_local5 = 3;
}
clearInterval(item6_interval);
}
if (_local12) {
if (_local5 < 3) {
_local5 = 3;
}
uiMc.itemMc[("item" + _local12) + "Mc"].gotoAndStop(1);
uiMc.itemMc[("item" + _local12) + "Mc"].frameMc.gotoAndStop(1);
_root[("item" + _local12) + "Chk"] = (_root[("item" + _local12) + "GetChk"] = undefined);
}
if (_local5 >= 3) {
return(true);
}
return(false);
};
returnDistance = function (mc1, mc2) {
var _local2 = mc1._x - mc2._x;
var _local1 = mc1._y - mc2._y;
return(Math.sqrt((_local2 * _local2) + (_local1 * _local1)));
};
returnDistance2 = function (x1, y1, x2, y2) {
var _local2 = x1 - x2;
var _local1 = y1 - y2;
return(Math.sqrt((_local2 * _local2) + (_local1 * _local1)));
};
speedControl = function (str, endNum) {
if (str == "up") {
if (powerDivide > 3) {
powerDivide = powerDivide - 1;
// unexpected jump
}
return(undefined);
}
if (str == "down") {
if (powerDivide < 12) {
powerDivide = powerDivide + 1;
} else {
return(undefined);
}
}
movePower = ballWidth / powerDivide;
if (!endNum) {
var _local14 = moveBallAry.length - 1;
} else {
var _local14 = endNum;
}
var _local13 = 0;
while (_local13 <= _local14) {
var _local2 = ballMc["b" + moveBallAry[_local13]];
if (_local2.lead) {
var _local5 = _local2.posAry[_local2.posAry.length - 1];
var _local4 = _local5.x;
var _local3 = _local5.y;
var _local1 = _local5.cNum;
var _local7 = bgMc["p" + _local1];
var _local10 = _local7._x - _local4;
var _local9 = _local7._y - _local3;
var _local8 = Math.atan2(_local9, _local10);
var _local12 = Math.cos(_local8) * movePower;
var _local11 = Math.sin(_local8) * movePower;
_local2.assignX = _local5.x;
_local2.assignY = _local5.y;
_local2.power = movePower;
leadSet(_local2, _local2.power);
}
_local2.posAry = new Array();
var _local6 = 0;
while (_local6 <= powerDivide) {
_local2.posAry.unshift(_local5);
if (_local6 < powerDivide) {
var _local10 = bgMc["p" + _local1]._x - _local4;
var _local9 = bgMc["p" + _local1]._y - _local3;
if (Math.sqrt((_local10 * _local10) + (_local9 * _local9)) < movePower) {
_local1--;
if (_local1 <= 0) {
var _local11 = 0;
var _local12 = _local11;
} else {
var _local7 = bgMc["p" + _local1];
_local10 = _local7._x - _local4;
_local9 = _local7._y - _local3;
var _local8 = Math.atan2(_local9, _local10);
var _local12 = Math.cos(_local8) * movePower;
var _local11 = Math.sin(_local8) * movePower;
}
}
var _local4 = _local4 + _local12;
var _local3 = _local3 + _local11;
var _local5 = new Object();
_local5.x = _local4;
_local5.y = _local3;
_local5.cNum = _local1;
}
_local6++;
}
_local13++;
}
};
mixSpeedControl = function (num) {
if (num == undefined) {
var _local16 = moveBallAry.length - 2;
} else {
var _local16 = num;
}
var _local11 = 0;
while (_local11 <= _local16) {
var _local1 = ballMc["b" + moveBallAry[_local11]];
var _local7 = ballMc["b" + moveBallAry[_local11 + 1]];
if (((_local7.moved != "stop") || (_local7.mixMoved)) && (!_local7.lead)) {
if (_local11 < mixBallNum) {
var _local2 = mixMovePower;
} else {
var _local2 = 0;
}
if (!item3Chk) {
if ((_local7.moved != "stop") || (_local1.lead && (_local1.moved != "stop"))) {
var _local2 = _local2 + movePower;
}
}
if (_local1.lead) {
var _local6 = _local1.posAry[_local1.posAry.length - 1];
var _local8 = ((_local6.cNum >= anchorNum) ? (bgMc["p" + anchorNum]) : (bgMc["p" + (_local6.cNum + 1)]));
var _local10 = Math.atan2(_local8._y - _local6.y, _local8._x - _local6.x);
_local1.ax = Math.cos(_local10) * _local2;
_local1.ay = Math.sin(_local10) * _local2;
_local1.assignX = _local6.x;
_local1.assignY = _local6.y;
_local1.power = _local2;
}
var _local6 = _local7.posAry[_local7.posAry.length - 1];
var _local5 = _local6.x;
var _local4 = _local6.y;
var _local3 = _local6.cNum;
var _local8 = bgMc["p" + (_local3 + 1)];
var _local10 = Math.atan2(_local8._y - _local4, _local8._x - _local5);
var _local15 = Math.cos(_local10) * _local2;
var _local14 = Math.sin(_local10) * _local2;
_local1.posAry = new Array();
var _local9 = 0;
while (_local9 <= powerDivideNum) {
_local1.posAry.push(_local6);
var _local13 = _local8._x - _local5;
var _local12 = _local8._y - _local4;
if (Math.sqrt((_local13 * _local13) + (_local12 * _local12)) < _local2) {
_local3++;
if (_local3 > anchorNum) {
_local14 = 0;
_local15 = _local14;
_local3 = anchorNum;
} else {
_local8 = bgMc["p" + (_local3 + 1)];
_local13 = _local8._x - _local5;
_local12 = _local8._y - _local4;
_local10 = Math.atan2(_local12, _local13);
_local15 = Math.cos(_local10) * _local2;
_local14 = Math.sin(_local10) * _local2;
}
}
_local5 = _local5 + _local15;
_local4 = _local4 + _local14;
_local6 = new Object();
_local6.x = _local5;
_local6.y = _local4;
_local6.cNum = _local3;
_local9++;
}
}
_local11++;
}
};
reverseSpeedControl = function (num) {
var _local3 = ballWidth / 2;
var _local14 = num;
while (_local14 < moveBallAry.length) {
var _local1 = ballMc["b" + moveBallAry[_local14]];
var _local15 = ballMc["b" + moveBallAry[_local14 + 1]];
if (_local1.followed) {
var _local2 = bgMc["p" + _local1.cNum];
_local1.assignX = _local1._x;
_local1.assignY = _local1._y;
var _local8 = Math.atan2(_local2._y - _local1._y, _local2._x - _local1._x);
_local1.ax = Math.cos(_local8) * _local3;
_local1.ay = Math.sin(_local8) * _local3;
_local1.power = _local3;
break;
}
var _local5 = _local1._x;
var _local4 = _local1._y;
var _local7 = _local1.cNum;
var _local6 = new Object();
_local6.x = _local5;
_local6.y = _local4;
_local6.cNum = _local7;
var _local2 = bgMc["p" + _local7];
var _local8 = Math.atan2(_local2._y - _local1._y, _local2._x - _local1._x);
var _local13 = Math.cos(_local8) * _local3;
var _local12 = Math.sin(_local8) * _local3;
_local15.posAry = new Array();
var _local11 = 0;
while (_local11 <= powerDivide) {
_local15.posAry.push(_local6);
_local5 = _local5 + _local13;
_local4 = _local4 + _local12;
_local6 = new Object();
_local6.x = _local5;
_local6.y = _local4;
_local6.cNum = _local7;
var _local10 = _local2._x - _local5;
var _local9 = _local2._y - _local4;
if (Math.sqrt((_local10 * _local10) + (_local9 * _local9)) < _local3) {
_local7--;
_local2 = bgMc["p" + _local7];
_local8 = Math.atan2(_local2._y - _local4, _local2._x - _local5);
_local13 = Math.cos(_local8) * _local3;
_local12 = Math.sin(_local8) * _local3;
}
_local11++;
}
_local14++;
}
};
setPosition = function (endNum) {
if (endNum == undefined) {
var _local4 = moveBallAry.length - 1;
} else {
var _local4 = endNum;
}
var _local3 = 0;
while (_local3 <= _local4) {
var _local1 = ballMc["b" + moveBallAry[_local3]];
var _local2 = _local1.posAry[_local1.posAry.length - 1];
_local1._x = _local2.x;
_local1._y = _local2.y;
_local1.cNum = _local2.cNum;
_local3++;
}
};
groupBomb = function (num) {
trace("group Bomb mode=" + mode);
ballMove(false);
var _local14 = ballMc["b" + moveBallAry[num]];
var _local10 = ballMc["b" + moveBallAry[num - 1]];
_local14.lead = undefined;
_local10.followed = undefined;
var _local6;
var _local8 = 0;
var _local4 = num - 1;
while (_local4 >= 0) {
var _local2 = ballMc["b" + moveBallAry[_local4]];
_local2.moved = undefined;
_local8++;
if (_local2.lead) {
_local6 = _local2;
break;
}
_local4--;
}
if (mode == "mix") {
if (num < mixBallNum) {
movedSet(num);
var _local3 = num - 1;
while (_local3 >= 0) {
if (ballMc["b" + moveBallAry[_local3]].lead) {
break;
}
_local3--;
}
var _local15 = _local3;
var _local16 = num - 1;
var _local9 = 0;
_local3 = mixBallNum;
while (_local3 >= (num - 1)) {
_local9++;
if (ballMc["b" + moveBallAry[_local3]].lead) {
break;
}
_local3--;
}
var _local7 = returnNextPos(ballMc["b" + moveBallAry[mixBallNum + 1]], "pre", _local9);
var _local12 = _local10._x - _local7.x;
var _local11 = _local10._y - _local7.y;
var _local18 = Math.sqrt((_local12 * _local12) + (_local11 * _local11));
var _local13 = _local18 / powerDivideNum;
leadSet(_local6, _local13);
makeAry(_local15, _local16, _local13, powerDivideNum);
trace(((" \uC790\uC5F0\uC2A4\uB7FD\uAC8C \uBC00\uB9AC\uAE30 ! mixBAllNum=" + mixBallNum) + " bomb num=") + num);
}
} else {
movedSet();
var _local7 = returnNextPos(_local14, "pre", _local8, false);
_local6.posAry = new Array();
_local6.posAry.push(_local7);
_local6.assignX = _local7.x;
_local6.assignY = _local7.y;
_local6.cNum = _local7.cNum;
_local6._x = _local7.x;
_local6._y = _local7.y;
_local6.cNum = _local7.cNum;
_local6.assignX = _local7.x;
_local6.assignY = _local7.y;
speedControl("none");
setPosition();
if (_local10.bombReadyChk) {
_local10.bombReadyChk = undefined;
if (bombNum >= 3) {
getURL ("javascript:shake()");
}
if (ballSameChk(num)) {
var _local17 = bombNum * 30;
viewFlyScore(_local10, _local17);
bombBall();
} else {
if ((!ballMc.moved) && (!item3Chk)) {
clearInterval(ballMove_interval);
ballMove_interval = setInterval(ballMove, 2000, true);
}
if (this.lead && (this.cNum >= (anchorNum - 1))) {
return(undefined);
}
shoot_f();
}
snd_attach(("evil" + bombNum) + "_snd");
} else {
ballMove(true);
}
}
snd_attach("otherHit_snd");
};
viewFlyScore = function (tmc, addScore) {
var _local2 = scoreMc.getNextHighestDepth();
var _local1 = scoreMc.attachMovie("flyScoreMc", "f" + _local2, _local2);
_local1._x = tmc._x;
_local1._y = (tmc._y - tmc._height) + 30;
_local1.m.score_txt.text = addScore;
scoreCul(addScore);
};
viewHelp = function (flag) {
if (flag) {
gamePause(true);
var _local3 = _root.attachMovie("helpMc", "helpMc", 50);
_local3.tx = 350;
_local3.ty = 270;
_local3._x = _local3.tx;
_local3._y = _local3.ty + 200;
_local3._alpha = 30;
_local3.onEnterFrame = function () {
this._alpha = this._alpha + 7;
smoothMove(this, this.tx, this.ty, 0.5);
if ((this._alpha >= 100) && (Math.abs(this._y - this.ty) < 1)) {
delete this.onEnterFrame;
}
};
_local3.closeBtn.onPress = function () {
viewHelp(false);
snd_attach("click2_snd");
};
_local3.closeBtn.onRollOver = function () {
snd_attach("click1_snd");
};
snd_attach("wind_snd");
} else {
gamePause(false);
delete_item(helpMc);
gamePlay = true;
btnEnabled(true);
}
};
btnEnabled = function (flag) {
if (flag) {
uiMc.helpBtn.onPress = function () {
if (gamePlay) {
viewHelp(true);
} else {
snd_attach("error_snd");
}
snd_attach("click2_snd");
};
uiMc.helpBtn.onRollOver = function () {
snd_attach("click1_snd");
};
uiMc.bgBtnMc.onPress = function () {
bgSnd_chk = !bgSnd_chk;
if (bgSnd_chk) {
this.gotoAndStop(1);
var _local2 = 1;
while (_local2 <= 5) {
this.bgMc["e" + _local2].gotoAndPlay("f" + (random(4) + 1));
_local2++;
}
bgSoundControl(true);
} else {
this.gotoAndStop(2);
var _local2 = 1;
while (_local2 <= 5) {
this.bgMc["e" + _local2].gotoAndStop("f" + (random(4) + 1));
_local2++;
}
bgSoundControl(false);
}
snd_attach("click2_snd");
};
uiMc.bgBtnMc.onRollOver = function () {
this.gotoAndStop(2);
this.onRollOut = function () {
this.gotoAndStop(1);
};
snd_attach("click1_snd");
};
uiMc.eqBtnMc.onPress = function () {
snd_chk = !snd_chk;
if (snd_chk) {
this.gotoAndStop(1);
} else {
this.gotoAndStop(2);
}
snd_attach("click2_snd");
};
uiMc.eqBtnMc.onRollOver = function () {
this.gotoAndStop(2);
this.onRollOut = function () {
if (snd_chk) {
this.gotoAndStop(1);
} else {
this.gotoAndStop(2);
}
};
snd_attach("click1_snd");
};
uiMc.pauseBtnMc.onPress = function () {
if (gamePlay) {
gamePause(true);
var _local3 = _root.attachMovie("gamePauseMc", "gamePauseMc", 105);
_local3._x = 350;
_local3._y = 250;
_local3._alpha = 10;
_local3.onEnterFrame = function () {
this._alpha = this._alpha + 5;
if (this._alpha >= 100) {
delete this.onEnterFrame;
this.ok_btn.onPress = function () {
delete_item(this._parent);
gamePause(false);
snd_attach("click2_snd");
};
this.ok_btn.onRollOver = function () {
snd_attach("click1_snd");
};
}
};
}
snd_attach("click2_snd");
};
uiMc.pauseBtnMc.onRollOver = function () {
this.m.gotoAndStop(2);
snd_attach("click1_snd");
this.onRollOut = function () {
this.m.gotoAndStop(1);
};
};
}
uiMc.helpBtn.enabled = (uiMc.eqBtnMc.enabled = (uiMc.bgBtnMc.enabled = (uiMc.pauseBtnMc.enabled = flag)));
};
bgSoundControl = function (flag) {
if (flag) {
bgSnd_chk = true;
bgSnd = new Sound(this);
if (level >= 5) {
bgSnd.attachSound("bg2_snd");
} else {
bgSnd.attachSound("bg_snd");
}
if (pauseTime) {
bgSnd.start(pauseTime, 10000);
} else {
bgSnd.start(0, 10000);
}
} else {
bgSnd_chk = false;
pauseTime = bgSnd.position / 1000;
bgSnd.stop("bg2_snd");
bgSnd.stop("bg_snd");
}
};
setLife = function () {
var _local1 = 1;
while (_local1 <= 3) {
var _local2 = uiMc.lifeMc[("life" + _local1) + "Mc"];
if (life >= _local1) {
_local2._visible = true;
} else {
_local2._visible = false;
}
_local1++;
}
};
execMode = function (str) {
mode = str;
};
itemControl = function (type, num, fmc) {
if (type == "get") {
_root[("item" + num) + "GetChk"] = true;
itemAry.push(num);
itemAry.sort(order);
if (!fmc) {
fmc = ballMc["b" + random(5)];
}
var _local8 = flyItemMc.getNextHighestDepth();
var _local4 = flyItemMc.attachMovie(("flyItem" + num) + "Mc", "flyItem" + _local8, _local8);
_local4._x = fmc._x;
_local4._y = fmc._y;
var _local7 = itemPosAry[num - 1];
_local4.tx = _local7.x;
_local4.ty = _local7.y;
_local4.onEnterFrame = function () {
smoothMove(this, this.tx, this.ty, 0.3);
var _local3 = this.tx - this._x;
var _local2 = this.ty - this._y;
if (Math.sqrt((_local3 * _local3) + (_local2 * _local2)) < 5) {
uiMc.itemMc[("item" + num) + "Mc"].gotoAndStop(2);
delete_item(this);
}
};
uiMc.itemMc[("item" + num) + "Mc"].enabled = true;
snd_attach("getItem_snd");
} else if (type == "use") {
if (((!gamePlay) || (gamePauseChk)) || (!_root[("item" + num) + "GetChk"])) {
snd_attach("error_snd");
return(undefined);
}
_root[("item" + num) + "Chk"] = true;
uiMc.itemMc[("item" + num) + "Mc"].gotoAndStop(2);
uiMc.itemMc[("item" + num) + "Mc"].frameMc.gotoAndStop(2);
uiMc.itemMc[("item" + num) + "Mc"].enabled = false;
if (num == 1) {
guideMc._visible = true;
guideMc._x = chaMc._x;
guideMc._y = chaMc._y;
clearInterval(item1_interval);
item1_interval = setInterval(expireItem, 15000, 1);
} else if (num == 2) {
powerDivide = 60;
rotateAng = 1;
((mode == "mix") ? (mixSpeedControl()) : (speedControl("none")));
clearInterval(item2_interval);
item2_interval = setInterval(expireItem, 15000, 2);
} else if (num == 3) {
ballMove(false);
clearInterval(item3_interval);
item3_interval = setInterval(expireItem, 10000, 3);
var _local3 = 0;
while (_local3 < moveBallAry.length) {
ballMc["b" + moveBallAry[_local3]].moved = "stop";
_local3++;
}
if (shootChk) {
shoot_f();
}
}
chaMc.preBallMc.gotoAndStop(chaMc.selBallNum);
chaMc.preBallMc.m.gotoAndStop(4);
chaMc.preBallMc.m.itemMc.gotoAndStop(4);
chaMc.preBallMc.m.bgMc.gotoAndStop(chaMc.selBallNum);
snd_attach("useItem_snd");
}
};
flyItem = function (x, y) {
var _local3 = flyItemMc.getNextHighestDepth();
var _local2 = flyItemMc.attachMovie(("flyItem" + num) + "Mc", "flyItem" + _local3, _local3);
_local2._x = x;
_local2._y = y;
var _local4 = (Math.PI/180) * (-(random(45) + 90));
_local2.ax = Math.cos(_local4) * 20;
_local2.ay = Math.sin(_local4) * 20;
_local2.ty = (_local2._y + random(100)) + 200;
_local2.onEnterFrame = function () {
this._x = this._x + this.ax;
this._y = this._y + this.ay;
this.ay = this.ay + 2;
if (this._y >= this.ty) {
delete_item(this);
}
};
};
expireItem = function (num) {
if (num == 1) {
clearInterval(item1_interval);
guideMc._visible = false;
var _local2 = 0;
while (_local2 < itemAry.length) {
if (itemAry[_local2] == 1) {
itemAry.splice(_local2, 1);
break;
}
_local2++;
}
} else if (num == 2) {
clearInterval(item2_interval);
powerDivide = powerDivideRef;
rotateAng = rotateAngRef;
if (mode != "mix") {
speedControl("none");
}
} else if (num == 3) {
clearInterval(item3_interval);
if (gamePlay && (!gamePauseChk)) {
movedSet();
ballMove(true);
}
trace("explose lock !");
} else if (num == 4) {
clearInterval(item4_interval);
}
_root[("item" + num) + "Chk"] = undefined;
_root[("item" + num) + "GetChk"] = undefined;
var _local4 = new Object();
_local4.x = uiMc.itemMc[("item" + num) + "Mc"]._x;
_local4.y = uiMc.itemMc[("item" + num) + "Mc"]._y;
uiMc.itemMc[("item" + num) + "Mc"].localToGlobal(piont);
flyItem(_local4.x, _local4.y);
uiMc.itemMc[("item" + num) + "Mc"].gotoAndStop(1);
uiMc.itemMc[("item" + num) + "Mc"].frameMc.gotoAndStop(1);
_root[("item" + num) + "Chk"] = undefined;
snd_attach("itemExpire_snd");
};
createItem = function () {
if ((level >= 2) && (itemLimitNum > 0)) {
if (random(level) == 0) {
var _local4 = random(moveBallAry.length);
var _local1 = ballMc["b" + moveBallAry[_local4]];
if (_local1.itemNum) {
return(undefined);
}
var _local3 = levelItemAry[level - 1];
var _local2 = _local3[random(_local3.length)];
itemLimitNum--;
_local1.m.gotoAndStop(4);
_local1.m.itemMc.gotoAndStop(_local2);
_local1.m.bgMc.gotoAndStop(_local1.num);
_local1._rotation = 0;
_local1.itemNum = _local2;
itemViewAry.push(_local2);
snd_attach("createItem_snd");
}
}
};
createEffect = function (num, tmc) {
clearInterval(tmc.effectInterval);
if (num == 5) {
tmc._visible = true;
tmc.gotoAndPlay("viewFrame");
trace("effect");
}
};
assignNextBall = function (chk) {
if ((chk == "chk") && (moveBallAry.length > 7)) {
return(undefined);
}
if (moveBallAry.length > 7) {
chaMc.selBallNum = random(selBallNum) + 1;
} else {
var _local1 = random(moveBallAry.length);
chaMc.selBallNum = ballMc["b" + moveBallAry[_local1]].num;
}
chaMc.selBallType = random(3) + 1;
chaMc.preBallMc.gotoAndStop(chaMc.selBallNum);
chaMc.preBallMc.m.gotoAndStop(chaMc.selBallType);
};
leadSet = function (mc, power) {
mc.lead = true;
var _local2 = mc.posAry[mc.posAry.length - 1];
mc.assignX = _local2.x;
mc.assignY = _local2.y;
mc.cNum = _local2.cNum;
if (power == undefined) {
mc.power = movePower;
} else {
mc.power = power;
}
var _local3 = bgMc["p" + (_local2.cNum + 1)];
var _local6 = _local3._x - _local2.x;
var _local5 = _local3._y - _local2.y;
var _local4 = Math.atan2(_local5, _local6);
mc.ax = Math.cos(_local4) * mc.power;
mc.ay = Math.sin(_local4) * mc.power;
};
saveScore = function () {
var _local3 = new LoadVars();
_local3.f_score = score;
_local3.f_kind = 1;
var _local4 = "/data/flash/GetUserID.asp?ran=" + (Math.random() * 10000);
_local3.onLoad = function (success) {
if (success) {
if (Number(this.myid) == 0) {
_root.gotoAndStop("notLogin_frame");
Selection.setFocus("id_txt");
} else {
view_rank(this);
}
} else {
getURL ("javascript:rankingPrompt()");
}
};
_local3.sendAndLoad(_local4, _local3, "post");
};
login_exec = function () {
var _local3 = new LoadVars();
var _local4 = "/data/flash/userLogin.asp";
_local3.onLoad = function (success) {
if (success) {
if (chkData(this.myid)) {
view_rank(this);
} else {
_root.gotoAndStop("badLogin_frame");
Selection.setFocus("id_txt");
}
} else {
alert("error data ! ");
}
};
_local3.f_id = id_txt.text;
_local3.f_pwd = pass_txt.text;
_local3.f_score = score;
_local3.f_kind = 1;
_local3.sendAndLoad(_local4, _local3, "post");
};
chkData = function (str) {
var _local1;
(((String(str).length > 0) && (str != undefined)) ? (_local1 = true) : (_local1 = false));
return(_local1);
};
view_rank = function (load_var) {
_root.gotoAndStop("ranking_frame");
myid = load_var.myid;
var _local5 = false;
var _local2 = 1;
while (_local2 <= 10) {
if (chkData(load_var["member_nick" + _local2])) {
var _local3 = _root["field" + _local2];
_local3.num_txt.text = _local2;
_local3.nick_txt.text = load_var["member_nick" + _local2];
_local3.score_txt.text = load_var["member_score" + _local2];
_local3.date_txt.text = load_var["member_date" + _local2];
if (myid == load_var["member_id" + _local2]) {
_local3.gotoAndStop("active_frame");
_local5 = true;
} else {
_local3.gotoAndStop(1);
}
}
_local2++;
}
if (!_local5) {
myfield._visible = true;
myfield.num_txt.text = load_var.myrank;
myfield.nick_txt.text = load_var.mynick;
myfield.score_txt.text = load_var.myscore;
myfield.date_txt.text = load_var.mydate;
myfield.gotoAndStop("active_frame");
} else {
myfield._visible = false;
}
};
_global.delete_item = function (mc) {
if (typeof(mc) == "movieclip") {
for (var _local2 in mc) {
delete_item(mc[_local2]);
}
removeMovieClip(mc);
} else {
}
};
clearAllInterval = function () {
var _local2 = setInterval(function () {
}, 100);
var _local1 = 0;
while (_local1 <= _local2) {
clearInterval(_local1);
_local1++;
}
};
_global.snd_attach = function (name, loop) {
if (snd_chk != false) {
if (loop == undefined) {
eval (name).start();
} else if (typeof(loop) == "number") {
eval (name).start(0, loop);
} else {
eval (name).start(0, 100000);
}
}
};
_global.snd_stop = function (name) {
eval (name).stop(name);
};
smoothMove = function (mc, tx, ty, sp) {
var _local3 = tx - mc._x;
var _local2 = ty - mc._y;
mc._x = mc._x + (_local3 * sp);
mc._y = mc._y + (_local2 * sp);
};
scoreCul = function (addScore) {
if (typeof(addScore) == "number") {
score = score + addScore;
} else {
if (addScore == "success") {
scoreMc.addScore = 50;
var _local3 = (getTimer() - startTime) / 1000;
var _local2 = Math.floor((60 / _local3) * 300);
scoreMc.tScore = (score + 200) + _local2;
} else if (addScore == "fail") {
scoreMc.addScore = -50;
scoreMc.tScore = score - 200;
(scoreMc.tScore < 0) && ((scoreMc.tScore = 0));
}
scoreMc.onEnterFrame = function () {
if (Math.abs(this.tScore - score) < Math.abs(this.addScore)) {
score = this.tScore;
delete this.onEnterFrame;
trace("end Score");
} else {
score = score + this.addScore;
}
};
}
};
order = function (a, b) {
return(a - b);
};
alert = function (str) {
getURL (("javascript:alert (\"" + str) + "\");");
};
myListener = new Object();
keyUp = true;
myListener.onKeyDown = function () {
if (keyUp) {
if (gamePlay) {
if (Key.isDown(32)) {
}
if (Key.isDown(49)) {
itemControl("use", 1);
}
if (Key.isDown(50)) {
itemControl("use", 2);
}
if (Key.isDown(51)) {
itemControl("use", 3);
}
if (Key.isDown(52)) {
itemControl("use", 4);
}
if (Key.isDown(53)) {
itemControl("use", 5);
}
if (Key.isDown(54)) {
itemControl("use", 6);
}
}
if (Key.isDown(16)) {
}
keyUp = false;
}
};
myListener.onKeyUp = function () {
keyUp = true;
};
Key.addListener(myListener);
Instance of Symbol 256 MovieClip in Frame 1
onClipEvent (load) {
this.mask_mc._xscale = 0;
if (_root.getBytesLoaded() == _root.getBytesTotal()) {
_root.play();
} else {
_root.stop();
}
}
onClipEvent (enterFrame) {
var loaded = _root.getBytesLoaded();
var total = _root.getBytesTotal();
percent = (loaded / total) * 100;
this.percent_txt.text = (Math.floor(percent * 10) / 10) + "%";
this.mask_mc._xscale = percent;
if (percent >= 100) {
_root.play();
}
}
Frame 2
stop();
Instance of Symbol 120 MovieClip in Frame 2
onClipEvent (load) {
this.gotoAndStop(2);
}
Instance of Symbol 125 MovieClip in Frame 2
onClipEvent (load) {
this.gotoAndStop(2);
}
Instance of Symbol 130 MovieClip in Frame 2
onClipEvent (load) {
this.gotoAndStop(2);
}
Instance of Symbol 135 MovieClip in Frame 2
onClipEvent (load) {
this.gotoAndStop(2);
}
Instance of Symbol 140 MovieClip in Frame 2
onClipEvent (load) {
this.gotoAndStop(2);
}
Instance of Symbol 145 MovieClip in Frame 2
onClipEvent (load) {
this.gotoAndStop(2);
}
Frame 9
snd_stop("intro_snd");
Frame 18
System.useCodepage = true;
with (Stage) {
showMenu = false;
scaleMode = "noScale";
}
snd_chk = true;
snd_ary = ["click1_snd", "click2_snd", "rolling_snd", "ballBomb_snd", "wind_snd", "shoot_snd", "otherHit_snd", "explose1_snd", "explose2_snd", "explose3_snd", "error_snd", "bg_snd", "bg2_snd", "weapon1_snd", "intro_snd", "fail_snd", "success_snd", "reverseHit1_snd", "reverseHit2_snd ", "reverseHit3_snd", "reverseStart_snd", "useItem_snd", "getItem_snd", "itemExpire_snd", "gameStart_snd", "successBg_snd", "failBg_snd", "createItem_snd", "evil1_snd", "evil2_snd", "evil3_snd", "laugh_snd"];
var i = 0;
while (i < snd_ary.length) {
var snd_str = snd_ary[i];
this[snd_str] = new Sound(this);
this[snd_str].attachSound(snd_str);
i++;
}
gameInit = function () {
level = 1;
lifeRef = 3;
anchorAry = [35, 39, 32, 35, 31, 36, 39, 35, 30];
selBallAry = [3, 4, 4, 4, 4, 4, 4, 4, 4];
ballNumAry = [35, 40, 45, 50, 55, 60, 65, 70, 75];
chaPosAry = [{x:413, y:294}, {x:187, y:268}, {x:363, y:297}, {x:273, y:250}, {x:250, y:324}, {x:340, y:254}, {x:500, y:252}, {x:375, y:246}, {x:323, y:345}];
levelItemAry = new Array();
levelItemAry[1] = [1, 2];
levelItemAry[2] = [1, 2, 3, 4, 4];
levelItemAry[3] = [1, 2, 3, 4, 4];
levelItemAry[4] = [1, 2, 3, 4, 4];
levelItemAry[5] = [1, 2, 3, 4, 4, 4, 5];
levelItemAry[6] = [3, 4, 4, 4, 5, 5, 6];
levelItemAry[7] = [3, 3, 4, 4, 4, 4, 4, 5, 5, 6];
levelItemAry[8] = [3, 3, 4, 4, 4, 5, 5, 5];
itemLimitAry = [0, 5, 4, 4, 3, 3, 3, 3, 3];
itemPosAry = [{x:473, y:473}, {x:514, y:473}, {x:555, y:473}, {x:595, y:473}, {x:635, y:473}, {x:675, y:473}];
holeMcPosAry = [{x:283, y:190}, {x:93, y:335}, {x:557, y:223}, {x:334, y:325}, {x:382, y:368}, {x:327, y:175}, {x:592, y:158}, {x:540, y:284}, {x:570, y:153}];
powerDivideAry = [28, 26, 24, 22, 20, 18, 18, 16, 16];
ballWidth = 40;
this.createEmptyMovieClip("shootMc", 2);
this.createEmptyMovieClip("flyItemMc", 20);
this.createEmptyMovieClip("effectMc", 23);
this.attachMovie("holeMc", "holeMc", 3);
this.createEmptyMovieClip("scoreMc", 30);
uiMc.swapDepths(10);
guideMc.swapDepths(4);
Mouse.removeListener(wheelListener);
gameStart();
};
gameStart = function () {
_quality = "medium";
life = lifeRef;
score = 0;
setStage();
uiMc._visible = true;
snd_stop("intro_snd");
snd_stop("successBg_snd");
snd_stop("failBg_snd");
bgSoundControl(true);
};
setStage = function () {
mode = "normal";
powerDivide = 2;
movePower = ballWidth / powerDivide;
powerDivideRef = powerDivideAry[level - 1];
startTime = getTimer();
gamePlay = false;
gamePauseChk = undefined;
shootChk = undefined;
delete mixBallNum;
bombNum = 0;
mixPowerDivide = 5;
mixMovePower = ballWidth / mixPowerDivide;
var _local7 = 1;
while (_local7 <= 6) {
_root[("item" + _local7) + "Chk"] = (_root[("item" + _local7) + "GetChk"] = undefined);
_local7++;
}
itemAry = new Array();
itemViewAry = new Array();
_local7 = 1;
while (_local7 <= 6) {
uiMc.itemMc[("item" + _local7) + "Mc"].gotoAndStop(1);
uiMc.itemMc[("item" + _local7) + "Mc"].frameMc.gotoAndStop(1);
_local7++;
}
itemLimitNum = itemLimitAry[level - 1];
rotateAngRef = 3;
rotateAng = rotateAngRef;
ballNum = ballNumAry[level - 1];
anchorNum = anchorAry[level - 1];
selBallNum = selBallAry[level - 1];
shootPower = 27 + Math.min(level, 6);
setLife();
var _local6 = holeMcPosAry[level - 1];
holeMc._x = _local6.x;
holeMc._y = _local6.y;
assignNextBall();
chaMc.selBallNum = random(selBallNum) + 1;
chaMc.selBallType = random(3) + 1;
chaMc.preBallMc.gotoAndStop(chaMc.selBallNum);
chaMc.preBallMc.m.gotoAndStop(chaMc.selBallType);
guideMc._visible = false;
_local6 = chaPosAry[level - 1];
chaMc._x = _local6.x;
chaMc._y = _local6.y;
bgMc.gotoAndStop(level);
_local7 = 1;
while (_local7 <= anchorNum) {
bgMc["p" + _local7]._visible = false;
_local7++;
}
btnEnabled(false);
if (ballMc) {
delete_item(ballMc);
}
this.createEmptyMovieClip("ballMc", 1);
ballMc.sx = bgMc.p1._x;
ballMc.sy = bgMc.p1._y;
ballMc.moved = undefined;
moveBallAry = new Array();
_local7 = 1;
while (_local7 <= ballNum) {
var _local3 = ballMc.attachMovie("ballMc", "b" + _local7, _local7);
_local3._x = ballMc.sx;
_local3._y = ballMc.sy;
_local3.num = random(selBallNum) + 1;
_local3.gotoAndStop(_local3.num);
_local3.m.gotoAndStop(random(3) + 1);
if (_local7 == 1) {
var _local8 = bgMc.p2._y - bgMc.p1._y;
var _local9 = bgMc.p2._x - bgMc.p1._x;
var ang = Math.atan2(_local8, _local9);
_local3.cNum = 1;
_local3.ax = Math.cos(ang) * movePower;
_local3.ay = Math.sin(ang) * movePower;
_local3.assignX = _local3._x;
_local3.assignY = _local3._y;
} else {
var ang = Math.PI;
_local3.cNum = 0;
}
_local3.posAry = new Array();
var _local4 = 0;
while (_local4 <= powerDivide) {
_local6 = new Object();
_local3.posAry.unshift(_local6);
_local4++;
}
moveBallAry.push(_local7);
_local7++;
}
ballMc.b1.lead = true;
ballMc.b1.power = movePower;
ballMc["b" + ballNum].followed = true;
chaMc.initx = chaMc._x;
chaMc.inity = chaMc._y;
chaMc._rotation = -90;
chaMc.onMouseMove = function () {
if (gamePlay) {
var _local2 = _ymouse - this._y;
var _local3 = _xmouse - this._x;
this.ang = (Math.atan2(_local2, _local3) * 180) / Math.PI;
this._rotation = this.ang;
if (guideMc._visible) {
guideMc._rotation = this.ang;
}
}
};
chaMc.onMouseDown = function () {
if ((!shootChk) && (gamePlay)) {
if (!uiMc.hitMc.hitTest(_root._xmouse, _root._ymouse, true)) {
chaMc.gotoAndPlay(2);
}
}
};
_local7 = 1;
while (_local7 <= 6) {
var _local5 = uiMc.itemMc[("item" + _local7) + "Mc"];
_local5.num = _local7;
_local5.onPress = function () {
itemControl("use", this.num);
};
_local5.onRollOver = function () {
snd_attach("click1_snd");
};
_local5.enabled = false;
_local7++;
}
ballMove(true);
snd_attach("gameStart_snd");
snd_attach("rolling_snd", "loop");
snd_stop("fail_snd");
snd_stop("success_snd");
};
gameOut = function (flag) {
gamePlay = false;
clearAllInterval();
if (flag) {
if (level >= 9) {
gameOver(true);
} else {
scoreCul("success");
levelClearView(true);
snd_attach("success_snd");
}
} else if (life > 0) {
scoreCul("fail");
levelClearView(false);
snd_attach("fail_snd");
} else {
gameOver(false);
}
};
gameOver = function (flag) {
_quality = "high";
if (flag) {
_root.gotoAndStop("successFrame");
snd_attach("successBg_snd", "loop");
snd_stop("bg_snd");
snd_stop("bg2_snd");
} else {
_root.gotoAndStop("failFrame");
snd_attach("failBg_snd", "loop");
snd_stop("bg_snd");
}
holeMc._x = 600;
holeMc._y = 364;
uiMc._visible = false;
};
gameRestart = function () {
_root.gotoAndStop("restartFrame");
level = 1;
gameStart();
};
gamePause = function (flag) {
gamePlay = !flag;
gamePauseChk = flag;
btnEnabled(!flag);
if (!flag) {
uiMc.pauseBtnMc.m.gotoAndStop(1);
}
};
gameExit = function () {
getURL ("javascript:closeWindow()");
};
levelClearView = function (flag) {
var _local3 = _root.attachMovie("levelClearViewMc", "levelClearViewMc", 100);
if (flag) {
_local3.gotoAndStop("success");
} else {
_local3.gotoAndStop("fail");
}
_local3.tx = 370;
_local3.ty = 250;
_local3._x = _local3.tx;
_local3._y = -80;
_local3._alpha = 10;
_local3.onEnterFrame = function () {
if (this._alpha < 100) {
this._alpha = this._alpha + 5;
}
smoothMove(this, this.tx, this.ty, 0.3);
if (((this._alpha >= 100) && (Math.abs(this.tx - this._x) < 1)) && (Math.abs(this.ty - this._y) < 1)) {
delete this.onEnterFrame;
this._x = this.tx;
this._y = this.ty;
this.ok_btn.onPress = function () {
if (flag) {
nextStage();
} else {
setStage();
}
this._parent.tx = this._parent._x;
this._parent.ty = -100;
this._parent.onEnterFrame = function () {
smoothMove(this, this.tx, this.ty, 0.4);
if (Math.abs(this.ty - this._y) < 1) {
delete_item(this);
}
};
snd_attach("wind_snd");
snd_attach("click2_snd");
};
}
};
_local3.onk_btn.onRollOver = function () {
snd_attach("click1_snd");
};
snd_attach("wind_snd");
};
nextStage = function () {
level++;
setStage();
if (level == 5) {
bgSoundControl(false);
bgSoundControl(true);
}
};
ballMove = function (flag) {
if (flag) {
clearInterval(ballMove_interval);
ballMc.onEnterFrame = function () {
ballMc.moved = true;
moveControl();
};
} else {
(ballMc.moved = undefined);
delete ballMc.onEnterFrame;
}
};
moveControl = function () {
if (!gamePauseChk) {
var _local2 = 0;
while (_local2 < moveBallAry.length) {
var _local1 = ballMc["b" + moveBallAry[_local2]];
if ((((mode == "mix") && (_local2 == mixBallNum)) || ((_local1.moved == "stop") && (!_local1.mixMoved))) || (item3Chk && (_local2 > mixBallNum))) {
} else if ((_local1.lead && (!_local1.reverseMoved)) || (_local1.followed && (_local1.reverseMoved))) {
var _local11 = (_local1.reverseMoved ? (ballMc["b" + moveBallAry[_local2 + 1]]) : (ballMc["b" + moveBallAry[_local2 - 1]]));
if ((returnDistance(_local11, _local1) < ballWidth) && (!((mode == "mix") && ((_local2 - 1) == mixBallNum)))) {
if (_local1.reverseMoved) {
var _local8 = _local2 + 1;
} else {
var _local8 = _local2;
}
groupBomb(_local8);
return(undefined);
}
var _local4 = _local1.posAry[_local1.posAry.length - 1];
var _local6 = (_local1.reverseMoved ? (bgMc["p" + _local4.cNum]) : (bgMc["p" + (_local4.cNum + 1)]));
var _local10 = _local6._x - _local4.x;
var _local9 = _local6._y - _local4.y;
if (Math.sqrt((_local10 * _local10) + (_local9 * _local9)) < _local1.power) {
(_local1.reverseMoved ? (_local1.cNum--) : (_local1.cNum++));
if ((!gamePlay) && (_local1.cNum == 6)) {
var _local12 = true;
}
if (_local1.cNum >= (anchorNum - 1)) {
hollIn();
return(undefined);
}
var _local5 = (_local1.reverseMoved ? (bgMc["p" + _local1.cNum]) : (bgMc["p" + (_local1.cNum + 1)]));
_local9 = _local5._y - _local1._y;
_local10 = _local5._x - _local1._x;
var _local7 = Math.atan2(_local9, _local10);
_local1.ax = Math.cos(_local7) * _local1.power;
_local1.ay = Math.sin(_local7) * _local1.power;
}
_local1.assignX = _local1.assignX + _local1.ax;
_local1.assignY = _local1.assignY + _local1.ay;
(_local1._x = _local1.assignX);
(_local1._y = _local1.assignY);
var _local3 = {x:_local1.assignX, y:_local1.assignY, cNum:_local1.cNum};
_local1.posAry.shift();
_local1.posAry.push(_local3);
} else {
var _local3 = (_local1.reverseMoved ? (ballMc["b" + moveBallAry[_local2 + 1]].posAry[1]) : (ballMc["b" + moveBallAry[_local2 - 1]].posAry[0]));
_local1.posAry.shift();
_local1.posAry.push(_local3);
_local1._x = _local3.x;
_local1._y = _local3.y;
_local1.cNum = _local3.cNum;
}
_local2++;
}
if (_local12) {
reduceSpeed();
}
}
};
reduceSpeed = function () {
clearInterval(reduceSpeedInterval);
reduceSpeedInterval = setInterval(reduceSpeed_f, 100);
};
reduceSpeed_f = function () {
powerDivide = powerDivide + 8;
var _local1 = -5.55555555555556;
var _local2 = 100 - (2 * _local1);
var _local3 = (_local1 * powerDivide) + _local2;
rolling_snd.setVolume(_local3);
if (powerDivide >= powerDivideRef) {
clearInterval(reduceSpeedInterval);
gamePlay = true;
powerDivide = powerDivideRef;
btnEnabled(true);
snd_stop("rolling_snd");
rolling_snd.setVolume(100);
}
speedControl("none");
};
shoot = function () {
shootChk = true;
var _local6 = _ymouse - chaMc._y;
var _local7 = _xmouse - chaMc._x;
var _local4 = Math.atan2(_local6, _local7);
var ax = (Math.cos(_local4) * shootPower);
var ay = (Math.sin(_local4) * shootPower);
bombNum = 0;
var _local5 = shootMc.getNextHighestDepth();
var _local3 = shootMc.attachMovie("ballMc", "b" + _local5, _local5);
_local3._x = chaMc._x + (Math.cos(_local4) * 20);
_local3._y = chaMc._y + (Math.sin(_local4) * 20);
_local3.ax = ax;
_local3.ay = ay;
_local3.num = chaMc.selBallNum;
_local3.selBallType = chaMc.selBallType;
_local3.gotoAndStop(chaMc.selBallNum);
_local3.m.gotoAndStop(_local3.selBallType);
if ((item4Chk || (item5Chk)) || (item6Chk)) {
_local3.m.gotoAndStop(4);
if (item4Chk) {
var _local8 = 4;
} else if (item5Chk) {
var _local8 = 5;
} else if (item6Chk) {
var _local8 = 6;
}
_local3.m.itemMc.gotoAndStop(_local8);
_local3.m.bgMc.gotoAndStop(chaMc.selBallNum);
}
_local3.onEnterFrame = function () {
this._x = this._x + this.ax;
this._y = this._y + this.ay;
if (!hitChk(this)) {
if ((((this._x > (700 + (this._width / 2))) || (this._x < ((-this._width) / 2))) || (this._y > (500 + (this._height / 2)))) || (this._y < ((-this._height) / 2))) {
delete_item(this);
shoot_f();
if (_root.item4Chk) {
uiMc.itemMc.item4Mc.gotoAndStop(1);
uiMc.itemMc.item4Mc.frameMc.gotoAndStop(1);
_root.item4Chk = (_root.item4GetChk = undefined);
}
if (_root.item5Chk) {
uiMc.itemMc.item5Mc.gotoAndStop(1);
uiMc.itemMc.item5Mc.frameMc.gotoAndStop(1);
_root.item5Chk = (_root.item5GetChk = undefined);
}
if (_root.item6Chk) {
uiMc.itemMc.item6Mc.gotoAndStop(1);
uiMc.itemMc.item6Mc.frameMc.gotoAndStop(1);
_root.item6Chk = (_root.item6GetChk = undefined);
}
}
}
};
assignNextBall();
snd_attach("wind_snd");
snd_attach("shoot_snd");
};
shoot_f = function () {
clearInterval(shoot_interval);
shootChk = undefined;
};
hollIn = function () {
var _local3 = ballMc["b" + moveBallAry[0]];
_local3.lead = undefined;
var _local4 = ballMc["b" + moveBallAry[1]];
leadSet(_local4);
moveBallAry.splice(0, 1);
delete_item(_local3);
if (gamePlay) {
gamePlay = false;
chaDie();
powerDivide = 2;
movePower = ballWidth / powerDivide;
if (mode == "mix") {
mode = undefined;
var _local1 = mixBallMc;
_local1.posAry = new Array();
_local1.posAry = _local1.targetPosAry.concat();
delete _local1.targetPosAry;
var _local2 = _local1.posAry[_local1.posAry.length - 1];
_local1._x = _local2.x;
_local1._y = _local2.y;
_local1.cNum = _local2.cNum;
delete _local1.onEnterFrame;
delete mixBallNum;
_local1.swapDepths(_local1.depthNum);
trace("bmc=" + _local1);
}
speedControl("none");
setPosition();
}
if (!ballMc.moved) {
ballMove(true);
}
if (moveBallAry.length == 0) {
clearInterval(gameOut_interval);
gameOut_interval = setInterval(gameOut, 1000, false);
ballMove(false);
snd_stop("rolling_snd");
}
};
chaDie = function () {
trace("die");
life--;
setLife();
for (var _local1 in shootMc) {
if (typeof(shootMc[_local1]) == "movieclip") {
delete_item(shootMc[_local1]);
}
}
snd_attach("rolling_snd", "loop");
snd_attach("laugh_snd");
};
hitChk = function (bmc) {
var _local2 = 0;
while (_local2 < moveBallAry.length) {
var _local1 = ballMc["b" + moveBallAry[_local2]];
if (_local1.cNum > 0) {
var _local4 = returnDistance(bmc, _local1);
if (_local4 < ballWidth) {
delete bmc.onEnterFrame;
ballReposition(bmc, _local1);
snd_attach("ballBomb_snd");
return(true);
}
}
_local2++;
}
};
ballReposition = function (bmc, tmc) {
mode = "mix";
ballMove(false);
var _local3 = 0;
while (_local3 < moveBallAry.length) {
if (tmc == ballMc["b" + moveBallAry[_local3]]) {
var tnum = _local3;
break;
}
_local3++;
}
powerDivideNum = mixPowerDivide;
var _local5 = nearChk(bmc, tmc, tnum);
ballNum++;
moveBallAry.splice(_local5.tnum, 0, ballNum);
var _local2 = ballMc.attachMovie("ballMc", "b" + ballNum, ballNum);
_local2._x = bmc._x;
_local2._y = bmc._y;
_local2.gotoAndStop(bmc.num);
_local2.num = bmc.num;
_local2.cNum = _local5.cNum;
_local2._rotation = bmc._rotation;
_local2.lead = bmc.lead;
_local2.followed = bmc.followed;
_local2.tnum = _local5.tnum;
_local2.tx = _local5.x;
_local2.ty = _local5.y;
_local2.posAry = new Array();
_local2.posAry.push(_local5);
_local2.targetPosAry = _local2.posAry.concat();
_local2.assignX = _local2.tx;
_local2.assignY = _local2.ty;
_local2.selBallType = bmc.selBallType;
if ((item4Chk || (item5Chk)) || (item6Chk)) {
_local2.m.gotoAndStop(4);
if (item4Chk) {
var _local12 = 4;
} else if (item5Chk) {
var _local12 = 5;
} else if (item6Chk) {
var _local12 = 6;
}
_local2.m.itemMc.gotoAndStop(_local12);
_local2.m.bgMc.gotoAndStop(_local2.num);
} else {
_local2.m.gotoAndStop(_local2.selBallType);
}
mixBallNum = _local2.tnum;
mixBallMc = _local2;
_local2.depthNum = bmc.getDepth();
delete_item(bmc);
if (!_local2.followed) {
movedSet(_local2.tnum);
mixSpeedControl(_local2.tnum);
} else {
speedControl();
}
var _local8 = _local2.tx - _local2._x;
var _local7 = _local2.ty - _local2._y;
var _local10 = Math.atan2(_local7, _local8);
var _local11 = Math.sqrt((_local8 * _local8) + (_local7 * _local7));
_local2.power = _local11 / mixPowerDivide;
_local2.ax = Math.cos(_local10) * _local2.power;
_local2.ay = Math.sin(_local10) * _local2.power;
_local2.onEnterFrame = function () {
moveControl();
if (!gamePlay) {
return(undefined);
}
this._x = this._x + this.ax;
this._y = this._y + this.ay;
this._rotation = this._rotation - 20;
this.posAry.shift();
this.posAry.push("s");
powerDivideNum--;
if (powerDivideNum == 0) {
execMode("normal");
this._x = this.tx;
this._y = this.ty;
this.posAry = new Array();
this.posAry = this.targetPosAry.concat();
delete this.targetPosAry;
this.swapDepths(this.depthNum);
delete this.onEnterFrame;
if (this.cNum >= (anchorNum - 1)) {
hollIn();
return(undefined);
}
movedSet();
speedControl("none");
setPosition();
delete mixBallNum;
if (ballSameChk(this.tnum)) {
bombBall();
} else {
if (!item3Chk) {
ballMove(true);
}
createItem();
shoot_f();
}
} else if (this.followed && (ballMc["b" + moveBallAry[this.tnum + 1]])) {
var _local3 = ballMc["b" + moveBallAry[this.tnum + 1]];
if (returnDistance(this, _local3) < ballWidth) {
hitAfter(this, _local3);
}
} else if (this.lead && (this.tnum > 0)) {
var _local2 = ballMc["b" + moveBallAry[this.tnum - 1]];
var _local3 = ballMc["b" + moveBallAry[this.tnum + 1]];
if (returnDistance(this, _local2) < ballWidth) {
hitBefore(this, _local2);
}
}
};
};
hitAfter = function (bmc, fmc) {
trace("\uB4B7\uBCFC \uCDA9\uB3CC !");
bmc.followed = undefined;
fmc.lead = undefined;
movedSet(mixBallNum);
var _local8 = returnNextPos(fmc, "pre", 1);
bmc.tx = _local8.x;
bmc.ty = _local8.y;
bmc.cNum = _local8.cNum;
bmc.posAry.push(_local8);
bmc.assignX = bmc.tx;
bmc.assignY = bmc.ty;
var _local7 = bmc.tx - bmc._x;
var _local6 = bmc.ty - bmc._y;
var _local12 = Math.atan2(_local6, _local7);
var _local14 = Math.sqrt((_local7 * _local7) + (_local6 * _local6));
bmc.movePower = _local14 / powerDivideNum;
bmc.ax = Math.cos(_local12) * bmc.movePower;
bmc.ay = Math.sin(_local12) * bmc.movePower;
_local8 = returnNextPos(fmc, "pre", 2);
var _local9 = ballMc["b" + moveBallAry[mixBallNum - 1]];
_local7 = _local8.x - _local9._x;
_local6 = _local8.y - _local9._y;
var _local15 = Math.sqrt((_local7 * _local7) + (_local6 * _local6));
var _local5 = _local15 / powerDivideNum;
var _local1 = mixBallNum - 1;
while (_local1 >= 0) {
if (ballMc["b" + moveBallAry[_local1]].lead) {
var _local3 = _local1;
break;
}
_local1--;
}
var _local13 = mixBallNum - 1;
var _local4 = ballMc["b" + moveBallAry[_local3]];
var _local16 = _local4.cNum;
var _local10 = bgMc["p" + (_local16 + 1)];
_local12 = Math.atan2(_local10._y - _local4._y, _local10._x - _local4._x);
_local4.ax = Math.cos(_local12) * _local5;
_local4.ay = Math.sin(_local12) * _local5;
_local4.power = _local5;
bmc.pMovePower = _local5;
makeAry(_local3, _local13, _local5, powerDivideNum);
if (fmc.moved != "stop") {
var _local17 = movePower;
} else {
var _local17 = 0;
}
makeAry(mixBallNum, mixBallNum, _local17, powerDivideNum);
};
hitBefore = function (bmc, pMc) {
trace("\uC55E\uBCFC \uCDA9\uB3CC !");
bmc.lead = undefined;
pMc.followed = undefined;
movedSet(mixBallNum);
var _local11 = ballMc["b" + moveBallAry[mixBallNum + 1]];
var _local4 = 0;
var _local2 = mixBallNum;
while (_local2 >= 0) {
_local4++;
if (ballMc["b" + moveBallAry[_local2]] == pMc) {
break;
}
_local2--;
}
var _local10 = returnNextPos(_local11, "pre", _local4);
var _local9 = _local10.x - pMc._x;
var _local8 = _local10.y - pMc._y;
var _local15 = Math.sqrt((_local9 * _local9) + (_local8 * _local8));
var _local7 = _local15 / powerDivideNum;
var _local1 = mixBallNum;
while (_local1 >= 0) {
if (ballMc["b" + moveBallAry[_local1]].lead) {
var _local3 = _local1;
break;
}
_local1--;
}
var _local14 = mixBallNum - 1;
var _local5 = ballMc["b" + moveBallAry[_local3]];
var _local16 = _local5.cNum;
var _local12 = bgMc["p" + (_local16 + 1)];
var _local13 = Math.atan2(_local12._y - _local5._y, _local12._x - _local5._x);
_local5.ax = Math.cos(_local13) * _local7;
_local5.ay = Math.sin(_local13) * _local7;
_local5.power = _local7;
trace("sMc=" + _local5);
makeAry(_local3, _local14, _local7, powerDivideNum);
if (_local11.moved != "stop") {
var _local17 = movePower;
} else {
var _local17 = 0;
}
makeAry(mixBallNum, mixBallNum, _local17, powerDivideNum);
};
makeAry = function (startNum, endNum, pMovePower, divideNum) {
var _local14 = startNum;
while (_local14 <= endNum) {
var _local11 = ballMc["b" + moveBallAry[_local14]];
var _local15 = ballMc["b" + moveBallAry[_local14 + 1]];
if (_local11.lead) {
_local11.power = pMovePower;
}
var _local2 = _local15._x;
var _local1 = _local15._y;
var _local3 = _local15.cNum;
var _local4 = new Object();
_local4.x = _local2;
_local4.y = _local1;
_local4.cNum = _local3;
var _local8 = bgMc["p" + (_local3 + 1)];
var _local10 = Math.atan2(_local8._y - _local1, _local8._x - _local2);
var _local13 = Math.cos(_local10) * pMovePower;
var _local12 = Math.sin(_local10) * pMovePower;
_local11.posAry = new Array();
var _local9 = 0;
while (_local9 <= divideNum) {
_local11.posAry.push(_local4);
var _local7 = _local8._x - _local2;
var _local6 = _local8._y - _local1;
if (Math.sqrt((_local7 * _local7) + (_local6 * _local6)) < pMovePower) {
_local3++;
if (_local3 > (anchorNum - 1)) {
_local12 = 0;
_local13 = _local12;
} else {
_local8 = bgMc["p" + (_local3 + 1)];
_local10 = Math.atan2(_local8._y - _local1, _local8._x - _local2);
_local13 = Math.cos(_local10) * pMovePower;
_local12 = Math.sin(_local10) * pMovePower;
}
}
_local2 = _local2 + _local13;
_local1 = _local1 + _local12;
_local4 = new Object();
_local4.x = _local2;
_local4.y = _local1;
_local4.cNum = _local3;
_local9++;
}
_local14++;
}
};
returnNextPos = function (mc, str, num, addValChk) {
var _local3 = mc._x;
var _local2 = mc._y;
var _local1 = mc.cNum;
if (str == "next") {
var _local6 = bgMc["p" + _local1];
} else if (str == "pre") {
if (_local1 == anchorNum) {
var _local6 = bgMc["p" + _local1];
} else {
var _local6 = bgMc["p" + (_local1 + 1)];
}
}
var _local9 = _local6._y - _local2;
var _local10 = _local6._x - _local3;
var _local8 = Math.atan2(_local6._y - _local2, _local6._x - _local3);
var _local12 = Math.cos(_local8) * movePower;
var _local11 = Math.sin(_local8) * movePower;
var _local5 = 1;
while (_local5 <= num) {
var _local7 = 1;
while (_local7 <= powerDivide) {
_local3 = _local3 + _local12;
_local2 = _local2 + _local11;
_local10 = _local6._x - _local3;
_local9 = _local6._y - _local2;
if (Math.sqrt((_local10 * _local10) + (_local9 * _local9)) < movePower) {
if (str == "next") {
_local1--;
if (_local1 <= 0) {
_local11 = 0;
_local12 = _local11;
_local1 = 1;
}
var _local6 = bgMc["p" + _local1];
} else if (str == "pre") {
_local1++;
if (_local1 >= anchorNum) {
_local1 = anchorNum;
var _local6 = bgMc["p" + _local1];
} else {
var _local6 = bgMc["p" + (_local1 + 1)];
}
}
_local9 = _local6._y - _local2;
_local10 = _local6._x - _local3;
_local8 = Math.atan2(_local9, _local10);
_local12 = Math.cos(_local8) * movePower;
_local11 = Math.sin(_local8) * movePower;
}
_local7++;
}
_local5++;
}
if (((mc.moved != "stop") && (!item3Chk)) && (addValChk == undefined)) {
if (str == "pre") {
_local12 = Math.cos(_local8) * movePower;
_local11 = Math.sin(_local8) * movePower;
} else if (str == "next") {
if (_local5 == 1) {
_local8 = _local8 + Math.PI;
}
_local12 = Math.cos(_local8) * movePower;
_local11 = Math.sin(_local8) * movePower;
}
var _local7 = 1;
while (_local7 <= powerDivideNum) {
_local3 = _local3 + _local12;
_local2 = _local2 + _local11;
_local10 = _local6._x - _local3;
_local9 = _local6._y - _local2;
if (Math.sqrt((_local10 * _local10) + (_local9 * _local9)) < movePower) {
if (str == "next") {
_local1--;
if (_local1 <= 0) {
_local11 = 0;
_local12 = _local11;
_local1 = 1;
}
var _local6 = bgMc["p" + _local1];
} else if (str == "pre") {
_local1++;
if (_local1 >= anchorNum) {
_local1 = anchorNum;
var _local6 = bgMc["p" + _local1];
} else {
var _local6 = bgMc["p" + (_local1 + 1)];
}
}
_local9 = _local6._y - _local2;
_local10 = _local6._x - _local3;
_local8 = Math.atan2(_local9, _local10);
_local12 = Math.cos(_local8) * movePower;
_local11 = Math.sin(_local8) * movePower;
}
_local7++;
}
}
var _local14 = new Object();
_local14.x = _local3;
_local14.y = _local2;
_local14.cNum = _local1;
return(_local14);
};
nearChk = function (bmc, tmc, tnum) {
var _local2 = new Object();
var _local6 = returnNextPos(tmc, "pre", 1);
var _local5 = returnNextPos(tmc, "next", 1);
var _local8 = returnDistance2(_local6.x, _local6.y, bmc._x, bmc._y);
var _local9 = returnDistance2(_local5.x, _local5.y, bmc._x, bmc._y);
var _local10 = ballMc["b" + moveBallAry[tnum + 1]];
var _local11 = ballMc["b" + moveBallAry[tnum - 1]];
if (_local8 < _local9) {
_local2 = returnNextPos(tmc, "pre", 1);
_local2.tnum = tnum;
if (tmc.lead) {
(tmc.lead = undefined);
(bmc.lead = true);
}
} else {
if (!tmc.followed) {
var _local7 = tnum + 1;
_local2 = returnNextPos(ballMc["b" + moveBallAry[_local7]], "pre", 1);
} else {
_local2 = returnNextPos(tmc, "next", 1);
}
_local2.tnum = tnum + 1;
if (tmc.followed) {
(tmc.followed = undefined);
(bmc.followed = true);
}
}
return(_local2);
};
movedSet = function (tnum) {
if (tnum == undefined) {
var _local2 = moveBallAry.length - 1;
while (_local2 >= 0) {
var _local3 = ballMc["b" + moveBallAry[_local2]];
if (_local3.lead) {
var _local1 = _local2;
while (_local1 < moveBallAry.length) {
_local3 = ballMc["b" + moveBallAry[_local1]];
_local3.moved = undefined;
_local3.mixMoved = undefined;
_local3.reverseMoved = undefined;
_local1++;
}
_local1 = _local2 - 1;
while (_local1 >= 0) {
_local3 = ballMc["b" + moveBallAry[_local1]];
_local3.moved = "stop";
_local3.mixMoved = undefined;
_local3.reverseMoved = undefined;
_local1--;
}
break;
}
_local2--;
}
} else {
if (ballMc["b" + moveBallAry[tnum]].lead) {
return(undefined);
}
var _local2 = tnum - 1;
while (_local2 >= 0) {
var _local3 = ballMc["b" + moveBallAry[_local2]];
_local3.mixMoved = true;
if (_local3.lead) {
break;
}
_local2--;
}
}
};
bombBall = function () {
ballMove(false);
var _local6;
var _local2 = 0;
while (_local2 < ballInfoAry.length) {
if (ballInfoAry[_local2] == "s") {
if (!_local6) {
_local6 = _local2;
}
var _local3 = ballMc["b" + ballInfoAryRef[_local2]];
var _local5 = ballMc.getNextHighestDepth();
var _local4 = ballMc.attachMovie("breakBallMc" + (random(3) + 1), "b" + _local5, _local5);
_local4._x = _local3._x;
_local4._y = _local3._y;
_local4._xscale = (_local4._yscale = random(30) + 80);
_local4.gotoAndStop("breakFrame");
if (_local3.itemNum) {
if (!_root[("item" + _local3.itemNum) + "GetChk"]) {
itemViewAry.splice(m, 1);
itemControl("get", _local3.itemNum, _local3);
}
}
delete_item(_local3);
moveBallAry.splice(_local2, 1);
ballInfoAry.splice(_local2, 1);
ballInfoAryRef.splice(_local2, 1);
_local2--;
scoreCul(3 + (bombNum * 2));
}
_local2++;
}
if (_local6 > 0) {
ballMc["b" + moveBallAry[_local6 - 1]].followed = true;
}
if (_local6 < moveBallAry.length) {
leadSet(ballMc["b" + moveBallAry[_local6]]);
}
movedSet();
execMode("normal");
speedControl("none");
clearInterval(replayBall_interval);
replayBall_interval = setInterval(replayBall, 10, _local6);
if (bombNum > 0) {
snd_attach(("explose" + bombNum) + "_snd");
} else {
snd_attach("explose1_snd");
}
};
replayBall = function (bombStartNum) {
clearInterval(replayBall_interval);
var _local4 = ballMc["b" + moveBallAry[bombStartNum - 1]];
var _local5 = ballMc["b" + moveBallAry[bombStartNum]];
if (moveBallAry.length == 0) {
gameOut(true);
} else if (_local4.num == _local5.num) {
var _local1 = bombStartNum - 1;
while (_local1 >= 0) {
var _local2 = ballMc["b" + moveBallAry[_local1]];
_local2.reverseMoved = true;
_local2.moved = undefined;
if (_local2.lead) {
break;
}
_local1--;
}
_local4.bombReadyChk = true;
reverseSpeedControl(_local1);
snd_attach("reverseStart_snd");
if (bombNum < 3) {
bombNum++;
}
trace("bombNum=" + bombNum);
ballMove(true);
} else {
createItem();
assignNextBall("chk");
shoot_f();
if (!item3Chk) {
ballMove(true);
}
}
};
ballSameChk = function (tnum) {
ballInfoAry = moveBallAry.concat();
ballInfoAryRef = ballInfoAry.concat();
var _local3 = tnum;
var _local9 = ballMc["b" + moveBallAry[tnum]].num;
do {
if (!((_local3 >= 0) && (ballMc["b" + moveBallAry[_local3 - 1]].num == _local9))) {
break;
}
_local3--;
} while (!ballMc["b" + moveBallAry[_local3]].lead);
var _local5 = 0;
var _local4 = _local3;
while (_local4 < ballInfoAry.length) {
var _local8 = ballMc["b" + ballInfoAry[_local4]];
if ((_local4 > _local3) && (_local8.lead)) {
break;
}
if (_local8.num == _local9) {
ballInfoAry[_local4] = "s";
_local5++;
} else {
break;
}
_local4++;
}
var _local12;
if (item4Chk) {
_local12 = 4;
var _local13 = tnum;
var _local14 = ballMc["b" + moveBallAry[tnum - 1]];
if ((_local14 && (!_local14.lead)) && (!ballMc["b" + moveBallAry[tnum]].lead)) {
_local13 = tnum - 1;
}
_local4 = _local13;
while (_local4 <= (_local13 + 2)) {
var _local8 = ballMc["b" + moveBallAry[_local4]];
ballInfoAry[_local4] = "s";
_local5++;
if (_local8.followed) {
break;
}
_local4++;
}
clearInterval(item4_interval);
} else if (item5Chk) {
_local12 = 5;
var _local13 = tnum;
var _local10 = ballMc["b" + moveBallAry[tnum]];
_local4 = _local13;
while ((ballMc["b" + moveBallAry[_local4]] && (!ballMc["b" + moveBallAry[_local4]].lead)) && (_local4 >= (_local13 - 4))) {
_local4--;
}
_local13 = _local4;
_local4 = _local13;
while (_local4 <= (_local13 + 7)) {
var _local8 = ballMc["b" + moveBallAry[_local4]];
ballInfoAry[_local4] = "s";
_local5++;
if (_local8.followed) {
break;
}
_local4++;
}
var _local6 = 1;
while (_local6 <= 10) {
var _local7 = effectMc.getNextHighestDepth();
var _local2 = effectMc.attachMovie("guideMc", "g" + _local7, _local7);
_local2._visible = false;
_local2._x = _local10._x;
_local2._y = _local10._y;
_local2.effectInterval = setInterval(createEffect, random(400), 5, _local2);
_local2.gotoAndStop(1);
_local2._rotation = random(360);
_local2._alpha = random(50) + 50;
_local6++;
}
clearInterval(item5_interval);
} else if (item6Chk) {
_local12 = 6;
var _local13 = tnum;
_local4 = _local13;
while (_local4 < moveBallAry.length) {
var _local8 = ballMc["b" + moveBallAry[_local4]];
ballInfoAry[_local4] = "s";
_local5++;
if (_local8.followed) {
break;
}
_local4++;
}
if (_local5 < 3) {
_local5 = 3;
}
clearInterval(item6_interval);
}
if (_local12) {
if (_local5 < 3) {
_local5 = 3;
}
uiMc.itemMc[("item" + _local12) + "Mc"].gotoAndStop(1);
uiMc.itemMc[("item" + _local12) + "Mc"].frameMc.gotoAndStop(1);
_root[("item" + _local12) + "Chk"] = (_root[("item" + _local12) + "GetChk"] = undefined);
}
if (_local5 >= 3) {
return(true);
}
return(false);
};
returnDistance = function (mc1, mc2) {
var _local2 = mc1._x - mc2._x;
var _local1 = mc1._y - mc2._y;
return(Math.sqrt((_local2 * _local2) + (_local1 * _local1)));
};
returnDistance2 = function (x1, y1, x2, y2) {
var _local2 = x1 - x2;
var _local1 = y1 - y2;
return(Math.sqrt((_local2 * _local2) + (_local1 * _local1)));
};
speedControl = function (str, endNum) {
if (str == "up") {
if (powerDivide > 3) {
powerDivide = powerDivide - 1;
// unexpected jump
}
return(undefined);
}
if (str == "down") {
if (powerDivide < 12) {
powerDivide = powerDivide + 1;
} else {
return(undefined);
}
}
movePower = ballWidth / powerDivide;
if (!endNum) {
var _local14 = moveBallAry.length - 1;
} else {
var _local14 = endNum;
}
var _local13 = 0;
while (_local13 <= _local14) {
var _local2 = ballMc["b" + moveBallAry[_local13]];
if (_local2.lead) {
var _local5 = _local2.posAry[_local2.posAry.length - 1];
var _local4 = _local5.x;
var _local3 = _local5.y;
var _local1 = _local5.cNum;
var _local7 = bgMc["p" + _local1];
var _local10 = _local7._x - _local4;
var _local9 = _local7._y - _local3;
var _local8 = Math.atan2(_local9, _local10);
var _local12 = Math.cos(_local8) * movePower;
var _local11 = Math.sin(_local8) * movePower;
_local2.assignX = _local5.x;
_local2.assignY = _local5.y;
_local2.power = movePower;
leadSet(_local2, _local2.power);
}
_local2.posAry = new Array();
var _local6 = 0;
while (_local6 <= powerDivide) {
_local2.posAry.unshift(_local5);
if (_local6 < powerDivide) {
var _local10 = bgMc["p" + _local1]._x - _local4;
var _local9 = bgMc["p" + _local1]._y - _local3;
if (Math.sqrt((_local10 * _local10) + (_local9 * _local9)) < movePower) {
_local1--;
if (_local1 <= 0) {
var _local11 = 0;
var _local12 = _local11;
} else {
var _local7 = bgMc["p" + _local1];
_local10 = _local7._x - _local4;
_local9 = _local7._y - _local3;
var _local8 = Math.atan2(_local9, _local10);
var _local12 = Math.cos(_local8) * movePower;
var _local11 = Math.sin(_local8) * movePower;
}
}
var _local4 = _local4 + _local12;
var _local3 = _local3 + _local11;
var _local5 = new Object();
_local5.x = _local4;
_local5.y = _local3;
_local5.cNum = _local1;
}
_local6++;
}
_local13++;
}
};
mixSpeedControl = function (num) {
if (num == undefined) {
var _local16 = moveBallAry.length - 2;
} else {
var _local16 = num;
}
var _local11 = 0;
while (_local11 <= _local16) {
var _local1 = ballMc["b" + moveBallAry[_local11]];
var _local7 = ballMc["b" + moveBallAry[_local11 + 1]];
if (((_local7.moved != "stop") || (_local7.mixMoved)) && (!_local7.lead)) {
if (_local11 < mixBallNum) {
var _local2 = mixMovePower;
} else {
var _local2 = 0;
}
if (!item3Chk) {
if ((_local7.moved != "stop") || (_local1.lead && (_local1.moved != "stop"))) {
var _local2 = _local2 + movePower;
}
}
if (_local1.lead) {
var _local6 = _local1.posAry[_local1.posAry.length - 1];
var _local8 = ((_local6.cNum >= anchorNum) ? (bgMc["p" + anchorNum]) : (bgMc["p" + (_local6.cNum + 1)]));
var _local10 = Math.atan2(_local8._y - _local6.y, _local8._x - _local6.x);
_local1.ax = Math.cos(_local10) * _local2;
_local1.ay = Math.sin(_local10) * _local2;
_local1.assignX = _local6.x;
_local1.assignY = _local6.y;
_local1.power = _local2;
}
var _local6 = _local7.posAry[_local7.posAry.length - 1];
var _local5 = _local6.x;
var _local4 = _local6.y;
var _local3 = _local6.cNum;
var _local8 = bgMc["p" + (_local3 + 1)];
var _local10 = Math.atan2(_local8._y - _local4, _local8._x - _local5);
var _local15 = Math.cos(_local10) * _local2;
var _local14 = Math.sin(_local10) * _local2;
_local1.posAry = new Array();
var _local9 = 0;
while (_local9 <= powerDivideNum) {
_local1.posAry.push(_local6);
var _local13 = _local8._x - _local5;
var _local12 = _local8._y - _local4;
if (Math.sqrt((_local13 * _local13) + (_local12 * _local12)) < _local2) {
_local3++;
if (_local3 > anchorNum) {
_local14 = 0;
_local15 = _local14;
_local3 = anchorNum;
} else {
_local8 = bgMc["p" + (_local3 + 1)];
_local13 = _local8._x - _local5;
_local12 = _local8._y - _local4;
_local10 = Math.atan2(_local12, _local13);
_local15 = Math.cos(_local10) * _local2;
_local14 = Math.sin(_local10) * _local2;
}
}
_local5 = _local5 + _local15;
_local4 = _local4 + _local14;
_local6 = new Object();
_local6.x = _local5;
_local6.y = _local4;
_local6.cNum = _local3;
_local9++;
}
}
_local11++;
}
};
reverseSpeedControl = function (num) {
var _local3 = ballWidth / 2;
var _local14 = num;
while (_local14 < moveBallAry.length) {
var _local1 = ballMc["b" + moveBallAry[_local14]];
var _local15 = ballMc["b" + moveBallAry[_local14 + 1]];
if (_local1.followed) {
var _local2 = bgMc["p" + _local1.cNum];
_local1.assignX = _local1._x;
_local1.assignY = _local1._y;
var _local8 = Math.atan2(_local2._y - _local1._y, _local2._x - _local1._x);
_local1.ax = Math.cos(_local8) * _local3;
_local1.ay = Math.sin(_local8) * _local3;
_local1.power = _local3;
break;
}
var _local5 = _local1._x;
var _local4 = _local1._y;
var _local7 = _local1.cNum;
var _local6 = new Object();
_local6.x = _local5;
_local6.y = _local4;
_local6.cNum = _local7;
var _local2 = bgMc["p" + _local7];
var _local8 = Math.atan2(_local2._y - _local1._y, _local2._x - _local1._x);
var _local13 = Math.cos(_local8) * _local3;
var _local12 = Math.sin(_local8) * _local3;
_local15.posAry = new Array();
var _local11 = 0;
while (_local11 <= powerDivide) {
_local15.posAry.push(_local6);
_local5 = _local5 + _local13;
_local4 = _local4 + _local12;
_local6 = new Object();
_local6.x = _local5;
_local6.y = _local4;
_local6.cNum = _local7;
var _local10 = _local2._x - _local5;
var _local9 = _local2._y - _local4;
if (Math.sqrt((_local10 * _local10) + (_local9 * _local9)) < _local3) {
_local7--;
_local2 = bgMc["p" + _local7];
_local8 = Math.atan2(_local2._y - _local4, _local2._x - _local5);
_local13 = Math.cos(_local8) * _local3;
_local12 = Math.sin(_local8) * _local3;
}
_local11++;
}
_local14++;
}
};
setPosition = function (endNum) {
if (endNum == undefined) {
var _local4 = moveBallAry.length - 1;
} else {
var _local4 = endNum;
}
var _local3 = 0;
while (_local3 <= _local4) {
var _local1 = ballMc["b" + moveBallAry[_local3]];
var _local2 = _local1.posAry[_local1.posAry.length - 1];
_local1._x = _local2.x;
_local1._y = _local2.y;
_local1.cNum = _local2.cNum;
_local3++;
}
};
groupBomb = function (num) {
trace("group Bomb mode=" + mode);
ballMove(false);
var _local14 = ballMc["b" + moveBallAry[num]];
var _local10 = ballMc["b" + moveBallAry[num - 1]];
_local14.lead = undefined;
_local10.followed = undefined;
var _local6;
var _local8 = 0;
var _local4 = num - 1;
while (_local4 >= 0) {
var _local2 = ballMc["b" + moveBallAry[_local4]];
_local2.moved = undefined;
_local8++;
if (_local2.lead) {
_local6 = _local2;
break;
}
_local4--;
}
if (mode == "mix") {
if (num < mixBallNum) {
movedSet(num);
var _local3 = num - 1;
while (_local3 >= 0) {
if (ballMc["b" + moveBallAry[_local3]].lead) {
break;
}
_local3--;
}
var _local15 = _local3;
var _local16 = num - 1;
var _local9 = 0;
_local3 = mixBallNum;
while (_local3 >= (num - 1)) {
_local9++;
if (ballMc["b" + moveBallAry[_local3]].lead) {
break;
}
_local3--;
}
var _local7 = returnNextPos(ballMc["b" + moveBallAry[mixBallNum + 1]], "pre", _local9);
var _local12 = _local10._x - _local7.x;
var _local11 = _local10._y - _local7.y;
var _local18 = Math.sqrt((_local12 * _local12) + (_local11 * _local11));
var _local13 = _local18 / powerDivideNum;
leadSet(_local6, _local13);
makeAry(_local15, _local16, _local13, powerDivideNum);
trace(((" \uC790\uC5F0\uC2A4\uB7FD\uAC8C \uBC00\uB9AC\uAE30 ! mixBAllNum=" + mixBallNum) + " bomb num=") + num);
}
} else {
movedSet();
var _local7 = returnNextPos(_local14, "pre", _local8, false);
_local6.posAry = new Array();
_local6.posAry.push(_local7);
_local6.assignX = _local7.x;
_local6.assignY = _local7.y;
_local6.cNum = _local7.cNum;
_local6._x = _local7.x;
_local6._y = _local7.y;
_local6.cNum = _local7.cNum;
_local6.assignX = _local7.x;
_local6.assignY = _local7.y;
speedControl("none");
setPosition();
if (_local10.bombReadyChk) {
_local10.bombReadyChk = undefined;
if (bombNum >= 3) {
getURL ("javascript:shake()");
}
if (ballSameChk(num)) {
var _local17 = bombNum * 30;
viewFlyScore(_local10, _local17);
bombBall();
} else {
if ((!ballMc.moved) && (!item3Chk)) {
clearInterval(ballMove_interval);
ballMove_interval = setInterval(ballMove, 2000, true);
}
if (this.lead && (this.cNum >= (anchorNum - 1))) {
return(undefined);
}
shoot_f();
}
snd_attach(("evil" + bombNum) + "_snd");
} else {
ballMove(true);
}
}
snd_attach("otherHit_snd");
};
viewFlyScore = function (tmc, addScore) {
var _local2 = scoreMc.getNextHighestDepth();
var _local1 = scoreMc.attachMovie("flyScoreMc", "f" + _local2, _local2);
_local1._x = tmc._x;
_local1._y = (tmc._y - tmc._height) + 30;
_local1.m.score_txt.text = addScore;
scoreCul(addScore);
};
viewHelp = function (flag) {
if (flag) {
gamePause(true);
var _local3 = _root.attachMovie("helpMc", "helpMc", 50);
_local3.tx = 350;
_local3.ty = 270;
_local3._x = _local3.tx;
_local3._y = _local3.ty + 200;
_local3._alpha = 30;
_local3.onEnterFrame = function () {
this._alpha = this._alpha + 7;
smoothMove(this, this.tx, this.ty, 0.5);
if ((this._alpha >= 100) && (Math.abs(this._y - this.ty) < 1)) {
delete this.onEnterFrame;
}
};
_local3.closeBtn.onPress = function () {
viewHelp(false);
snd_attach("click2_snd");
};
_local3.closeBtn.onRollOver = function () {
snd_attach("click1_snd");
};
snd_attach("wind_snd");
} else {
gamePause(false);
delete_item(helpMc);
gamePlay = true;
btnEnabled(true);
}
};
btnEnabled = function (flag) {
if (flag) {
uiMc.helpBtn.onPress = function () {
if (gamePlay) {
viewHelp(true);
} else {
snd_attach("error_snd");
}
snd_attach("click2_snd");
};
uiMc.helpBtn.onRollOver = function () {
snd_attach("click1_snd");
};
uiMc.bgBtnMc.onPress = function () {
bgSnd_chk = !bgSnd_chk;
if (bgSnd_chk) {
this.gotoAndStop(1);
var _local2 = 1;
while (_local2 <= 5) {
this.bgMc["e" + _local2].gotoAndPlay("f" + (random(4) + 1));
_local2++;
}
bgSoundControl(true);
} else {
this.gotoAndStop(2);
var _local2 = 1;
while (_local2 <= 5) {
this.bgMc["e" + _local2].gotoAndStop("f" + (random(4) + 1));
_local2++;
}
bgSoundControl(false);
}
snd_attach("click2_snd");
};
uiMc.bgBtnMc.onRollOver = function () {
this.gotoAndStop(2);
this.onRollOut = function () {
this.gotoAndStop(1);
};
snd_attach("click1_snd");
};
uiMc.eqBtnMc.onPress = function () {
snd_chk = !snd_chk;
if (snd_chk) {
this.gotoAndStop(1);
} else {
this.gotoAndStop(2);
}
snd_attach("click2_snd");
};
uiMc.eqBtnMc.onRollOver = function () {
this.gotoAndStop(2);
this.onRollOut = function () {
if (snd_chk) {
this.gotoAndStop(1);
} else {
this.gotoAndStop(2);
}
};
snd_attach("click1_snd");
};
uiMc.pauseBtnMc.onPress = function () {
if (gamePlay) {
gamePause(true);
var _local3 = _root.attachMovie("gamePauseMc", "gamePauseMc", 105);
_local3._x = 350;
_local3._y = 250;
_local3._alpha = 10;
_local3.onEnterFrame = function () {
this._alpha = this._alpha + 5;
if (this._alpha >= 100) {
delete this.onEnterFrame;
this.ok_btn.onPress = function () {
delete_item(this._parent);
gamePause(false);
snd_attach("click2_snd");
};
this.ok_btn.onRollOver = function () {
snd_attach("click1_snd");
};
}
};
}
snd_attach("click2_snd");
};
uiMc.pauseBtnMc.onRollOver = function () {
this.m.gotoAndStop(2);
snd_attach("click1_snd");
this.onRollOut = function () {
this.m.gotoAndStop(1);
};
};
}
uiMc.helpBtn.enabled = (uiMc.eqBtnMc.enabled = (uiMc.bgBtnMc.enabled = (uiMc.pauseBtnMc.enabled = flag)));
};
bgSoundControl = function (flag) {
if (flag) {
bgSnd_chk = true;
bgSnd = new Sound(this);
if (level >= 5) {
bgSnd.attachSound("bg2_snd");
} else {
bgSnd.attachSound("bg_snd");
}
if (pauseTime) {
bgSnd.start(pauseTime, 10000);
} else {
bgSnd.start(0, 10000);
}
} else {
bgSnd_chk = false;
pauseTime = bgSnd.position / 1000;
bgSnd.stop("bg2_snd");
bgSnd.stop("bg_snd");
}
};
setLife = function () {
var _local1 = 1;
while (_local1 <= 3) {
var _local2 = uiMc.lifeMc[("life" + _local1) + "Mc"];
if (life >= _local1) {
_local2._visible = true;
} else {
_local2._visible = false;
}
_local1++;
}
};
execMode = function (str) {
mode = str;
};
itemControl = function (type, num, fmc) {
if (type == "get") {
_root[("item" + num) + "GetChk"] = true;
itemAry.push(num);
itemAry.sort(order);
if (!fmc) {
fmc = ballMc["b" + random(5)];
}
var _local8 = flyItemMc.getNextHighestDepth();
var _local4 = flyItemMc.attachMovie(("flyItem" + num) + "Mc", "flyItem" + _local8, _local8);
_local4._x = fmc._x;
_local4._y = fmc._y;
var _local7 = itemPosAry[num - 1];
_local4.tx = _local7.x;
_local4.ty = _local7.y;
_local4.onEnterFrame = function () {
smoothMove(this, this.tx, this.ty, 0.3);
var _local3 = this.tx - this._x;
var _local2 = this.ty - this._y;
if (Math.sqrt((_local3 * _local3) + (_local2 * _local2)) < 5) {
uiMc.itemMc[("item" + num) + "Mc"].gotoAndStop(2);
delete_item(this);
}
};
uiMc.itemMc[("item" + num) + "Mc"].enabled = true;
snd_attach("getItem_snd");
} else if (type == "use") {
if (((!gamePlay) || (gamePauseChk)) || (!_root[("item" + num) + "GetChk"])) {
snd_attach("error_snd");
return(undefined);
}
_root[("item" + num) + "Chk"] = true;
uiMc.itemMc[("item" + num) + "Mc"].gotoAndStop(2);
uiMc.itemMc[("item" + num) + "Mc"].frameMc.gotoAndStop(2);
uiMc.itemMc[("item" + num) + "Mc"].enabled = false;
if (num == 1) {
guideMc._visible = true;
guideMc._x = chaMc._x;
guideMc._y = chaMc._y;
clearInterval(item1_interval);
item1_interval = setInterval(expireItem, 15000, 1);
} else if (num == 2) {
powerDivide = 60;
rotateAng = 1;
((mode == "mix") ? (mixSpeedControl()) : (speedControl("none")));
clearInterval(item2_interval);
item2_interval = setInterval(expireItem, 15000, 2);
} else if (num == 3) {
ballMove(false);
clearInterval(item3_interval);
item3_interval = setInterval(expireItem, 10000, 3);
var _local3 = 0;
while (_local3 < moveBallAry.length) {
ballMc["b" + moveBallAry[_local3]].moved = "stop";
_local3++;
}
if (shootChk) {
shoot_f();
}
}
chaMc.preBallMc.gotoAndStop(chaMc.selBallNum);
chaMc.preBallMc.m.gotoAndStop(4);
chaMc.preBallMc.m.itemMc.gotoAndStop(4);
chaMc.preBallMc.m.bgMc.gotoAndStop(chaMc.selBallNum);
snd_attach("useItem_snd");
}
};
flyItem = function (x, y) {
var _local3 = flyItemMc.getNextHighestDepth();
var _local2 = flyItemMc.attachMovie(("flyItem" + num) + "Mc", "flyItem" + _local3, _local3);
_local2._x = x;
_local2._y = y;
var _local4 = (Math.PI/180) * (-(random(45) + 90));
_local2.ax = Math.cos(_local4) * 20;
_local2.ay = Math.sin(_local4) * 20;
_local2.ty = (_local2._y + random(100)) + 200;
_local2.onEnterFrame = function () {
this._x = this._x + this.ax;
this._y = this._y + this.ay;
this.ay = this.ay + 2;
if (this._y >= this.ty) {
delete_item(this);
}
};
};
expireItem = function (num) {
if (num == 1) {
clearInterval(item1_interval);
guideMc._visible = false;
var _local2 = 0;
while (_local2 < itemAry.length) {
if (itemAry[_local2] == 1) {
itemAry.splice(_local2, 1);
break;
}
_local2++;
}
} else if (num == 2) {
clearInterval(item2_interval);
powerDivide = powerDivideRef;
rotateAng = rotateAngRef;
if (mode != "mix") {
speedControl("none");
}
} else if (num == 3) {
clearInterval(item3_interval);
if (gamePlay && (!gamePauseChk)) {
movedSet();
ballMove(true);
}
trace("explose lock !");
} else if (num == 4) {
clearInterval(item4_interval);
}
_root[("item" + num) + "Chk"] = undefined;
_root[("item" + num) + "GetChk"] = undefined;
var _local4 = new Object();
_local4.x = uiMc.itemMc[("item" + num) + "Mc"]._x;
_local4.y = uiMc.itemMc[("item" + num) + "Mc"]._y;
uiMc.itemMc[("item" + num) + "Mc"].localToGlobal(piont);
flyItem(_local4.x, _local4.y);
uiMc.itemMc[("item" + num) + "Mc"].gotoAndStop(1);
uiMc.itemMc[("item" + num) + "Mc"].frameMc.gotoAndStop(1);
_root[("item" + num) + "Chk"] = undefined;
snd_attach("itemExpire_snd");
};
createItem = function () {
if ((level >= 2) && (itemLimitNum > 0)) {
if (random(level) == 0) {
var _local4 = random(moveBallAry.length);
var _local1 = ballMc["b" + moveBallAry[_local4]];
if (_local1.itemNum) {
return(undefined);
}
var _local3 = levelItemAry[level - 1];
var _local2 = _local3[random(_local3.length)];
itemLimitNum--;
_local1.m.gotoAndStop(4);
_local1.m.itemMc.gotoAndStop(_local2);
_local1.m.bgMc.gotoAndStop(_local1.num);
_local1._rotation = 0;
_local1.itemNum = _local2;
itemViewAry.push(_local2);
snd_attach("createItem_snd");
}
}
};
createEffect = function (num, tmc) {
clearInterval(tmc.effectInterval);
if (num == 5) {
tmc._visible = true;
tmc.gotoAndPlay("viewFrame");
trace("effect");
}
};
assignNextBall = function (chk) {
if ((chk == "chk") && (moveBallAry.length > 7)) {
return(undefined);
}
if (moveBallAry.length > 7) {
chaMc.selBallNum = random(selBallNum) + 1;
} else {
var _local1 = random(moveBallAry.length);
chaMc.selBallNum = ballMc["b" + moveBallAry[_local1]].num;
}
chaMc.selBallType = random(3) + 1;
chaMc.preBallMc.gotoAndStop(chaMc.selBallNum);
chaMc.preBallMc.m.gotoAndStop(chaMc.selBallType);
};
leadSet = function (mc, power) {
mc.lead = true;
var _local2 = mc.posAry[mc.posAry.length - 1];
mc.assignX = _local2.x;
mc.assignY = _local2.y;
mc.cNum = _local2.cNum;
if (power == undefined) {
mc.power = movePower;
} else {
mc.power = power;
}
var _local3 = bgMc["p" + (_local2.cNum + 1)];
var _local6 = _local3._x - _local2.x;
var _local5 = _local3._y - _local2.y;
var _local4 = Math.atan2(_local5, _local6);
mc.ax = Math.cos(_local4) * mc.power;
mc.ay = Math.sin(_local4) * mc.power;
};
saveScore = function () {
var _local3 = new LoadVars();
_local3.f_score = score;
_local3.f_kind = 1;
var _local4 = "/data/flash/GetUserID.asp?ran=" + (Math.random() * 10000);
_local3.onLoad = function (success) {
if (success) {
if (Number(this.myid) == 0) {
_root.gotoAndStop("notLogin_frame");
Selection.setFocus("id_txt");
} else {
view_rank(this);
}
} else {
getURL ("javascript:rankingPrompt()");
}
};
_local3.sendAndLoad(_local4, _local3, "post");
};
login_exec = function () {
var _local3 = new LoadVars();
var _local4 = "/data/flash/userLogin.asp";
_local3.onLoad = function (success) {
if (success) {
if (chkData(this.myid)) {
view_rank(this);
} else {
_root.gotoAndStop("badLogin_frame");
Selection.setFocus("id_txt");
}
} else {
alert("error data ! ");
}
};
_local3.f_id = id_txt.text;
_local3.f_pwd = pass_txt.text;
_local3.f_score = score;
_local3.f_kind = 1;
_local3.sendAndLoad(_local4, _local3, "post");
};
chkData = function (str) {
var _local1;
(((String(str).length > 0) && (str != undefined)) ? (_local1 = true) : (_local1 = false));
return(_local1);
};
view_rank = function (load_var) {
_root.gotoAndStop("ranking_frame");
myid = load_var.myid;
var _local5 = false;
var _local2 = 1;
while (_local2 <= 10) {
if (chkData(load_var["member_nick" + _local2])) {
var _local3 = _root["field" + _local2];
_local3.num_txt.text = _local2;
_local3.nick_txt.text = load_var["member_nick" + _local2];
_local3.score_txt.text = load_var["member_score" + _local2];
_local3.date_txt.text = load_var["member_date" + _local2];
if (myid == load_var["member_id" + _local2]) {
_local3.gotoAndStop("active_frame");
_local5 = true;
} else {
_local3.gotoAndStop(1);
}
}
_local2++;
}
if (!_local5) {
myfield._visible = true;
myfield.num_txt.text = load_var.myrank;
myfield.nick_txt.text = load_var.mynick;
myfield.score_txt.text = load_var.myscore;
myfield.date_txt.text = load_var.mydate;
myfield.gotoAndStop("active_frame");
} else {
myfield._visible = false;
}
};
_global.delete_item = function (mc) {
if (typeof(mc) == "movieclip") {
for (var _local2 in mc) {
delete_item(mc[_local2]);
}
removeMovieClip(mc);
} else {
}
};
clearAllInterval = function () {
var _local2 = setInterval(function () {
}, 100);
var _local1 = 0;
while (_local1 <= _local2) {
clearInterval(_local1);
_local1++;
}
};
_global.snd_attach = function (name, loop) {
if (snd_chk != false) {
if (loop == undefined) {
eval (name).start();
} else if (typeof(loop) == "number") {
eval (name).start(0, loop);
} else {
eval (name).start(0, 100000);
}
}
};
_global.snd_stop = function (name) {
eval (name).stop(name);
};
smoothMove = function (mc, tx, ty, sp) {
var _local3 = tx - mc._x;
var _local2 = ty - mc._y;
mc._x = mc._x + (_local3 * sp);
mc._y = mc._y + (_local2 * sp);
};
scoreCul = function (addScore) {
if (typeof(addScore) == "number") {
score = score + addScore;
} else {
if (addScore == "success") {
scoreMc.addScore = 50;
var _local3 = (getTimer() - startTime) / 1000;
var _local2 = Math.floor((60 / _local3) * 300);
scoreMc.tScore = (score + 200) + _local2;
} else if (addScore == "fail") {
scoreMc.addScore = -50;
scoreMc.tScore = score - 200;
(scoreMc.tScore < 0) && ((scoreMc.tScore = 0));
}
scoreMc.onEnterFrame = function () {
if (Math.abs(this.tScore - score) < Math.abs(this.addScore)) {
score = this.tScore;
delete this.onEnterFrame;
trace("end Score");
} else {
score = score + this.addScore;
}
};
}
};
order = function (a, b) {
return(a - b);
};
alert = function (str) {
getURL (("javascript:alert (\"" + str) + "\");");
};
myListener = new Object();
keyUp = true;
myListener.onKeyDown = function () {
if (keyUp) {
if (gamePlay) {
if (Key.isDown(32)) {
}
if (Key.isDown(49)) {
itemControl("use", 1);
}
if (Key.isDown(50)) {
itemControl("use", 2);
}
if (Key.isDown(51)) {
itemControl("use", 3);
}
if (Key.isDown(52)) {
itemControl("use", 4);
}
if (Key.isDown(53)) {
itemControl("use", 5);
}
if (Key.isDown(54)) {
itemControl("use", 6);
}
}
if (Key.isDown(16)) {
}
keyUp = false;
}
};
myListener.onKeyUp = function () {
keyUp = true;
};
Key.addListener(myListener);
stop();
gameInit();
Instance of Symbol 361 MovieClip "bgMc" in Frame 18
onClipEvent (load) {
this.gotoAndStop(_root.level);
}
Instance of Symbol 198 MovieClip [guideMc] "guideMc" in Frame 18
onClipEvent (load) {
this._visible = false;
}
Instance of Symbol 308 MovieClip in Frame 18
on (press) {
getURL ("9dragons.acclaim.com/entry.jsp?ref=G9-G001-C01-0307", "new");
}
Instance of Symbol 308 MovieClip in Frame 20
on (press) {
getURL ("9dragons.acclaim.com/entry.jsp?ref=G9-G001-C01-0307", "new");
}
Symbol 38 MovieClip [flyScoreMc] Frame 20
stop();
delete_item(this);
Symbol 41 MovieClip [holeMc] Frame 1
stop();
Symbol 72 MovieClip [breakBallMc3] Frame 16
stop();
_root.delete_item(this);
Symbol 75 MovieClip [breakBallMc2] Frame 15
stop();
_root.delete_item(this);
Symbol 97 MovieClip [breakBallMc1] Frame 22
stop();
_root.delete_item(this);
Symbol 99 MovieClip Frame 18
snd_attach("explose1_snd");
Symbol 99 MovieClip Frame 89
snd_attach("explose1_snd");
Symbol 99 MovieClip Frame 108
snd_attach("explose1_snd");
Symbol 120 MovieClip Frame 1
stop();
Instance of Symbol 117 MovieClip "frameMc" in Symbol 120 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(1);
}
Symbol 125 MovieClip Frame 1
stop();
Instance of Symbol 117 MovieClip "frameMc" in Symbol 125 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(1);
}
Symbol 130 MovieClip Frame 1
stop();
Instance of Symbol 117 MovieClip "frameMc" in Symbol 130 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(1);
}
Symbol 135 MovieClip Frame 1
stop();
Instance of Symbol 117 MovieClip "frameMc" in Symbol 135 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(1);
}
Symbol 140 MovieClip Frame 1
stop();
Instance of Symbol 117 MovieClip "frameMc" in Symbol 140 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(1);
}
Symbol 145 MovieClip Frame 1
stop();
Instance of Symbol 117 MovieClip "frameMc" in Symbol 145 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(1);
}
Instance of Symbol 77 MovieClip "blackRectMc" in Symbol 167 MovieClip [helpMc] Frame 1
onClipEvent (load) {
this._alpha = 0;
this.onEnterFrame = function () {
this._alpha = this._alpha + 5;
if (this._alpha >= 100) {
delete this.onEnterFrame;
}
};
}
Instance of Symbol 120 MovieClip in Symbol 167 MovieClip [helpMc] Frame 1
onClipEvent (load) {
this.gotoAndStop(2);
}
Instance of Symbol 125 MovieClip in Symbol 167 MovieClip [helpMc] Frame 1
onClipEvent (load) {
this.gotoAndStop(2);
}
Instance of Symbol 130 MovieClip in Symbol 167 MovieClip [helpMc] Frame 1
onClipEvent (load) {
this.gotoAndStop(2);
}
Instance of Symbol 135 MovieClip in Symbol 167 MovieClip [helpMc] Frame 1
onClipEvent (load) {
this.gotoAndStop(2);
}
Instance of Symbol 140 MovieClip in Symbol 167 MovieClip [helpMc] Frame 1
onClipEvent (load) {
this.gotoAndStop(2);
}
Instance of Symbol 145 MovieClip in Symbol 167 MovieClip [helpMc] Frame 1
onClipEvent (load) {
this.gotoAndStop(2);
}
Symbol 187 MovieClip [levelClearViewMc] Frame 7
stop();
Symbol 198 MovieClip [guideMc] Frame 3
stop();
Symbol 198 MovieClip [guideMc] Frame 12
delete_item(this);
stop();
Symbol 335 Button
on (press) {
_root.gotoAndStop("logoFrame");
snd_attach("click2_snd");
}
on (rollOver) {
snd_attach("click1_snd");
}
Symbol 336 MovieClip Frame 34
stop();
Instance of Symbol 311 MovieClip in Symbol 340 MovieClip Frame 1
onClipEvent (load) {
var ty = this._y;
this._alpha = 20;
this._y = this._y - 200;
this.onEnterFrame = function () {
if (this._alpha < 100) {
this._alpha = this._alpha + 5;
}
_root.smoothMove(this, this._x, this.ty, 0.5);
if ((this._alpha >= 100) && (Math.abs(this.ty - this._y) < 1)) {
delete this.onEnterFrame;
this._y = this.ty;
}
};
}
Instance of Symbol 314 MovieClip in Symbol 340 MovieClip Frame 1
onClipEvent (load) {
var ty = this._y;
this._alpha = 20;
this._y = this._y + 200;
this.onEnterFrame = function () {
if (this._alpha < 100) {
this._alpha = this._alpha + 5;
}
_root.smoothMove(this, this._x, this.ty, 0.5);
if ((this._alpha >= 100) && (Math.abs(this.ty - this._y) < 1)) {
delete this.onEnterFrame;
this._y = this.ty;
}
};
}
Instance of Symbol 317 MovieClip in Symbol 340 MovieClip Frame 1
onClipEvent (load) {
var ty = this._y;
this._alpha = 20;
this._y = this._y - 200;
this.onEnterFrame = function () {
if (this._alpha < 100) {
this._alpha = this._alpha + 5;
}
_root.smoothMove(this, this._x, this.ty, 0.5);
if ((this._alpha >= 100) && (Math.abs(this.ty - this._y) < 1)) {
delete this.onEnterFrame;
this._y = this.ty;
}
};
}
Instance of Symbol 320 MovieClip in Symbol 340 MovieClip Frame 1
onClipEvent (load) {
var ty = this._y;
this._alpha = 20;
this._y = this._y - 200;
snd_attach("weapon1_snd");
gamePlayF = function (mc) {
clearInterval(mc.interval);
snd_attach("weapon1_snd");
_root.gotoAndStop("mainFrame");
};
this.onEnterFrame = function () {
if (this._alpha < 100) {
this._alpha = this._alpha + 5;
}
_root.smoothMove(this, this._x, this.ty, 0.5);
if ((this._alpha >= 100) && (Math.abs(this.ty - this._y) < 1)) {
delete this.onEnterFrame;
this._y = this.ty;
this.interval = setInterval(this.gamePlayF, 500, this);
}
};
}
Instance of Symbol 339 MovieClip in Symbol 340 MovieClip Frame 1
on (press) {
getURL ("http://www.ninedragons.co.kr/", "_blank");
}
Symbol 370 MovieClip Frame 1
stop();
Instance of Symbol 249 MovieClip [ballMc] "preBallMc" in Symbol 370 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(this._parent.selBallNum);
this.m.gotoAndStop(this._parent.selBallType);
}
Symbol 370 MovieClip Frame 3
_root.shoot();
Symbol 390 MovieClip Frame 1
gotoFrame = function () {
gotoAndPlay("f" + (random(4) + 1));
};
Symbol 390 MovieClip Frame 6
gotoFrame();
Symbol 390 MovieClip Frame 9
gotoFrame();
Symbol 390 MovieClip Frame 16
gotoFrame();
Symbol 390 MovieClip Frame 24
gotoFrame();
Instance of Symbol 391 MovieClip "bgMc" in Symbol 393 MovieClip Frame 1
onClipEvent (load) {
var i = 1;
while (i <= 5) {
var _mc = eval ("e" + i);
_mc.gotoAndPlay("f" + (random(4) + 1));
i++;
}
}
Instance of Symbol 401 MovieClip "m" in Symbol 405 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(1);
}
Instance of Symbol 404 MovieClip "m" in Symbol 405 MovieClip Frame 2
onClipEvent (load) {
this.gotoAndStop(1);
}
Instance of Symbol 393 MovieClip "bgBtnMc" in Symbol 419 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(1);
}
Instance of Symbol 398 MovieClip "eqBtnMc" in Symbol 419 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(1);
}
Instance of Symbol 405 MovieClip "pauseBtnMc" in Symbol 419 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(1);
}
Symbol 421 Button
on (press) {
getURL ("9dragons.acclaim.com/entry.jsp?ref=G9-G001-C01-0307", "new");
}
Symbol 427 Button
on (press) {
gameRestart();
snd_attach("click2_snd");
}
on (rollOver) {
snd_attach("click1_snd");
}
Symbol 443 Button
on (press) {
getURL ("9dragons.acclaim.com/entry.jsp?ref=G9-G001-C01-0307", "new");
}