Frame 1
function shipData(damage, state, name, xPos, yPos, dir, len) {
this.damage = damage;
this.state = state;
this.name = name;
this.xPos = xPos;
this.yPos = yPos;
this.dir = dir;
this.len = len;
}
function gridData(kind, state) {
this.kind = kind;
this.state = state;
}
function initGrid() {
var n = 0;
while (n < 100) {
gridP[n] = new gridData("w", 0);
gridC[n] = new gridData("w", 0);
n++;
}
}
function checkPlacement() {
if (dpSelShipCode != "") {
C.GameBrdD[dpSelShipCode]._visible = true;
C.GameBrdD[dpSelShipCode]._x = C.GameBrdD.GameGridD[gpSelGridNm]._x;
C.GameBrdD[dpSelShipCode]._y = C.GameBrdD.GameGridD[gpSelGridNm]._y;
dpSelShipNum = dpSelShipCode.charAt(1);
dpSelShipLen = shipP[dpSelShipNum].len;
gpSelGridNum = gpSelGridNm.substring(1, gpSelGridNm.length);
dpPosX = gpSelGridNum % 10;
dpPosY = Math.floor(gpSelGridNum / 10);
dpPosStart = ((dpDir == "h") ? (dpPosX) : (dpPosY));
if (checkInGrid(dpPosStart, dpSelShipLen)) {
if (checkGrid(dpPosX, dpPosY, dpDir, dpSelShipLen, "P")) {
C.GameBrdD[dpSelShipCode]._alpha = 100;
} else {
C.GameBrdD[dpSelShipCode]._alpha = 30;
}
} else {
C.GameBrdD[dpSelShipCode]._alpha = 30;
}
}
}
function doTurn(n) {
dpDir = n;
if (dpDir == "h") {
C.GameBrdD[dpSelShipCode].gotoAndStop(1);
} else {
C.GameBrdD[dpSelShipCode].gotoAndStop(2);
}
checkPlacement();
doSndStart("Knob", 0, 100, 0);
}
function doDeploy(gpSelGridNm) {
if (dpSelShipCode != "") {
if (checkInGrid(dpPosStart, dpSelShipLen)) {
if (checkGrid(dpPosX, dpPosY, dpDir, dpSelShipLen, "P")) {
doSndStart("Knob", 0, 100, 0);
var dpMultiplier = ((dpDir == "h") ? 1 : 10);
i = 0;
while (i < dpSelShipLen) {
var dpTempGridIndex = (parseInt(gpSelGridNum) + (dpMultiplier * i));
gridP[dpTempGridIndex].kind = dpSelShipCode;
i++;
}
shipP[dpSelShipNum].xPos = dpPosX;
shipP[dpSelShipNum].yPos = dpPosY;
shipP[dpSelShipNum].dir = dpDir;
C.ShipSelector[dpSelShipCode]._visible = false;
C.ShipSelector.gotoAndStop(1);
dpSelShipCode = "";
dpDir = "h";
dpShipCnt = dpShipCnt + 1;
if (dpShipCnt == 5) {
gpMenuBug = false;
gpTurn = false;
gpCommStr = "All ships have been deployed!";
showMessage(24, "C");
doSndStart("Deployed", 0, 50, 0);
}
} else {
gpTurn = false;
gpCommStr = "Do not place ships on top of each other";
showMessage(24, "C");
doSndStart("OnTop", 0, 50, 0);
}
} else {
gpTurn = false;
gpCommStr = "Place your ship within the game grid!";
showMessage(24, "C");
doSndStart("InGrid", 0, 50, 0);
}
}
}
function initRandomSetup() {
var rsShipNum = 1;
while (rsShipNum < 6) {
doRandomSetup(rsShipNum);
rsShipNum++;
}
i = 1;
while (5 >= i) {
var rsTempShipCode = ("s" + i);
var rsTempGridLocX = eval (("E.GameBrdC.GameGridC.g" + ((shipP[i].yPos * 10) + shipP[i].xPos)) + "._x");
var rsTempGridLocY = eval (("E.GameBrdC.GameGridC.g" + ((shipP[i].yPos * 10) + shipP[i].xPos)) + "._y");
E.GameBrdC[rsTempShipCode]._x = rsTempGridLocX;
E.GameBrdC[rsTempShipCode]._y = rsTempGridLocY;
if (shipP[i].dir == "v") {
E.GameBrdC[rsTempShipCode].gotoAndStop(2);
}
E.GameBrdC[rsTempShipCode]._visible = true;
i++;
}
gpTurn = true;
}
function doRandomSetup(rsShipNum) {
var rsGridNum = getRandomvalue(0, 99);
var rsRandDir = getRandomvalue(0, 1);
var rsDir = ((rsRandDir == 0) ? "h" : "v");
var rsSelShip = ("s" + rsShipNum);
var rsShipLen = shipC[rsShipNum].len;
var rsPosX = (rsGridNum % 10);
var rsPosY = Math.floor(rsGridNum / 10);
var rsPosStart = ((rsDir == "h") ? (rsPosX) : (rsPosY));
if (!checkInGrid(rsPosStart, rsShipLen)) {
doRandomSetup(rsShipNum);
} else if (!checkGrid(rsPosX, rsPosY, rsDir, rsShipLen, "C")) {
doRandomSetup(rsShipNum);
} else {
shipC[rsShipNum].state = false;
shipC[rsShipNum].xPos = rsPosX;
shipC[rsShipNum].yPos = rsPosY;
shipC[rsShipNum].dir = rsDir;
var rsPosDynamic = ((rsDir == "h") ? (rsPosX) : (rsPosY));
var rsPosStatic = ((rsDir == "h") ? (rsPosY) : (rsPosX));
var j = rsPosDynamic;
while (j < (rsPosDynamic + rsShipLen)) {
var rsGridIndex = ((rsDir == "h") ? ((rsPosStatic * 10) + j) : ((j * 10) + rsPosStatic));
gridC[rsGridIndex].kind = rsSelShip;
j++;
}
}
}
function doShotC() {
gpTurn = false;
gpEnableGrid = false;
_root.E.GameBrdP.GameGridP._visible = false;
scTotalShotsC++;
ciShotCnt++;
if (ciFireMode == 0) {
FireMode0();
} else if (ciFireMode == 1) {
FireMode1();
} else if (ciFireMode == 2) {
FireMode2();
} else {
FireMode3();
}
}
function FireMode0() {
if (ciPatternType == 0) {
ciGridRefX = getRandomvalue(0, 9);
ciGridRefY = getRandomvalue(0, 9);
ciGridNum = (ciGridRefY * 10) + ciGridRefX;
if (gridP[ciGridNum].state == 1) {
FireMode0();
} else {
handleShotC(0, 1);
}
} else {
ciPattern.length = 0;
var ciPatternArrayIndexCnt = -1;
k = 0;
while (k < 100) {
var kX = (k % 10);
var kY = Math.floor(k / 10);
var kVal = (kX - kY);
if ((kVal % ciPatternRes) == 0) {
if (gridP[k].state == 0) {
ciPatternArrayIndexCnt++;
ciPattern[ciPatternArrayIndexCnt] = k;
}
}
k++;
}
if (ciPattern.length < 1) {
ciPatternRes = ciPatternRes - 1;
FireMode0();
} else {
ciGridNum = ciPattern[getRandomvalue(0, ciPattern.length - 1)];
ciGridRefX = ciGridNum % 10;
ciGridRefY = Math.floor(ciGridNum / 10);
handleShotC(0, 1);
}
}
}
function FireMode1() {
if (ciFireDir == -1) {
ciFireDir = getRandomvalue(0, 3);
} else {
ciFireDir = ciFireDir + 1;
if (3 < ciFireDir) {
ciFireDir = 0;
}
}
ciGridRefX = (ciHitFirst % 10) + ciRndDir[ciFireDir].Dx;
ciGridRefY = Math.floor(ciHitFirst / 10) + ciRndDir[ciFireDir].Dy;
if ((((ciGridRefX < 0) || (9 < ciGridRefX)) || (ciGridRefY < 0)) || (9 < ciGridRefY)) {
FireMode1();
} else {
ciGridNum = (ciGridRefY * 10) + ciGridRefX;
if (gridP[ciGridNum].state == 1) {
FireMode1();
} else {
handleShotC(1, 2);
}
}
}
function FireMode2() {
ciGridRefX = ciGridRefX + ciRndDir[ciFireDir].Dx;
ciGridRefY = ciGridRefY + ciRndDir[ciFireDir].Dy;
if ((((ciGridRefX < 0) || (9 < ciGridRefX)) || (ciGridRefY < 0)) || (9 < ciGridRefY)) {
FireMode3();
} else {
ciGridNum = (ciGridRefY * 10) + ciGridRefX;
if (gridP[ciGridNum].state == 1) {
FireMode3();
} else {
handleShotC(3, 2);
}
}
}
function FireMode3() {
var vTempFiringDir = ciFireDir;
if (ciFireDir == 0) {
ciFireDir = 2;
} else if (ciFireDir == 1) {
ciFireDir = 3;
} else if (ciFireDir == 2) {
ciFireDir = 0;
} else {
ciFireDir = 1;
}
ciGridRefX = (ciHitFirst % 10) + ciRndDir[ciFireDir].Dx;
ciGridRefY = Math.floor(ciHitFirst / 10) + ciRndDir[ciFireDir].Dy;
ciGridNum = (ciGridRefY * 10) + ciGridRefX;
if ((((ciGridRefX < 0) || (9 < ciGridRefX)) || (ciGridRefY < 0)) || (9 < ciGridRefY)) {
FireMode1();
} else if (gridP[ciGridNum].state == 1) {
FireMode1();
} else {
handleShotC(1, 2);
}
}
function handleShotC(ciFireModeMis, ciFireModeHit) {
gridP[ciGridNum].state = 1;
ciGridNm = "g" + ciGridNum;
if (gridP[ciGridNum].kind == "w") {
doSndStart("Mis", 0, 100, -80);
scTotalMisC++;
E.GameBrdC.Mis._x = E.GameBrdC.GameGridC[ciGridNm]._x;
E.GameBrdC.Mis._y = E.GameBrdC.GameGridC[ciGridNm]._y;
E.GameBrdC.Mis.gotoAndPlay(2);
E.GameBrdC.GameGridC[ciGridNm].Result.gotoAndStop("Mis");
ciFireMode = ciFireModeMis;
E.TurnDelay2.gotoAndPlay(2);
} else {
scTotalHitsC++;
doSndStart("Hit", 0, 80, -80);
E.GameBrdC.Hit._x = E.GameBrdC.GameGridC[ciGridNm]._x;
E.GameBrdC.Hit._y = E.GameBrdC.GameGridC[ciGridNm]._y;
E.GameBrdC.Hit.gotoAndPlay(2);
E.GameBrdC.GameGridC[ciGridNm].Result.gotoAndStop("Hit");
ciTempShipCode = gridP[ciGridNum].kind;
ciTempShipNum = parseInt(ciTempShipCode.substring(1, 2));
if (ciFireMode == 0) {
ciHitFirst = ciGridNum;
ciCurShipCode = ciTempShipCode;
}
ciFireMode = ciFireModeHit;
if (ciTempShipCode != ciCurShipCode) {
ciHitMem[ciTempShipNum] = ciGridNum;
}
shipP[ciTempShipNum].damage = shipP[ciTempShipNum].damage + 1;
var ciTempDamLight = ((("s" + ciTempShipNum) + "") + shipP[ciTempShipNum].damage);
E.DamageDisplay[ciTempDamLight].gotoAndStop(2);
var ciTempIndicator = ("Indicator" + ciTempShipNum);
E.DamageDisplay[ciTempIndicator].gotoAndPlay(2);
if (shipP[ciTempShipNum].damage >= shipP[ciTempShipNum].len) {
ciKillCnt++;
doSndStart("Sink", 1, 100, -80);
E.GameBrdC[ciTempShipCode]._alpha = 40;
if (ciKillCnt >= 5) {
getScore();
gpCheat = 1;
_root.E.GameBrdP.GameGridP._visible = true;
doCheat();
gpCommStr = "We have lost";
showMessage(48, "E");
} else {
gpCommStr = ("Our " + shipP[ciTempShipNum].name) + " has been sunk !";
showMessage(24, "E");
ciHitMem[ciTempShipNum] = -1;
if (ciTempShipCode == ciCurShipCode) {
ciCurShipCode = "";
ciTempShipNum = "";
ciTempShipCode = "";
ciHitFirst = "";
ciFireDir = -1;
ciHitMemTotal = 0;
var i = 1;
while (i < 6) {
if (ciHitMem[i] != -1) {
ciHitMemTotal++;
}
i++;
}
if (ciHitMemTotal == 0) {
ciFireMode = 0;
} else {
var i = 1;
while (i < 6) {
if (ciHitMem[i] != -1) {
ciHitFirst = ciHitMem[i];
ciGridNum = ciHitMem[i];
ciGridRefX = ciGridNum % 10;
ciGridRefY = Math.floor(ciGridNum / 10);
ciCurShipCode = gridP[ciGridNum].kind;
break;
}
i++;
}
ciFireMode = 1;
}
} else {
ciFireMode = 1;
ciFireDir = -1;
}
}
}
if (ciKillCnt != 5) {
E.TurnDelay.gotoAndPlay(2);
}
}
}
function ciDirVal(Dx, Dy) {
this.Dx = Dx;
this.Dy = Dy;
}
function doShotP(plSelGridNm) {
gpTurn = true;
gpEnableGrid = true;
_root.E.GameBrdP.GameGridP._visible = true;
var plSelGridNum = plSelGridNm.substring(1, plSelGridNm.length);
if (gridC[plSelGridNum].state == 0) {
gridC[plSelGridNum].state = 1;
scTotalShotsP++;
var plResultNm = ("r" + plSelGridNum);
var plTempGridRefX = (plSelGridNum % 10);
var plTempGridRefY = Math.floor(plSelGridNum / 10);
var plTempGridLocX = E.GameBrdP.GameGridP[plSelGridNm]._x;
var plTempGridLocY = E.GameBrdP.GameGridP[plSelGridNm]._y;
if (gridC[plSelGridNum].kind == "w") {
doSndStart("Mis", 0, 100, 80);
scTotalMisP++;
E.GameBrdP.mis._x = plTempGridLocX;
E.GameBrdP.mis._y = plTempGridLocY;
E.GameBrdP.mis.gotoAndPlay(2);
E.GameBrdP[plResultNm].gotoAndStop("Mis");
gpTurn = false;
gpEnableGrid = false;
E.GameBrdP.GameGridP._visible = false;
E.GameBrdC.turnInd._alpha = 100;
E.GameBrdP.turnInd._alpha = 40;
E.TurnDelay.gotoAndPlay(2);
} else {
scTotalHitsP++;
doSndStart("Hit", 0, 80, 80);
E.GameBrdP.hit._x = plTempGridLocX;
E.GameBrdP.hit._y = plTempGridLocY;
E.GameBrdP.hit.gotoAndPlay(2);
E.GameBrdP[plResultNm].gotoAndStop("Hit");
var plHitShipCode = gridC[plSelGridNum].kind;
var plHitShipNum = plHitShipCode.charAt(1);
shipC[plHitShipNum].damage++;
if (shipC[plHitShipNum].damage >= shipC[plHitShipNum].len) {
doSndStart("Sink", 1, 100, -80);
doSndStart("Klaxon", 2, 60, -30);
gpTurn = false;
_root.E.GameBrdP.GameGridP._visible = false;
gpCommStr = ("We have destroyed the enemy's " + shipC[plHitShipNum].name) + ", sir!";
showMessage(24, "E");
plKillCnt++;
if (plKillCnt >= 5) {
getScore();
gpTurn = false;
gpEnableGrid = false;
_root.E.GameBrdP.GameGridP._visible = false;
gpCommStr = "We have WON!!";
showMessage(24, "E");
scResultMovie = "win";
}
} else {
gpTurn = false;
_root.E.GameBrdP.GameGridP._visible = false;
gpCommStr = admData[getRandomvalue(0, 10)];
showMessage(12, "E");
}
}
} else {
gpTurn = false;
_root.E.GameBrdP.GameGridP._visible = false;
gpCommStr = "We have allready shot this position, sir!";
showMessage(24, "E");
}
}
function doCheat() {
gpCheat = ((gpCheat == 1) ? 2 : 1);
var i = 0;
while (i < 100) {
if (gridC[i].kind != "w") {
var chTempObj = ("g" + i);
E.GameBrdP.GameGridP[chTempObj].cheat.gotoAndStop(gpCheat);
}
i++;
}
}
function checkInGrid(PosStart, ShipLen) {
if (10 >= (PosStart + ShipLen)) {
return(true);
}
return(false);
}
function checkGrid(PosX, PosY, Dir, ShipLen, Side) {
var result = true;
var posDynamic = ((Dir == "h") ? (PosX) : (PosY));
var posStatic = ((Dir == "h") ? (PosY) : (PosX));
var n = posDynamic;
while (n < (posDynamic + ShipLen)) {
var gpTempGridIndex = ((Dir == "h") ? ((posStatic * 10) + n) : ((n * 10) + posStatic));
var gpTempArrayObj = eval ("grid" + Side);
if (gpTempArrayObj[gpTempGridIndex].kind != "w") {
result = false;
break;
}
n++;
}
return(result);
}
function showMessage(t, scn) {
if (!gpCommFlag) {
gpCommFlag = true;
gpCommTimeOut = t;
gpCommScn = scn;
_root[gpCommScn].CommPanel.Play();
}
}
function doTimer() {
gpCommTimer = gpCommTimer + 1;
if (gpCommTimer < gpCommTimeOut) {
_root[gpCommScn].CommPanel.gotoAndPlay(5);
} else {
_root[gpCommScn].CommPanel.gotoAndPlay(7);
gpCommStr = "";
gpCommTimer = 0;
gpCommTimeOut = 0;
gpTurn = true;
}
}
function doSndStart(snd, loops, vol, pan) {
getSndTargetNm(snd).setVolume(vol);
getSndTargetNm(snd).setPan(pan);
getSndTargetNm(snd).start(0, loops);
}
function initSndFade(snd) {
sndFlag = 1;
getSndClipNm(snd).play();
}
function doSndFade(clipNm) {
var strLen = clipNm.length;
var sndFadeTrgt = clipNm.substring(2, strLen);
if (0 < sndVol) {
sndVol = sndVol - 5;
getSndTargetNm(sndFadeTrgt).setVolume(sndVol);
} else {
sndFlag = 0;
getSndTargetNm(sndFadeTrgt).stop();
sndFadeTrgt = "";
}
}
function getSndTargetNm(snd) {
var sndClipNm = ("Mc" + snd);
var sndObjNm = ("Snd" + snd);
var sndTrg = _root.SndLib[sndClipNm][sndObjNm];
return(sndTrg);
}
function getSndClipNm(snd) {
var sndClipNm = ("Mc" + snd);
var sndClp = _root.SndLib[sndClipNm];
return(sndClp);
}
function getRandomvalue(minVal, maxVal) {
var Rng = ((maxVal - minVal) + 1);
var RngLen = ("" + Rng).length;
var rndVal = ((Math.floor(Math.random() * Math.pow(10, RngLen)) % Rng) + parseInt(minVal));
return(rndVal);
}
function getScore() {
if (dpShipCnt < 5) {
myscore = 0;
} else {
myscore = 2840;
if (plKillCnt == 5) {
myscore = myscore + 500;
}
myscore = myscore - (scTotalMisP * 10);
myscore = myscore + (scTotalHitsP * 20);
myscore = myscore + (scTotalMisC * 10);
myscore = myscore - (scTotalHitsC * 20);
d = 1;
while (d < 6) {
if (shipC[d].damage >= shipC[d].len) {
myscore = myscore + ((6 - d) * 100);
}
if (shipP[d].damage >= shipP[d].len) {
myscore = myscore - ((6 - d) * 100);
}
d++;
}
scTotalMisP = ((0 < scTotalMisP) ? (scTotalMisP) : 1);
tacBonusP = Math.round((scTotalHitsP * 100) / scTotalMisP);
myscore = myscore + (tacBonusP * 10);
scTotalMisC = ((0 < scTotalMisC) ? (scTotalMisC) : 1);
tacBonusC = Math.round((scTotalHitsC * 100) / scTotalMisC);
myscore = myscore - (tacBonusC * 10);
if (myscore < 0) {
myscore = 0;
}
}
}
function commentScore() {
var theCom = "";
var scoreComments = new Array();
scoreComments[0] = ("Well done, " + myname) + ", well done!";
scoreComments[1] = ("You should sign up, " + myname) + "!";
scoreComments[2] = ("Don't you love the smell of burned steel, " + myname) + "?";
scoreComments[3] = ("War is hell, right, " + myname) + "?";
scoreComments[4] = ("Do you want some more, " + myname) + "?";
scoreComments[5] = ("This is too easy, " + myname) + "!";
scoreComments[6] = ("We won this battle, " + myname) + ", not the war!";
scoreComments[7] = ("An impressive victory, " + myname) + "!";
scoreComments[8] = ("Let's get some medals, " + myname) + "!";
scoreComments[9] = ("Let's get some medals, " + myname) + "!";
scoreComments[10] = ("It's good to have you back, " + myname) + "!";
scoreComments[11] = ("You can keep your boat, " + myname) + "!";
var rnd = getRandomvalue(0, 10);
theCom = scoreComments[rnd];
return(theCom);
}
function doReplay() {
_root.gpTurn = true;
_root.gpSelGridNum = "";
_root.gpCheat = 1;
_root.gpMenuBug = true;
_root.gpEnableGrid = true;
_root.scResultMovie = "lose";
_root.scTotalShotsP = 0;
_root.scTotalHitsP = 0;
_root.scTotalMisP = 0;
_root.scTotalHitsPercP = 0;
_root.scTotalShotsC = 0;
_root.scTotalHitsC = 0;
_root.scTotalMisC = 0;
_root.scTotalHitsPercC = 0;
_root.myscore = 0;
_root.gpCommStr = "";
_root.gpCommScn = "";
_root.gpCommTimeOut = 0;
_root.gpCommTimer = 0;
_root.gpCommFlag = false;
_root.dpSelShipCode = "";
_root.dpSelShipNum;
_root.dpSelShipLen;
_root.dpPosStart;
_root.dpPosX;
_root.dpPosY;
_root.dpDir = "h";
_root.dpShipCnt = 0;
_root.ciShotCnt = 0;
_root.ciKillCnt = 0;
_root.ciLastShotGridIndex = "";
_root.ciGridNum;
_root.ciGridNm = "";
_root.ciGridRefX;
_root.ciGridRefY;
_root.ciFireMode = 0;
_root.ciFireDir = -1;
_root.ciTempShipNum;
_root.ciTempShipCode = "";
_root.ciCurShipCode = "";
_root.ciHitFirst;
_root.ciHitMem.length = 0;
_root.ciPattern.length = 0;
_root.ciPatternType = 1;
_root.ciPatternRes = 4;
i = 1;
while (i < 6) {
_root.ciHitMem[i] = -1;
i++;
}
_root.plKillCnt = 0;
_root.sndFlag = 0;
_root.sndVol = 100;
_root.shipP[1] = new shipData(0, true, "Minesweeper", 0, 0, "h", 2);
_root.shipP[2] = new shipData(0, true, "Submarine", 0, 0, "h", 3);
_root.shipP[3] = new shipData(0, true, "Frigate", 0, 0, "h", 3);
_root.shipP[4] = new shipData(0, true, "Battleship", 0, 0, "h", 4);
_root.shipP[5] = new shipData(0, true, "Aircraft Carrier", 0, 0, "h", 5);
_root.shipC[1] = new shipData(0, true, "Minesweeper", 0, 0, "h", 2);
_root.shipC[2] = new shipData(0, true, "Submarine", 0, 0, "h", 3);
_root.shipC[3] = new shipData(0, true, "Frigate", 0, 0, "h", 3);
_root.shipC[4] = new shipData(0, true, "Battleship", 0, 0, "h", 4);
_root.shipC[5] = new shipData(0, true, "Aircraft Carrier", 0, 0, "h", 5);
_root.initGrid();
_root.gotoAndPlay(11);
}
fscommand ("fullscreen", true);
fscommand ("allowscale", false);
fscommand ("showmenu", false);
var gpTurn = true;
var gpSelGridNm = "";
var gpSelGridNum = "";
var gpCheat = 1;
var gpMenuBug = true;
var gpEnableGrid = true;
var scResultMovie = "lose";
var scTotalShotsP = 0;
var scTotalHitsP = 0;
var scTotalMisP = 0;
var scTotalHitsPercP = 0;
var scTotalShotsC = 0;
var scTotalHitsC = 0;
var scTotalMisC = 0;
var scTotalHitsPercC = 0;
var myscore = 0;
var myname = "Anonymous";
var gpCommStr = "";
var gpCommScn = "";
var gpCommTimeOut = 0;
var gpCommTimer = 0;
var gpCommFlag = false;
var dpSelShipCode = "";
var dpSelShipNum;
var dpSelShipLen;
var dpPosStart;
var dpPosX;
var dpPosY;
var dpDir = "h";
var dpShipCnt = 0;
var ciShotCnt = 0;
var ciKillCnt = 0;
var ciLastShotGridIndex = "";
var ciGridNum;
var ciGridNm = "";
var ciGridRefX;
var ciGridRefY;
var ciFireMode = 0;
var ciFireDir = -1;
var ciTempShipNum;
var ciTempShipCode = "";
var ciCurShipCode = "";
var ciHitFirst;
var ciHitMem = new Array();
var ciPattern = new Array();
var ciPatternType = 1;
var ciPatternRes = 4;
var i = 1;
while (i < 6) {
ciHitMem[i] = -1;
i++;
}
var plKillCnt = 0;
var sndFlag = 0;
var sndVol = 100;
var shipP = new Array();
shipP[1] = new shipData(0, true, "Minesweeper", 0, 0, "h", 2);
shipP[2] = new shipData(0, true, "Submarine", 0, 0, "h", 3);
shipP[3] = new shipData(0, true, "Frigate", 0, 0, "h", 3);
shipP[4] = new shipData(0, true, "Battleship", 0, 0, "h", 4);
shipP[5] = new shipData(0, true, "Aircraft Carrier", 0, 0, "h", 5);
var shipC = new Array();
shipC[1] = new shipData(0, true, "Minesweeper", 0, 0, "h", 2);
shipC[2] = new shipData(0, true, "Submarine", 0, 0, "h", 3);
shipC[3] = new shipData(0, true, "Frigate", 0, 0, "h", 3);
shipC[4] = new shipData(0, true, "Battleship", 0, 0, "h", 4);
shipC[5] = new shipData(0, true, "Aircraft Carrier", 0, 0, "h", 5);
var gridP = new Array();
var gridC = new Array();
var ciRndDir = new Array(4);
ciRndDir[0] = new ciDirVal(0, -1);
ciRndDir[1] = new ciDirVal(1, 0);
ciRndDir[2] = new ciDirVal(0, 1);
ciRndDir[3] = new ciDirVal(-1, 0);
var admData = new Array();
admData[0] = "Great shot !";
admData[1] = "Payback time !";
admData[2] = "Allright !";
admData[3] = "Take that !";
admData[4] = "Yeah !";
admData[5] = "Way to go !";
admData[6] = "Bullseye !";
admData[7] = "Strike One !";
admData[8] = "Bingo !";
admData[9] = "Okay ! !";
admData[10] = "HIT !";
stop();
Frame 4
_root.doSndStart("TitleLoop", 30, 100, 0);
stop();
Frame 12
stop();
Frame 22
C.GameBrdD.s1._visible = false;
C.GameBrdD.s2._visible = false;
C.GameBrdD.s3._visible = false;
C.GameBrdD.s4._visible = false;
C.GameBrdD.s5._visible = false;
stop();
Frame 32
stop();
Frame 43
E.GameBrdC.s1._visible = false;
E.GameBrdC.s2._visible = false;
E.GameBrdC.s3._visible = false;
E.GameBrdC.s4._visible = false;
E.GameBrdC.s5._visible = false;
stop();
Frame 53
_root.doSndStart("TitleLoop", 30, 100, 0);
Frame 62
stop();
Frame 63
_root.doSndStart("TitleLoop", 30, 100, 0);
Frame 72
stop();
Frame 73
stop();
Frame 83
stopAllSounds();
stop();
Frame 84
stop();
Frame 85
stop();
Frame 86
stop();
Frame 87
stop();
Frame 88
stop();
Frame 89
stop();
Frame 90
stop();
Frame 91
stop();
Frame 92
stop();
Symbol 33 MovieClip [mis2] Frame 1
stop();
Symbol 33 MovieClip [mis2] Frame 3
this.SplashA.gotoAndPlay(2);
Symbol 73 MovieClip [hit2] Frame 1
stop();
Symbol 78 MovieClip [lose] Frame 1
var dirSgn = 1;
Instance of Symbol 75 MovieClip "imageClip" in Symbol 78 MovieClip [lose] Frame 1
onClipEvent (load) {
this.attachMovie("imgLose", "img", 1);
this.img._x = -148;
this.img._y = -71;
}
onClipEvent (enterFrame) {
if (-1 < this.img._x) {
_parent.dirSgn = -1;
} else if (this.img._x < -149) {
_parent.dirSgn = 1;
}
this.img._x = this.img._x + _parent.dirSgn;
}
Instance of Symbol 76 MovieClip "smokeClip" in Symbol 78 MovieClip [lose] Frame 1
onClipEvent (load) {
this.attachMovie("smoke", "smoke1", 1);
this.attachMovie("smoke", "smoke2", 2);
smObj1 = this.smoke1;
smObj2 = this.smoke2;
smObj1._x = -400;
smObj1._y = -50;
smObj2._x = -800;
smObj2._y = -50;
}
onClipEvent (enterFrame) {
smObj1._x = smObj1._x + 5;
smObj2._x = smObj2._x + 5;
if (150 < smObj1._x) {
smObj1._x = smObj2._x - 350;
}
if (150 < smObj2._x) {
smObj2._x = smObj1._x - 350;
}
}
Symbol 82 MovieClip Frame 1
this.congrats = "Congratulations, the entire enemy fleet has been annihilated!";
Symbol 82 MovieClip Frame 36
this.congrats = _root.commentScore();
Symbol 83 MovieClip [win] Frame 1
var dirSgn = 1;
Instance of Symbol 79 MovieClip "imageClip" in Symbol 83 MovieClip [win] Frame 1
onClipEvent (load) {
this.attachMovie("imgWin", "img", 1);
this.img._x = -148;
this.img._y = -71;
}
onClipEvent (enterFrame) {
if (-1 < this.img._x) {
_parent.dirSgn = -1;
} else if (this.img._x < -149) {
_parent.dirSgn = 1;
}
this.img._x = this.img._x + _parent.dirSgn;
}
Symbol 89 MovieClip Frame 1
stop();
Instance of Symbol 87 MovieClip "Bar" in Symbol 89 MovieClip Frame 1
onClipEvent (enterFrame) {
var pct = Math.round((_root.getBytesLoaded() / _root.getBytesTotal()) * 100);
if (pct < 100) {
this._width = pct;
_root.vPercentage = pct + " %";
}
if (pct >= 100) {
_root.gotoAndPlay("continue");
}
}
Symbol 104 MovieClip Frame 1
stop();
Symbol 115 MovieClip Frame 99
stop();
stop();
Symbol 124 MovieClip Frame 1
stop();
Symbol 130 Button
on (release) {
if (0 < _root.A.EnterName.f_userName.length) {
_root.myname = _root.A.EnterName.f_userName;
_root.gotoAndStop("CutScene01");
}
_root.doSndStart("Knob", 0, 100, 0);
}
Symbol 133 Button
on (release) {
getURL ("http://www.miniclip.com/Homepage.htm", "_blank");
}
Symbol 139 Button
on (release) {
getURL ("http://www.miniclip.com/Homepage.htm", "_blank");
}
Symbol 143 Button
on (release) {
getURL ("http://www.miniclip.com/signup.htm", "_blank");
}
Symbol 147 Button
on (release) {
getURL ("http://www.miniclip.com/download_battleships.htm", "_blank");
}
Symbol 148 MovieClip Frame 146
_root.doSndStart("Klaxon", 2, 60, -30);
Symbol 148 MovieClip Frame 159
_root.doSndStart("Seagulls", 0, 60, 30);
Symbol 148 MovieClip Frame 172
stop();
Symbol 151 MovieClip Frame 1
if (_root.sndFlag == 0) {
stop();
}
Symbol 152 MovieClip Frame 1
if (_root.sndFlag == 0) {
stop();
}
Symbol 153 MovieClip Frame 1
if (_root.sndFlag == 0) {
stop();
}
Symbol 154 MovieClip Frame 1
if (_root.sndFlag == 0) {
stop();
}
Symbol 155 MovieClip Frame 1
if (_root.sndFlag == 0) {
stop();
}
Symbol 156 MovieClip Frame 1
if (_root.sndFlag == 0) {
stop();
}
Symbol 157 MovieClip Frame 1
if (_root.sndFlag == 0) {
stop();
}
Symbol 159 MovieClip Frame 1
if (_root.sndFlag == 0) {
stop();
}
Symbol 159 MovieClip Frame 3
if (_root.sndFlag == 1) {
_root.doSndFade(this._name);
}
Symbol 160 MovieClip Frame 1
if (_root.sndFlag == 0) {
stop();
}
Symbol 160 MovieClip Frame 3
if (_root.sndFlag == 1) {
_root.doSndFade(this._name);
}
Symbol 161 MovieClip Frame 1
if (_root.sndFlag == 0) {
stop();
}
Symbol 161 MovieClip Frame 3
if (_root.sndFlag == 1) {
_root.doSndFade(this._name);
}
Symbol 162 MovieClip Frame 1
stop();
Instance of Symbol 151 MovieClip "McKnob" in Symbol 162 MovieClip Frame 1
onClipEvent (load) {
SndKnob = new Sound(this);
SndKnob.attachSound("SrcKnob");
}
Instance of Symbol 152 MovieClip "McDeployed" in Symbol 162 MovieClip Frame 1
onClipEvent (load) {
SndDeployed = new Sound(this);
SndDeployed.attachSound("SrcDeployed");
}
Instance of Symbol 153 MovieClip "McInGrid" in Symbol 162 MovieClip Frame 1
onClipEvent (load) {
SndInGrid = new Sound(this);
SndInGrid.attachSound("SrcInGrid");
}
Instance of Symbol 154 MovieClip "McOnTop" in Symbol 162 MovieClip Frame 1
onClipEvent (load) {
SndOnTop = new Sound(this);
SndOnTop.attachSound("SrcOnTop");
}
Instance of Symbol 155 MovieClip "McSink" in Symbol 162 MovieClip Frame 1
onClipEvent (load) {
SndSink = new Sound(this);
SndSink.attachSound("SrcSink");
}
Instance of Symbol 156 MovieClip "McHit" in Symbol 162 MovieClip Frame 1
onClipEvent (load) {
SndHit = new Sound(this);
SndHit.attachSound("SrcHit");
}
Instance of Symbol 157 MovieClip "McMis" in Symbol 162 MovieClip Frame 1
onClipEvent (load) {
SndMis = new Sound(this);
SndMis.attachSound("SrcMis");
}
Instance of Symbol 159 MovieClip "McKlaxon" in Symbol 162 MovieClip Frame 1
onClipEvent (load) {
SndKlaxon = new Sound(this);
SndKlaxon.attachSound("SrcKlaxon");
}
Instance of Symbol 160 MovieClip "McSeagulls" in Symbol 162 MovieClip Frame 1
onClipEvent (load) {
SndSeagulls = new Sound(this);
SndSeagulls.attachSound("SrcSeagulls");
}
Instance of Symbol 161 MovieClip "McTitleLoop" in Symbol 162 MovieClip Frame 1
onClipEvent (load) {
SndTitleLoop = new Sound(this);
SndTitleLoop.attachSound("SrcTitleLoop");
}
Symbol 166 Button
on (release) {
getURL ("http://home.iae.nl/users/franklin", "_blank");
}
Symbol 171 MovieClip Frame 48
_root.gotoAndStop("Deployment");
Symbol 187 MovieClip Frame 1
stop();
Symbol 191 MovieClip Frame 1
stop();
Symbol 192 MovieClip Frame 1
stop();
Symbol 199 MovieClip Frame 1
stop();
Symbol 206 MovieClip Frame 1
stop();
Symbol 213 MovieClip Frame 1
stop();
Symbol 220 MovieClip Frame 1
stop();
Symbol 222 Button
on (rollOver) {
if (_root.gpTurn == true) {
_root.gpSelGridNm = this._name;
_root.checkPlacement();
this.gotoAndStop(2);
}
}
on (rollOut) {
this.gotoAndStop(1);
}
on (release) {
if (_root.gpTurn == true) {
_root.doDeploy(this._name);
}
}
Symbol 227 MovieClip Frame 1
stop();
Symbol 228 MovieClip Frame 1
var suShiftX = 24.64444;
var suShiftY = 14.3;
var suShiftCnt = 0;
var suDepth = 0;
var suY = 0;
var suX;
var suBaseX = 1;
while (suY < 10) {
if (suY != 0) {
suBaseX = 0;
}
suX = suBaseX;
while (suX < 10) {
suDepth = suDepth + 1;
var su_tempObj = ("g" + suDepth);
duplicateMovieClip (this.g0, su_tempObj, suDepth);
this[su_tempObj]._x = this[su_tempObj]._x + ((suX * 24.655556) + (suShiftCnt * suShiftX));
this[su_tempObj]._y = this[su_tempObj]._y - ((suX * 14.3) - (suShiftCnt * suShiftY));
suX++;
}
suShiftCnt = suShiftCnt + 1;
suY = suY + 1;
}
Symbol 228 MovieClip Frame 2
stop();
Symbol 230 MovieClip Frame 1
stop();
Instance of Symbol 228 MovieClip "GameGridD" in Symbol 230 MovieClip Frame 1
onClipEvent (keyDown) {
newKey = Key.getCode();
myKeyH = Key.LEFT;
myKeyV = Key.RIGHT;
if (newKey == myKeyH) {
_root.doTurn("h");
} else if (newKey == myKeyV) {
_root.doTurn("v");
}
}
Symbol 232 Button
on (rollOver) {
if (_root.gpTurn == true) {
if (this.s5._visible == true) {
this.gotoAndStop("AircraftCarrier");
}
}
}
on (press) {
if (_root.gpTurn == true) {
_root.dpSelShipCode = "s5";
}
}
Symbol 233 Button
on (rollOver) {
if (_root.gpTurn == true) {
if (this.s4._visible == true) {
this.gotoAndStop("Battleship");
}
}
}
on (press) {
if (_root.gpTurn == true) {
_root.dpSelShipCode = "s4";
}
}
Symbol 234 Button
on (rollOver) {
if (_root.gpTurn == true) {
if (this.s3._visible == true) {
this.gotoAndStop("Frigate");
}
}
}
on (press) {
if (_root.gpTurn == true) {
_root.dpSelShipCode = "s3";
}
}
Symbol 235 Button
on (rollOver) {
if (_root.gpTurn == true) {
if (this.s2._visible == true) {
this.gotoAndStop("Submarine");
}
}
}
on (press) {
if (_root.gpTurn == true) {
_root.dpSelShipCode = "s2";
}
}
Symbol 236 Button
on (rollOver) {
if (_root.gpTurn == true) {
if (this.s1._visible == true) {
this.gotoAndStop("Minesweeper");
}
}
}
on (press) {
if (_root.gpTurn == true) {
_root.dpSelShipCode = "s1";
}
}
Symbol 237 MovieClip Frame 1
stop();
Symbol 247 MovieClip Frame 1
stop();
Symbol 251 MovieClip Frame 1
stop();
Symbol 251 MovieClip Frame 5
var i = Math.round(Math.random(5) * 4);
if (i == 4) {
Admiral.gotoAndPlay(2);
}
Symbol 251 MovieClip Frame 6
_root.doTimer();
this.Message = _root.gpCommStr;
Symbol 251 MovieClip Frame 12
_root.gpCommFlag = false;
if ((_root.E.GameBrdP.GameGridP._visible == false) && (_root.gpEnableGrid)) {
_root.E.GameBrdP.GameGridP._visible = true;
}
if (_root.dpShipCnt == 5) {
_root.dpShipCnt = 6;
_root.gotoAndPlay("CutScene02");
}
if ((_root.ciKillCnt >= 5) || (_root.plKillCnt >= 5)) {
_root.gotoAndPlay("Score");
}
Symbol 252 MovieClip Frame 1
_root.initGrid();
Symbol 252 MovieClip Frame 9
_root.initSndFade("TitleLoop");
Symbol 252 MovieClip Frame 23
stop();
Symbol 254 MovieClip Frame 48
if (_root.gpMenuBug) {
_root.gotoAndStop("Cheat");
} else {
_root.gotoAndStop("GameMain");
}
Symbol 257 MovieClip Frame 1
stop();
Symbol 258 MovieClip Frame 1
stop();
Symbol 259 MovieClip Frame 1
stop();
Symbol 260 MovieClip Frame 1
var suBShiftX = 24.64444;
var suBShiftY = 14.3;
var suBShiftCnt = 0;
var suBDepth = 0;
var suBY = 0;
var suBX;
var suBBaseX = 1;
while (suBY < 10) {
if (suBY != 0) {
suBBaseX = 0;
}
suBX = suBBaseX;
while (suBX < 10) {
suBDepth = suBDepth + 1;
var suB_tempObj = ("g" + suBDepth);
duplicateMovieClip (this.g0, suB_tempObj, suBDepth);
this[suB_tempObj]._x = this[suB_tempObj]._x + ((suBX * 24.655556) + (suBShiftCnt * suBShiftX));
this[suB_tempObj]._y = this[suB_tempObj]._y - ((suBX * 14.3) - (suBShiftCnt * suBShiftY));
suBX++;
}
suBShiftCnt = suBShiftCnt + 1;
suBY = suBY + 1;
}
Symbol 260 MovieClip Frame 2
stop();
Symbol 263 MovieClip Frame 1
stop();
Symbol 264 MovieClip Frame 1
stop();
Symbol 264 MovieClip Frame 3
this.SplashA.gotoAndPlay(2);
Symbol 265 MovieClip Frame 1
stop();
Symbol 267 MovieClip Frame 1
stop();
Symbol 268 Button
on (rollOver) {
if (_root.gpTurn == true) {
this.gotoAndStop(2);
}
}
on (rollOut) {
this.gotoAndStop(1);
}
on (release) {
if (_root.gpTurn == true) {
_root.doShotP(this._name);
}
}
Symbol 269 MovieClip Frame 1
stop();
Symbol 270 MovieClip Frame 1
stop();
Symbol 271 MovieClip Frame 1
var suAShiftX = 24.64444;
var suAShiftY = 14.3;
var suAShiftCnt = 0;
var suADepth = 0;
var suAY = 0;
var suAX;
var suABaseX = 1;
while (suAY < 10) {
if (suAY != 0) {
suABaseX = 0;
}
suAX = suABaseX;
while (suAX < 10) {
suADepth = suADepth + 1;
var suA_tempObj = ("g" + suADepth);
duplicateMovieClip (this.g0, suA_tempObj, suADepth);
this[suA_tempObj]._x = this[suA_tempObj]._x + ((suAX * 24.655556) + (suAShiftCnt * suAShiftX));
this[suA_tempObj]._y = this[suA_tempObj]._y - ((suAX * 14.3) - (suAShiftCnt * suAShiftY));
suAX++;
}
suAShiftCnt = suAShiftCnt + 1;
suAY = suAY + 1;
}
Symbol 271 MovieClip Frame 2
stop();
Symbol 272 MovieClip Frame 1
var suRShiftX = 24.64444;
var suRShiftY = 14.3;
var suRShiftCnt = 0;
var suRDepth = 0;
var suRY = 0;
var suRX;
var suRBaseX = 1;
while (suRY < 10) {
if (suRY != 0) {
suRBaseX = 0;
}
suRX = suRBaseX;
while (suRX < 10) {
suRDepth = suRDepth + 1;
var suR_tempObj = ("r" + suRDepth);
duplicateMovieClip (this.r0, suR_tempObj, suRDepth);
this[suR_tempObj]._x = this[suR_tempObj]._x + ((suRX * 24.655556) + (suRShiftCnt * suRShiftX));
this[suR_tempObj]._y = this[suR_tempObj]._y - ((suRX * 14.3) - (suRShiftCnt * suRShiftY));
suRX++;
}
suRShiftCnt = suRShiftCnt + 1;
suRY = suRY + 1;
}
attachMovie("mis2", "mis", 1000);
attachMovie("hit2", "hit", 1001);
stop();
Symbol 277 MovieClip Frame 1
stop();
Symbol 283 MovieClip Frame 1
stop();
Symbol 285 MovieClip Frame 1
stop();
Symbol 285 MovieClip Frame 36
_root.doShotC();
Symbol 286 MovieClip Frame 1
stop();
Symbol 286 MovieClip Frame 36
_root.gpTurn = true;
_root.gpEnableGrid = true;
_root.E.GameBrdP.GameGridP._visible = true;
_root.E.GameBrdP.turnInd._alpha = 100;
_root.E.GameBrdC.turnInd._alpha = 40;
Symbol 287 Button
on (release) {
if (_root.myname == "bsgq") {
_root.doCheat();
}
}
Symbol 288 MovieClip Frame 3
_root.initRandomSetup();
stop();
Symbol 289 Button
on (release) {
getURL ("http://www.miniclip.com", "_blank");
}
Symbol 294 Button
on (release) {
getURL ("http://www.iae.nl/users/franklin", "_self", "POST");
}
Symbol 297 MovieClip Frame 70
stop();
Symbol 298 MovieClip Frame 1
this.myscore = Math.floor(_root.myscore);
this.myname = _root.myname;
stop();
Symbol 302 Button
on (release) {
_root.doReplay();
}
Symbol 307 MovieClip Frame 1
Instance of Symbol 298 MovieClip "ScorePanel" in Symbol 307 MovieClip Frame 1
onClipEvent (load) {
if (_root.scResultMovie == "lose") {
this._visible = false;
}
}
Instance of Symbol 306 MovieClip "emptyClip" in Symbol 307 MovieClip Frame 1
onClipEvent (load) {
this.stop();
this.attachMovie(_root.scResultMovie, "resultMovie", 10);
}
Symbol 307 MovieClip Frame 4
stop();
Symbol 318 Button
on (release) {
getURL ("http://www.iae.nl/users/franklin", "_self", "POST");
}
Symbol 320 MovieClip Frame 1
stop();