Frame 1
ifFrameLoaded (3) {
gotoAndPlay (3);
}
Frame 2
gotoAndPlay (1);
Frame 3
score = 0;
difficulty = 1;
margin = 0;
numcol = 3;
numsym = 3;
gridsize = 5;
vtime = 100;
maxnumcol = 6;
maxnumsym = 8;
margin = margin + (256 - (gridsize * 16));
ymargin = margin - 100;
great = 90;
music = new Sound();
music.attachSound("nyrush");
music.start(0, 1000);
blue = new Object();
blue.ra = 20;
blue.ga = 55;
blue.ba = 100;
orange = new Object();
orange.ra = 100;
orange.ga = 70;
orange.ba = 0;
yellow = new Object();
yellow.ra = 100;
yellow.ga = 100;
yellow.ba = 0;
green = new Object();
green.ra = 0;
green.ga = 80;
green.ba = 0;
purple = new Object();
purple.ra = 80;
purple.ga = 40;
purple.ba = 100;
red = new Object();
red.ra = 100;
red.ga = 20;
red.ba = 20;
colors = new Array(blue, orange, yellow, green, red, purple);
Instance of Symbol 39 MovieClip in Frame 3
onClipEvent (enterFrame) {
if (_root.endgame) {
_visible = true;
if (tempscore < _root.score) {
tempscore = tempscore + _root.scoremult;
}
if (tempclean >= _root.great) {
ispass = "Great!";
} else if (tempclean >= _root.pass) {
ispass = "Pass!";
} else if (bar.done) {
ispass = "Fail!";
}
} else {
_visible = false;
}
}
onClipEvent (data) {
trace(scorestring);
}
Instance of Symbol 69 MovieClip "sq" in Frame 3
onClipEvent (load) {
if (_name != "sq") {
_x = (_root.margin + (col * 32));
_y = (_root.ymargin + (row * 32));
}
squares = new Array();
_alpha = 40;
_visible = false;
timer = _root.vtime;
}
onClipEvent (enterFrame) {
if (_root.endgame && (_name != "sq")) {
_alpha = (_alpha - (_alpha / 4));
if (_alpha < 0.2) {
removeMovieClip(this);
}
} else {
vistimer++;
if (offset < vistimer) {
_visible = true;
}
if (infected && (breed != false)) {
if (timer < 0) {
squares[0] = eval ((("_root.sq" + row) + "|") + (col - 1));
squares[1] = eval ((("_root.sq" + row) + "|") + (col + 1));
squares[2] = eval ((("_root.sq" + (row - 1)) + "|") + col);
squares[3] = eval ((("_root.sq" + (row + 1)) + "|") + col);
ok = false;
i = 0;
while (i < 4) {
if (((squares[i].occupied != true) && (squares[i].infected != true)) && (squares[i].exists)) {
ok = true;
}
i++;
}
if (ok) {
do {
sqnum = Math.floor(Math.random() * 4);
} while ((squares[sqnum].occupied || (squares[sqnum].infected)) || (squares[sqnum].exists != true));
squares[sqnum].gotoAndStop(3);
squares[sqnum].infected = true;
squares[sqnum].parent = eval ("_root." + _name);
squares[sqnum].haveparent = true;
} else if (haveparent) {
parent.breed = true;
} else {
numsquares = _root.gridsize * _root.gridsize;
numinfected = 0;
i = 0;
while (i < _root.gridsize) {
n = 0;
while (n < _root.gridsize) {
mc = eval ((("_root.sq" + i) + "|") + n);
if (mc.infected) {
numinfected++;
}
n++;
}
i++;
}
_root.infected = Math.floor((numinfected / numsquares) * 100, 0);
_root.clean = 100 - _root.infected;
_root.score = _root.score + (_root.clean * _root.scoremult);
if (_root.clean >= _root.great) {
_root.score = _root.score + (50 * _root.scoremult);
}
Mouse.show();
_root.endgame = true;
}
breed = false;
} else {
timer--;
}
}
}
}
Frame 4
if (build) {
grid = new Array();
i = 0;
while (i < gridsize) {
Set("column" + i, new Array());
grid[i] = eval ("column" + i);
n = 0;
while (n < gridsize) {
grid[i][n] = "null";
level++;
duplicateMovieClip (sq, (("sq" + i) + "|") + n, level);
mc = eval ((("sq" + i) + "|") + n);
mc.row = i;
mc.col = n;
mc.exists = true;
mc.offset = (i + n) + 2;
n++;
}
i++;
}
vrow = Math.floor(Math.random() * gridsize);
vcol = Math.floor(Math.random() * gridsize);
mc = eval ((("sq" + vrow) + "|") + vcol);
mc.gotoAndStop(3);
mc.infected = true;
i = 0;
while (i < (gridsize + 1)) {
level++;
duplicateMovieClip (gridline, "gridline" + level, level);
mc = eval ("gridline" + level);
mc._x = margin;
mc._y = (32 * i) + ymargin;
mc._xscale = 0;
mc.duplicate = false;
i++;
}
i = 0;
while (i < (gridsize + 1)) {
level++;
duplicateMovieClip (gridline, "gridline" + level, level);
mc = eval ("gridline" + level);
mc._y = ymargin;
mc._x = ((32 * i) + 2) + margin;
mc._xscale = 0;
mc._rotation = 90;
mc.duplicate = false;
i++;
}
level++;
numtile++;
duplicateMovieClip (tile, "tile" + numtile, level);
mc = eval ("tile" + numtile);
pos = (gridsize / 2) - 0.5;
mc.row = pos;
mc.col = pos;
mc.duplicate = false;
mc.symbol = 0;
mc.color = 1;
grid[pos][pos] = String("_root.tile" + numtile);
mc = eval ((("sq" + pos) + "|") + pos);
mc.gotoAndStop(2);
mc.occupied = true;
placetile = true;
build = false;
}
if (Key.isDown(Key.SPACE)) {
i = 0;
while (i < gridsize) {
n = 0;
while (n < gridsize) {
mc = eval ((("sq" + i) + "|") + n);
mc.timer = -1;
n++;
}
i++;
}
}
Instance of Symbol 70 MovieClip "gridline" in Frame 4
onClipEvent (load) {
st = (_root.gridsize * 32) + 2;
}
onClipEvent (enterFrame) {
if (_root.endgame && (duplicate == false)) {
_alpha = (_alpha - (_alpha / 4));
if (_alpha < 0.2) {
removeMovieClip(this);
}
} else if (duplicate == false) {
if (_xscale < (st - 0.02)) {
_xscale = (_xscale + ((st - _xscale) / 4));
} else if (_xscale != st) {
_xscale = st;
}
}
}
Instance of Symbol 80 MovieClip "tile" in Frame 4
onClipEvent (load) {
rtimer = _root.numtile;
if (duplicate == false) {
_x = ((_root.margin + (col * 32)) + 16);
_y = ((_root.ymargin + (row * 32)) + 16);
mycol.gotoAndStop(symbol + 1);
}
}
onClipEvent (enterFrame) {
if ((_root.placetile == true) && (duplicate != false)) {
_root.level++;
_root.numtile++;
duplicateMovieClip (this, "tile" + _root.numtile, _root.level);
mc = eval ("_root.tile" + _root.numtile);
if (Math.random() < 0.05) {
mc.symbol = 0;
} else {
mc.symbol = Math.ceil(Math.random() * (_root.numsym - 1));
}
mc.color = Math.floor(Math.random() * _root.numcol);
mc.duplicate = false;
mc.dragging = true;
mc.row = -10;
mc.col = -10;
_root.placetile = false;
} else if (dragging) {
_x = _root._xmouse;
_y = _root._ymouse;
}
if (_root.endgame && (duplicate == false)) {
rtimer--;
if (rtimer < _root.firsttile) {
_alpha = (_alpha - 20);
if (_alpha < 0) {
removeMovieClip(this);
}
}
}
if (dead) {
offset--;
if (offset < 0) {
_xscale = (_xscale + 10);
_yscale = (_yscale + 10);
_alpha = (_alpha - 10);
if (_alpha < 0) {
removeMovieClip(this);
}
}
}
}
Frame 5
if (build) {
grid = new Array();
i = 0;
while (i < gridsize) {
Set("column" + i, new Array());
grid[i] = eval ("column" + i);
n = 0;
while (n < gridsize) {
grid[i][n] = "null";
level++;
duplicateMovieClip (sq, (("sq" + i) + "|") + n, level);
mc = eval ((("sq" + i) + "|") + n);
mc.row = i;
mc.col = n;
mc.exists = true;
mc.offset = (i + n) + 2;
n++;
}
i++;
}
vrow = Math.floor(Math.random() * gridsize);
vcol = Math.floor(Math.random() * gridsize);
mc = eval ((("sq" + vrow) + "|") + vcol);
mc.gotoAndStop(3);
mc.infected = true;
i = 0;
while (i < (gridsize + 1)) {
level++;
duplicateMovieClip (gridline, "gridline" + level, level);
mc = eval ("gridline" + level);
mc._x = margin;
mc._y = (32 * i) + ymargin;
mc._xscale = 0;
mc.duplicate = false;
i++;
}
i = 0;
while (i < (gridsize + 1)) {
level++;
duplicateMovieClip (gridline, "gridline" + level, level);
mc = eval ("gridline" + level);
mc._y = ymargin;
mc._x = ((32 * i) + 2) + margin;
mc._xscale = 0;
mc._rotation = 90;
mc.duplicate = false;
i++;
}
level++;
numtile++;
duplicateMovieClip (tile, "tile" + numtile, level);
mc = eval ("tile" + numtile);
pos = (gridsize / 2) - 0.5;
mc.row = pos;
mc.col = pos;
mc.duplicate = false;
mc.symbol = 0;
mc.color = 1;
grid[pos][pos] = String("_root.tile" + numtile);
mc = eval ((("sq" + pos) + "|") + pos);
mc.gotoAndStop(2);
mc.occupied = true;
placetile = true;
build = false;
}
gotoAndPlay (4);
Symbol 16 Button
on (release) {
_parent.done = false;
_parent.bar._xscale = 0;
_root.endgame = false;
_root.build = true;
_root.numtile = 0;
_parent._visible = false;
_parent.tempclean = 0;
_parent.bar._xscale = 0;
_parent.bar.done = false;
_root.numtile = 0;
_parent.ispass = "";
Mouse.hide();
rand = Math.random();
if ((_root.numsym < _root.maxnumsym) && (rand < 0.333)) {
_root.numsym++;
} else if ((_root.numcol < _root.maxnumcol) && (rand < 0.666)) {
_root.numcol++;
} else if (_root.gridsize < 15) {
_root.gridsize = _root.gridsize + 2;
_root.margin = (_root.ymargin = 256 - (_root.gridsize * 16));
}
}
Symbol 18 Button
on (release) {
_parent.tempclean = 0;
_parent.s = _root.score;
_parent.gotoAndStop(2);
}
Symbol 33 Button
on (release) {
_root.s = s;
_root.n = n;
trace(s + n);
loadVariables ("http://www.flecko.net/max/virus/writescore.php", _root, "GET");
loadVariables ("http://www.flecko.net/max/virus/getscore.php", this);
play();
}
Symbol 38 Button
on (release) {
_root.endgame = false;
_root.menu._visible = true;
_root.score = 0;
_root.difficulty = 1;
_root.numcol = 3;
_root.numsym = 3;
_root.gridsize = 5;
_root.vtime = 100;
_root.maxnumcol = 6;
_root.maxnumsym = 8;
_root.great = 90;
tempscore = 0;
gotoAndStop (1);
}
Symbol 39 MovieClip Frame 1
stop();
Instance of Symbol 17 MovieClip in Symbol 39 MovieClip Frame 1
onClipEvent (enterFrame) {
if (_parent.bar.done && (_root.clean >= _root.pass)) {
_visible = true;
} else {
_visible = false;
}
}
Instance of Symbol 19 MovieClip in Symbol 39 MovieClip Frame 1
onClipEvent (enterFrame) {
if (_parent.bar.done && (_root.clean < _root.pass)) {
_visible = true;
} else {
_visible = false;
}
}
Instance of Symbol 23 MovieClip "bar" in Symbol 39 MovieClip Frame 1
onClipEvent (load) {
_xscale = 0;
_alpha = 40;
done = false;
}
onClipEvent (enterFrame) {
if (_root.endgame) {
if (_xscale < _root.pass) {
gotoAndStop (1);
} else if (_xscale < _root.great) {
gotoAndStop (2);
} else {
gotoAndStop (3);
}
if (_xscale < _root.clean) {
_xscale = (_xscale+1);
_parent.tempclean++;
} else {
done = true;
}
}
}
Instance of Symbol 26 MovieClip in Symbol 39 MovieClip Frame 1
onClipEvent (load) {
_y = _parent.bar._y;
}
onClipEvent (enterFrame) {
_x = (_parent.bar._x + _root.pass);
}
Instance of Symbol 27 MovieClip in Symbol 39 MovieClip Frame 1
onClipEvent (load) {
_y = _parent.bar._y;
}
onClipEvent (enterFrame) {
_x = (_parent.bar._x + _root.great);
}
Symbol 39 MovieClip Frame 2
stop();
Symbol 39 MovieClip Frame 3
stop();
Symbol 44 Button
on (release) {
_root.vtime = 100;
_root.pass = 60;
_root.build = true;
_root.scoremult = 1;
_visible = false;
Mouse.hide();
}
Symbol 47 Button
on (release) {
_root.vtime = 35;
_root.pass = 80;
_root.build = true;
_root.scoremult = 4;
_visible = false;
Mouse.hide();
}
Symbol 50 Button
on (release) {
_root.vtime = 60;
_root.pass = 70;
_root.build = true;
_root.scoremult = 2;
_visible = false;
Mouse.hide();
}
Symbol 53 Button
on (release) {
gotoAndStop (2);
}
Symbol 55 Button
on (release) {
gotoAndStop (3);
}
Symbol 57 Button
on (release) {
if (musicon != false) {
_root.music.stop();
musicon = false;
} else {
_root.music.start(0, 1000);
musicon = true;
}
}
Symbol 60 Button
on (release) {
gotoAndStop (1);
}
Symbol 64 MovieClip Frame 1
stop();
Symbol 66 Button
on (release) {
if (occupied != true) {
sq1 = eval (_root.grid[row][col - 1]);
sq2 = eval (_root.grid[row][col + 1]);
sq3 = eval (_root.grid[row - 1][col]);
sq4 = eval (_root.grid[row + 1][col]);
nullcount = 0;
ok = true;
mc = eval ("_root.tile" + _root.numtile);
i = 1;
while (i < 5) {
xmc = eval ("sq" + i);
if (xmc == null) {
nullcount++;
} else if ((((xmc.symbol != mc.symbol) && (xmc.color != mc.color)) && (xmc.symbol != 0)) && (mc.symbol != 0)) {
ok = false;
}
i++;
}
if (((ok && (nullcount < 4)) && (occupied != true)) && (infected != true)) {
_root.tempfirsttile++;
mc.dragging = false;
mc._x = _x + 16;
mc._y = _y + 16;
mc.row = row;
mc.col = col;
_root.grid[row][col] = String("_root.tile" + _root.numtile);
_root.placetile = true;
gotoAndStop (2);
occupied = true;
fullrow = true;
fullcol = true;
i = 0;
while (i < _root.gridsize) {
if (_root.grid[i][col] == "null") {
fullcol = false;
}
i++;
}
i = 0;
while (i < _root.gridsize) {
if (_root.grid[row][i] == "null") {
fullrow = false;
}
i++;
}
if (fullcol) {
i = 0;
while (i < _root.gridsize) {
mcstring = _root.grid[i][col];
mc = eval (mcstring);
mc.dead = true;
mc.offset = i;
_root.grid[i][col] = "null";
mc = eval ((("_root.sq" + i) + "|") + col);
mc.gotoAndStop(2);
mc.occupied = false;
i++;
}
}
if (fullrow) {
i = 0;
while (i < _root.gridsize) {
mcstring = _root.grid[row][i];
mc = eval (mcstring);
mc.dead = true;
mc.offset = i;
_root.grid[row][i] = "null";
mc = eval ((("_root.sq" + row) + "|") + i);
mc.gotoAndStop(2);
mc.occupied = false;
i++;
}
}
}
}
}
Symbol 69 MovieClip Frame 1
stop();
Symbol 79 MovieClip Frame 1
stop();
Instance of Symbol 79 MovieClip "mycol" in Symbol 80 MovieClip Frame 1
onClipEvent (load) {
c = new Color(this);
c.setTransform(_root.colors[_parent.color]);
}