Frame 1
score = 0;
scorestr = "00000000000000000000";
Stage.showMenu = false;
Frame 37
function initWave(wn) {
switch (wn) {
case 0 :
et = "Car";
en = 100;
waveleft = 30;
fs = 0.1;
break;
case 1 :
et = "Car2";
en = 100;
waveleft = 90;
fs = 0.3;
break;
case 2 :
et = "Car3";
en = 10;
waveleft = 30;
fs = 0.5;
break;
case 3 :
et = "Car2";
en = 150;
waveleft = 30;
fs = 0.7;
break;
case 4 :
et = "Car";
en = 10;
waveleft = 100;
fs = 0.1;
break;
case 5 :
et = "Car4";
en = 60;
waveleft = 100;
fs = 1;
break;
case 6 :
et = "Car";
en = 10;
waveleft = 150;
fs = 1.5;
break;
case 7 :
et = "Bus";
en = 100;
waveleft = 200;
fs = 0.2;
break;
case 8 :
et = "Car4";
en = 100;
waveleft = 250;
fs = 4;
break;
case 9 :
et = "Bus";
en = 140;
waveleft = 250;
fs = 5;
break;
case 10 :
et = "Car3";
en = 15;
waveleft = 250;
fs = 10;
break;
case 11 :
et = "Car1";
en = 200;
waveleft = 250;
fs = 20;
break;
case 12 :
et = "Car4";
en = 200;
waveleft = 100;
fs = 100;
}
enm = en;
}
function spawn() {
if (nextwavein > 0) {
nextwavein--;
return(undefined);
}
ed = arena.getNextHighestDepth();
em = "q" + ed;
e = arena.attachMovie(et, em, ed);
e.is_enemy = true;
e._x = Math.random() * Stage.width;
e._y = Math.random() * Stage.height;
var _local1 = int(Math.random() * 4);
if (_local1 == 0) {
e._x = 0;
}
if (_local1 == 1) {
e._x = Stage.width - 1;
}
if (_local1 == 2) {
e._y = 0;
}
if (_local1 == 3) {
e._y = Stage.height - 10;
}
e.angle = Math.random() * 360;
en--;
if (en <= 0) {
spawning = 0;
}
}
waveno = -1;
waveleft = 0;
waveover = 0;
spawning = 0;
startin = 5;
gameover = 0;
restartin = 20;
control = 0;
fs = 0;
nextwavein = 0;
score = 0;
you.gotoAndStop(1);
hit._visible = true;
var et;
var en;
var ed;
var e;
var em;
var enm;
stop();
hit.onPress = function () {
hit._visible = false;
control = 1;
};
you.vx = (you.vy = 0);
you.s = 1.5;
onEnterFrame = function () {
if (gameover) {
if (restartin > 0) {
restartin--;
return(undefined);
}
gameover = 0;
_root.onEnterFrame = function () {
};
_root.play();
}
if (control) {
dx = you._xmouse;
dy = you._ymouse;
da = Math.atan2(dy, dx);
you.s = Math.sqrt((dy * dy) + (dx * dx)) / 2;
if (you.s > 1.5) {
you.s = 1.5;
}
mx = you.s * Math.cos(da);
my = you.s * Math.sin(da);
you.vx = you.vx + mx;
you.vy = you.vy + my;
you.vx = you.vx * 0.9;
you.vy = you.vy * 0.9;
you._x = you._x + you.vx;
you._y = you._y + you.vy;
_root.score = _root.score + fs;
_root.scorestr = String("00000000000000000000").substr(0, 20 - String(int(_root.score)).length) + String(int(_root.score));
} else {
return(undefined);
}
if (arena.hitTest(you._x, you._y, true)) {
gameover = 1;
you.play();
}
if (startin > 0) {
startin--;
return(undefined);
}
if (spawning) {
spawn();
return(undefined);
}
if (waveleft > 0) {
waveleft--;
} else {
waveover = 1;
var _local2 = 0;
for (q in arena) {
if (arena[q].is_enemy) {
_local2++;
}
}
var _local3;
if ((_local2 < (enm / 2)) || (_local2 == 0)) {
_local3 = true;
} else {
_local3 = false;
}
if (_local3) {
waveover = 0;
waveno++;
if (waveno > 12) {
waveno = 0;
}
initWave(waveno);
nextwavein = 30;
spawning = 1;
}
}
};
Frame 38
onEnterFrame = 0;
scorestr = int(score);
stop();
Symbol 2 MovieClip [Car4] Frame 1
function die() {
this.removeMovieClip();
}
speed = 2;
fr = 0;
onEnterFrame = function () {
var _local3 = _root.you._x - _x;
var _local2 = _root.you._y - _y;
var _local4 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
if ((fr || (_local4 < 50)) || (_root.gameover)) {
speed = 5;
fr = 1;
} else if (_local4 < 100) {
rangle = Math.atan2(_local3, _local2);
angle = angle + ((rangle - angle) * 0.2);
speed = 0.5;
} else {
rangle = (Math.random() * 0.4) - 0.2;
angle = angle + rangle;
speed = 3.5;
}
_x = (_x + (speed * Math.sin(angle)));
_y = (_y + (speed * Math.cos(angle)));
_rotation = (((-angle) / Math.PI) * 180);
if (_root.waveover) {
if (_x > Stage.width) {
die();
}
if (_y > Stage.height) {
die();
}
if (_x < 0) {
die();
}
if (_y < 0) {
die();
}
} else {
if (_x > Stage.width) {
_x = (_x - Stage.width);
}
if (_y > Stage.height) {
_y = (_y - Stage.height);
}
if (_x < 0) {
_x = (_x + Stage.width);
}
if (_y < 0) {
_y = (_y + Stage.height);
}
}
};
Symbol 4 MovieClip [Car3] Frame 1
function die() {
this.removeMovieClip();
}
speed = 1.5;
onEnterFrame = function () {
var _local3 = _root.you._x - _x;
var _local2 = _root.you._y - _y;
var _local4 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
if ((_local4 > 100) || (_root.gameover)) {
if (Math.random() > 0.5) {
angle = angle + 0.1;
} else {
angle = angle - 0.1;
}
if (angle > (Math.PI*2)) {
angle = angle - (Math.PI*2);
}
if (angle < 0) {
angle = angle + (Math.PI*2);
}
rangle = angle;
} else {
rangle = Math.atan2(_local3, _local2);
angle = angle + ((rangle - angle) * 0.2);
}
_x = (_x + (speed * Math.sin(angle)));
_y = (_y + (speed * Math.cos(angle)));
_rotation = (((-angle) / Math.PI) * 180);
if (_root.waveover) {
if (_x > Stage.width) {
die();
}
if (_y > Stage.height) {
die();
}
if (_x < 0) {
die();
}
if (_y < 0) {
die();
}
} else {
if (_x > Stage.width) {
_x = (_x - Stage.width);
}
if (_y > Stage.height) {
_y = (_y - Stage.height);
}
if (_x < 0) {
_x = (_x + Stage.width);
}
if (_y < 0) {
_y = (_y + Stage.height);
}
}
};
Symbol 6 MovieClip [Bus] Frame 1
function die() {
this.removeMovieClip();
}
speed = 1.8;
cangle = 0;
onEnterFrame = function () {
if (Math.random() > 0.5) {
cangle = cangle + 0.01;
} else {
cangle = cangle - 0.01;
}
if (cangle > 0.1) {
cangle = 0.1;
}
if (cangle < -0.1) {
cangle = -0.1;
}
angle = angle + cangle;
_x = (_x + (speed * Math.sin(angle)));
_y = (_y + (speed * Math.cos(angle)));
_rotation = (((-angle) / Math.PI) * 180);
if (_root.waveover) {
if (_x > Stage.width) {
die();
}
if (_y > Stage.height) {
die();
}
if (_x < 0) {
die();
}
if (_y < 0) {
die();
}
} else {
if (_x > Stage.width) {
_x = (_x - Stage.width);
}
if (_y > Stage.height) {
_y = (_y - Stage.height);
}
if (_x < 0) {
_x = (_x + Stage.width);
}
if (_y < 0) {
_y = (_y + Stage.height);
}
}
};
Symbol 8 MovieClip [Car2] Frame 1
function die() {
this.removeMovieClip();
}
speed = 1.5;
onEnterFrame = function () {
if (Math.random() > 0.5) {
angle = angle + 0.1;
} else {
angle = angle - 0.1;
}
_x = (_x + (speed * Math.sin(angle)));
_y = (_y + (speed * Math.cos(angle)));
_rotation = (((-angle) / Math.PI) * 180);
if (_root.waveover) {
if (_x > Stage.width) {
die();
}
if (_y > Stage.height) {
die();
}
if (_x < 0) {
die();
}
if (_y < 0) {
die();
}
} else {
if (_x > Stage.width) {
_x = (_x - Stage.width);
}
if (_y > Stage.height) {
_y = (_y - Stage.height);
}
if (_x < 0) {
_x = (_x + Stage.width);
}
if (_y < 0) {
_y = (_y + Stage.height);
}
}
};
Symbol 10 MovieClip [Car] Frame 1
function die() {
this.removeMovieClip();
}
speed = 1;
onEnterFrame = function () {
if (Math.random() > 0.5) {
angle = angle + 0.1;
} else {
angle = angle - 0.1;
}
_x = (_x + (speed * Math.sin(angle)));
_y = (_y + (speed * Math.cos(angle)));
_rotation = (((-angle) / Math.PI) * 180);
if (_root.waveover) {
if (_x > Stage.width) {
die();
}
if (_y > Stage.height) {
die();
}
if (_x < 0) {
die();
}
if (_y < 0) {
die();
}
} else {
if (_x > Stage.width) {
_x = (_x - Stage.width);
}
if (_y > Stage.height) {
_y = (_y - Stage.height);
}
if (_x < 0) {
_x = (_x + Stage.width);
}
if (_y < 0) {
_y = (_y + Stage.height);
}
}
};
Symbol 19 MovieClip Frame 1
stop();
Symbol 19 MovieClip Frame 32
stop();
Symbol 26 Button
on (press) {
getURL ("http://www.foon.co.uk/farcade", "_top");
}
Symbol 27 Button
on (press) {
play();
}