Frame 2
app = "blobs";
version = "2.051";
Frame 3
if (_root.getBytesLoaded() == _root.getBytesTotal()) {
gotoAndPlay (4);
}
Frame 4
stop();
Instance of Symbol 79 MovieClip "enet" in Frame 5
//component parameters
onClipEvent (initialize) {
eflashon = 0;
version = "v.2.05";
jstart = 0;
quit = 0;
screensaver = 0;
downloadlinkurl = "http://games.ncbuy.com/downloads/title_10002.html";
swfstudio = 1;
}
Frame 7
Frame 16
btitle.blobs.blobby.stopnow = true;
stop();
Instance of Symbol 191 MovieClip in Frame 16
onClipEvent (load) {
blobby.stop();
}
Symbol 12 Button
on (release) {
getURL (itemUrl, "new");
}
Symbol 20 MovieClip [winbox] Frame 30
_parent.winningblob.removeMovieClip();
bzorp = new Sound();
bzorp.attachSound("bzorp", "bzorp");
if (!_parent.mute) {
bzorp.setVolume(_parent.vol);
bzorp.start();
}
Symbol 20 MovieClip [winbox] Frame 40
stop();
_parent.play();
this.removeMovieClip();
Symbol 26 MovieClip [platform] Frame 1
stop();
Symbol 26 MovieClip [platform] Frame 3
play();
Symbol 26 MovieClip [platform] Frame 7
stop();
Symbol 26 MovieClip [platform] Frame 12
stop();
Symbol 26 MovieClip [platform] Frame 28
gotoAndStop (1);
Symbol 30 MovieClip Frame 1
stop();
Symbol 30 MovieClip Frame 5
gotoAndStop (1);
Symbol 34 MovieClip Frame 122
gotoAndPlay (1);
Symbol 34 MovieClip Frame 181
gotoAndPlay (150);
Symbol 34 MovieClip Frame 194
stop();
Symbol 41 Button
on (press) {
this.startDrag();
this.swapDepths(400);
_parent.showMoves(num, "on");
gotoAndPlay (4);
}
on (release) {
_parent.showMoves(num, "off");
_parent.dropBlob(this);
}
Symbol 29 MovieClip [blob] Frame 1
stop();
eyes.gotoAndPlay(random(115) + 1);
pickupsnd = new Sound();
pickupsnd.attachSound("pickupsnd" + (random(2) + 1));
pickupsnd.setVolume(_parent.vol);
putdownsnd = new Sound();
putdownsnd.attachSound("putdownsnd" + (random(2) + 1));
putdownsnd.setVolume(_parent.vol);
removesnd = new Sound();
removesnd.attachSound("removesnd");
removesnd.setVolume(_parent.vol);
if (_root.cheat) {
cheat = 1;
}
if (cheat) {
body.gotoAndStop(10);
eyes._visible = false;
}
Symbol 29 MovieClip [blob] Frame 2
stop();
Symbol 29 MovieClip [blob] Frame 4
eyes.gotoAndPlay("pickup");
if (!_parent.mute) {
pickupsnd.setVolume(_parent.vol);
pickupsnd.start();
}
Symbol 29 MovieClip [blob] Frame 22
stop();
Symbol 29 MovieClip [blob] Frame 24
eyes.gotoAndPlay("blink");
play();
if (cheat) {
body.gotoAndStop(10);
eyes._visible = false;
}
if (!_parent.mute) {
putdownsnd.setVolume(_parent.vol);
putdownsnd.start();
}
Symbol 29 MovieClip [blob] Frame 32
if (cheat) {
body.gotoAndStop(10);
eyes._visible = false;
}
Symbol 29 MovieClip [blob] Frame 35
play();
if (cheat) {
body.gotoAndStop(10);
eyes._visible = false;
}
Symbol 29 MovieClip [blob] Frame 41
gotoAndPlay (1);
Symbol 29 MovieClip [blob] Frame 68
gotoAndPlay (4);
Symbol 29 MovieClip [blob] Frame 70
eyes.gotoAndPlay("surprised");
Symbol 29 MovieClip [blob] Frame 81
stop();
Symbol 29 MovieClip [blob] Frame 99
stop();
Symbol 29 MovieClip [blob] Frame 112
eyes.gotoAndPlay("pickup");
resetloop = 3;
Symbol 29 MovieClip [blob] Frame 120
resetloop--;
if (resetloop != 0) {
gotoAndPlay (114);
} else {
play();
}
Symbol 29 MovieClip [blob] Frame 121
gotoAndPlay (123);
Symbol 29 MovieClip [blob] Frame 123
eyes.gotoAndPlay("pickup");
if (cheat) {
body.gotoAndStop(10);
eyes._visible = false;
}
if (!_parent.mute) {
removesnd.setVolume(_parent.vol);
removesnd.start();
}
Symbol 29 MovieClip [blob] Frame 158
this.removeMovieClip();
Symbol 48 MovieClip Frame 1
stop();
Symbol 50 Button
on (press) {
p = Number / _parent._parent.slider.numlevels;
_parent._parent.slider._x = 15 + (p * 285);
}
on (rollOver) {
_root.mouseptr.gotoAndStop("hand");
}
on (rollOut) {
_root.mouseptr.gotoAndStop("point");
}
Symbol 47 MovieClip [sel_numblock] Frame 1
stop();
Symbol 55 MovieClip [faderblock] Frame 5
stop();
Symbol 55 MovieClip [faderblock] Frame 8
stop();
this.removeMovieClip();
Symbol 57 MovieClip [levelcompleted] Frame 33
_parent.play();
Symbol 57 MovieClip [levelcompleted] Frame 49
stop();
this.removeMovieClip();
Symbol 59 MovieClip [mouseptr] Frame 1
stop();
Instance of Symbol 68 MovieClip "preloadbar" in Symbol 66 MovieClip Frame 1
onClipEvent (load) {
totalbytes = _root.getBytesTotal();
}
onClipEvent (enterFrame) {
bytesloaded = _root.getBytesLoaded();
_parent.bytesloaded = ((bytesloaded + " of ") + totalbytes) + " bytes";
_xscale = (100 * (bytesloaded / totalbytes));
setProperty("", _xscale, 100 * (bytesloaded / totalbytes));
_parent.preloadmask._yscale = 100 - _xscale;
_parent.bloboutline._alpha = 100 - _xscale;
_parent.percent = int(_xscale) + "%";
if (bytesloaded == totalbytes) {
_parent._parent.play();
}
}
Symbol 83 Button
on (press) {
_parent.revealAll();
}
Symbol 80 MovieClip Frame 1
stop();
Symbol 80 MovieClip Frame 67
stop();
_parent.startScroll();
Symbol 80 MovieClip Frame 81
stop();
Symbol 87 Button
on (release) {
enet_menu();
}
Symbol 94 Button
on (release) {
getURL ("http://www.netcent.com", "new");
}
Symbol 98 Button
on (release) {
enet_copyright();
}
Symbol 106 MovieClip Frame 1
stop();
Symbol 104 MovieClip Frame 10
blinkCount++;
if (blinkCount > 19) {
gotoAndStop (25);
}
Symbol 104 MovieClip Frame 23
textframe++;
if (textframe > 4) {
textframe = 1;
}
text.gotoAndStop(textframe);
gotoAndPlay (1);
Symbol 104 MovieClip Frame 25
stop();
text.gotoAndStop("menu");
Symbol 111 Button
on (release) {
getURL (downloadlinkurl, "new");
}
Symbol 128 Button
on (release) {
getURL (_parent.mainURL + url, "new");
}
Symbol 125 MovieClip Frame 1
if (bg) {
var barcolor = new Color(bgcolor);
barcolor.setRGB(bg);
}
Symbol 140 Button
on (release) {
getURL ("http://www.ncbuy.com" + qualifier, "new");
}
Symbol 148 Button
on (release) {
_parent.enet_menu();
}
Symbol 153 Button
on (release) {
getURL ("http://www.ncbuy.com/servicecenter/contacts.html", "new");
}
Symbol 121 MovieClip Frame 1
stop();
Symbol 121 MovieClip Frame 2
mainURL = "http://www.ncbuy.com/redir.php?ref=blo10&id=";
ncbuy1.label = "ASTROLOGY";
ncbuy1.url = 10100;
ncbuy2.label = "BUSINESS & FINANCE";
ncbuy2.url = 10101;
ncbuy3.label = "CONTESTS & SWEEPSTAKES";
ncbuy3.url = 10102;
ncbuy4.label = "CREDIT CARD OFFERS";
ncbuy4.url = 10103;
ncbuy5.label = "ENTERTAINMENT CENTER";
ncbuy5.url = 10104;
ncbuy6.label = "FLOWERS & ARRANGEMENTS";
ncbuy6.url = 10105;
ncbuy7.label = "FREE STUFF";
ncbuy7.url = 10106;
ncbuy8.label = "GAMEHOUSE - PLAY ONLINE";
ncbuy8.url = 10107;
ncbuy9.label = "HUMOR & JOKES";
ncbuy9.url = 10108;
ncbuy10.label = "MAGAZINE SUBSCRIPTIONS";
ncbuy10.url = 10109;
ncbuy11.label = "SHOPPING";
ncbuy11.url = 10110;
ncbuy12.label = "TRAVEL & VACATIONS";
ncbuy12.url = 10114;
ncbuy13.label = "TODAY IN HISTORY";
ncbuy13.url = 10111;
ncbuy14.label = "WEATHER CONDITIONS";
ncbuy14.url = 10112;
ncbuy15.label = "WEIRD & WORLD NEWS";
ncbuy15.url = 10113;
ncbuy16.label = "SEARCH THE NET";
ncbuy16.url = 10115;
ncbuy17.label = "DOWNLOAD MORE GAMES";
ncbuy17.url = 10116;
ncbuy18.label = "REGISTER - JOIN TODAY";
ncbuy18.url = 10117;
ncbuy19.label = "WEBMASTER AFFILIATE PRG";
ncbuy19.url = 10118;
ncbuy15.bg = 10092492 /* 0x99FFCC */;
ncbuy16.bg = 10092492 /* 0x99FFCC */;
ncbuy17.bg = 16763904 /* 0xFFCC00 */;
ncbuy18.bg = 16763904 /* 0xFFCC00 */;
ncbuy19.bg = 16763904 /* 0xFFCC00 */;
Symbol 160 Button
on (release) {
gotoAndStop (1);
_parent.enetstatus--;
}
Symbol 163 Button
on (press) {
if (_ymouse >= slider.top) {
if (_ymouse <= slider.btm) {
slider._y = _ymouse;
} else {
slider._y = slider.btm;
}
} else {
slider._y = slider.top;
}
}
Symbol 167 Button
on (press) {
startDrag (this, true, 0, top, 0, btm);
}
on (release) {
stopDrag();
}
Symbol 171 Button
on (press) {
movetext = -1;
}
on (release) {
movetext = 0;
}
Symbol 173 Button
on (press) {
movetext = 1;
}
on (release) {
movetext = 0;
}
Instance of Symbol 165 MovieClip "slider" in Symbol 161 MovieClip Frame 1
onClipEvent (enterFrame) {
if (_parent.movetext != 0) {
sliderpos = _y + ((dy / _parent._parent.text.maxscroll) * _parent.movetext);
if (sliderpos >= top) {
if (sliderpos > btm) {
sliderpos = btm;
}
} else {
sliderpos = top;
}
_y = sliderpos;
setProperty("", _y, sliderpos);
}
percent = (_y - top) / dy;
_parent._parent.text.scroll = _parent._parent.text.maxscroll * percent;
}
onClipEvent (load) {
top = -70;
btm = 70;
dy = btm - top;
inc = 4;
}
Symbol 158 MovieClip Frame 1
stop();
movetext = 0;
Symbol 79 MovieClip Frame 1
enet_menu = function () {
if (menu._currentframe != 2) {
if (menu._currentframe == 1) {
menu.gotoAndStop("on");
clickhere.gotoAndStop("stopmenu");
}
} else {
menu.gotoAndStop("off");
}
};
enet_copyright = function () {
if (scrollwindow._currentframe != 2) {
if (scrollwindow._currentframe == 1) {
scrollwindow.text = "NCBUY END USER APPLICATION LICENSE AGREEMENT\n\nACCEPTANCE: By installing or using this Software you are agreeing to the terms of this License Agreement (\"Agreement\"). Please read this Agreement carefully.\n\nThis is an Agreement between you, either individually or as a representative of your company or institution and NetCent Communications (the \"Company\").\n\nYOU MAY redistribute the software freely, providing that: (a) The Software is not modified in any way; and (b) All credits and copyright notices remain intact.\n\nYOU MAY NOT: (a) Sublicense, sell, assign, transfer, pledge, distribute, rent or remove any proprietary notices on the Software except as expressly permitted in this Agreement; (b) Use, copy, adapt, disassemble, decompile, reverse engineer or modify the Software, in whole or in part, except as expressly permitted in this Agreement; or (c) Take any action designed to unlock or bypass any Company-implemented restrictions on usage, access to, or number of installations of the Software.\n\nIF YOU DO ANY OF THE FOREGOING, YOUR RIGHTS UNDER THIS LICENSE WILL AUTOMATICALLY TERMINATE. SUCH TERMINATION SHALL BE IN ADDITION TO AND NOT IN LIEU OF ANY CRIMINAL, CIVIL OR OTHER REMEDIES AVAILABLE TO THE COMPANY.\n\nThe Company does not warrant that the functions contained in the Software will meet your requirements or expectations or that the operation of the Software will be entirely error free, or appear precisely as described in the Software documentation.\n\nDISCLAIMER OF WARRANTY AND REMEDY: EXCEPT AS SPECIFICALLY STATED IN THIS AGREEMENT, THE SOFTWARE IS PROVIDED \"AS IS\" AND THERE ARE NO WARRANTIES OR CONDITIONS (EXPRESSED OR IMPLIED, ARISING BY STATUTE OR OTHERWISE IN LAW OR FROM A COURSE OF DEALING OR USAGE OF TRADE) FOR THE SOFTWARE. THE ENTIRE RISK AS TO SATISFACTORY QUALITY, PERFORMANCE, ACCURACY, AND EFFORT IS WITH YOU, THE USER. THE COMPANY AND ITS DIRECT AND INDIRECT SUPPLIERS DISCLAIM ALL IMPLIED WARRANTIES OR CONDITIONS OF MERCHANTABILITY, MERCHANTABLE QUALITY OR FITNESS FOR ANY PURPOSE, PARTICULAR, SPECIFIC OR OTHERWISE.\n\nLIMITATION OF LIABILITY: TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL THE COMPANY OR ITS DIRECT OR INDIRECT SUPPLIERS BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING LOST PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES, ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE, EVEN IF THE COMPANY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\n\nYOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT AND BY INSTALLING THIS SOFTWARE, INDICATE YOUR ACCEPTANCE OF ITS TERMS AND CONDITIONS. YOU ALSO AGREE THAT THIS IS THE COMPLETE AGREEMENT BETWEEN YOU AND THE COMPANY AND IT SUPERSEDES ANY OTHER INFORMATION YOU MAY HAVE RECEIVED RELATING TO THE SUBJECT MATTER OF THIS AGREEMENT.\n\nNCBuy ( http://www.ncbuy.com/ ) is a service of NetCent Communications. Copyright 2007, NetCent Communications, All Rights Reserved.\n";
scrollwindow.gotoAndStop("on");
}
} else {
scrollwindow.gotoAndStop("off");
}
};
Instance of Symbol 104 MovieClip "clickhere" in Symbol 79 MovieClip Frame 1
onClipEvent (load) {
textframe = 1;
}
Symbol 79 MovieClip Frame 6
stop();
Symbol 175 MovieClip Frame 1
_parent.stop();
Symbol 175 MovieClip Frame 61
_parent.play();
Symbol 192 MovieClip Frame 1
if (stopnow) {
stop();
}
Symbol 185 MovieClip Frame 1
_parent.stop();
Symbol 185 MovieClip Frame 61
stop();
_parent.play();
Symbol 207 MovieClip Frame 1
stop();
Symbol 209 MovieClip Frame 1
stop();
Symbol 209 MovieClip Frame 2
_parent.RegRead("lastlevel", "lastLevel", 1);
_parent.RegRead("solvedlevels", "solvedLevels", "");
_parent.RegRead("volume", "vol", 60);
_parent.RegRead("mute", "mute", 0);
_parent.RegRead("autolevel", "autoLevel", "");
_parent.RegRead("autosolution", "autoSolution", "");
Symbol 209 MovieClip Frame 7
solvedLevels = _root.solvedLevels;
lastLevel = _root.lastLevel;
mute = _root.mute;
vol = _root.vol;
_root.justloaded = true;
if (lastLevel > _parent.levelcount) {
_parent.level[lastLevel] = _root.autoLevel;
_parent.solution[lastLevel] = _root.autoSolution;
}
_parent.readSolved(solvedLevels);
gotoAndStop (1);
Symbol 215 MovieClip Frame 1
stop();
Symbol 215 MovieClip Frame 2
_parent.stop();
Symbol 215 MovieClip Frame 11
pause--;
if (pause >= 1) {
gotoAndPlay (3);
} else {
_parent.play();
gotoAndStop (1);
}
Symbol 220 Button
on (press) {
_parent.gotoAndPlay("gen");
genMode = true;
}
Symbol 223 Button
on (release) {
_parent.readPuzzle(_parent.levelcount + 1);
_parent.gotoAndStop(1);
}
Symbol 206 MovieClip Frame 1
function clearBoardArray() {
boardArray = new Array();
padsArray = new Array();
var y = 1;
while (y <= 9) {
boardArray[y] = new Array();
var x = 1;
while (x <= 9) {
boardArray[y][x] = 0;
x++;
}
y++;
}
}
function genBoard() {
clearBoardArray();
vert_count = (random(5) * 2) + 1;
vert_start = ((9 - vert_count) / 2) + 1;
y = vert_start;
while (y < (vert_start + vert_count)) {
boardArray[y][5] = 1;
y++;
}
horiz_count = (random(5) * 2) + 1;
horiz_start = ((9 - horiz_count) / 2) + 1;
x = horiz_start;
while (x < (horiz_start + horiz_count)) {
boardArray[5][x] = 1;
x++;
}
var loops = 15;
var depth = 3;
var offset = 3;
var iterations = (random(3) + 1);
while ((iterations--) > 0) {
j = 1;
while (j <= loops) {
left_x = random(depth) + offset;
top_y = random(depth) + offset;
right_x = 10 - left_x;
bottom_y = 10 - top_y;
boardArray[top_y][left_x] = 1;
boardArray[bottom_y][left_x] = 1;
boardArray[top_y][right_x] = 1;
boardArray[bottom_y][right_x] = 1;
j++;
}
loops = 7;
depth = 5;
offset = 1;
}
}
function removeStrays() {
var connected = new Array();
var pad = new Object();
pad.x = 5;
pad.y = 5;
connected.push(pad);
var index = 0;
do {
var p = connected[index];
var y = -1;
while (y <= 1) {
var x = -1;
while (x <= 1) {
if (boardArray[p.y + y][p.x + x]) {
pad = new Object();
pad.y = p.y + y;
pad.x = p.x + x;
var inArray = false;
j = 0;
while (j < connected.length) {
if ((connected[j].x == pad.x) && (connected[j].y == pad.y)) {
inArray = true;
break;
}
j++;
}
if (!inArray) {
connected.push(pad);
}
}
x++;
}
y++;
}
index++;
} while (connected.length > index);
clearBoardArray();
j = 0;
while (j < connected.length) {
boardArray[connected[j].y][connected[j].x] = 1;
pad = new Object();
pad.y = connected[j].y;
pad.x = connected[j].x;
padsArray.push(pad);
j++;
}
}
function getBlobIndex(by, bx) {
var j;
j = 0;
while (j < blobsArray.length) {
if ((blobsArray[j].y == by) && (blobsArray[j].x == bx)) {
return(j);
}
j++;
}
return(undefined);
}
function buildMovesArray() {
movesArray = new Array();
j = 0;
while (j < blobsArray.length) {
fy = blobsArray[j].y;
fx = blobsArray[j].x;
dy = -1;
while (dy <= 1) {
dx = -1;
while (dx <= 1) {
if (dx || (dy)) {
jy = fy + dy;
jx = fx + dx;
sy = jy + dy;
sx = jx + dx;
if ((boardArray[jy][jx] == 1) && (boardArray[sy][sx] == 1)) {
move = new Object();
move.y = fy;
move.x = fx;
move.dy = dy;
move.dx = dx;
movesArray.push(move);
if (dy && (dx)) {
movesArray.push(move);
}
}
}
dx++;
}
dy++;
}
j++;
}
return(movesArray.length);
}
function autoGen() {
blobsArray = new Array();
stack = new Array();
if (padsArray.length < 10) {
return(undefined);
}
fill_percent = random(40) + 40;
numberOfBlobs = Math.round((fill_percent / 100) * padsArray.length);
if (numberOfBlobs % 2) {
numberOfBlobs++;
}
start_pad = padsArray[random(padsArray.length)];
blobsArray.push(start_pad);
boardArray[start_pad.y][start_pad.x] = 2;
j = 0;
while (j < 30) {
if (buildMovesArray()) {
move = movesArray[random(movesArray.length)];
jy = move.y + move.dy;
jx = move.x + move.dx;
sy = jy + move.dy;
sx = jx + move.dx;
stackmove = new Object();
stackmove.y = sy;
stackmove.x = sx;
stackmove.dy = -1 * move.dy;
stackmove.dx = -1 * move.dx;
stack.unshift(stackmove);
blobsArray.splice(getBlobIndex(move.y, move.x), 1);
jumpblob = new Object();
jumpblob.y = jy;
jumpblob.x = jx;
blobsArray.push(jumpblob);
sourceblob = new Object();
sourceblob.y = sy;
sourceblob.x = sx;
blobsArray.push(sourceblob);
boardArray[jy][jx] = 2;
boardArray[sy][sx] = 2;
boardArray[move.y][move.x] = 1;
if (blobsArray.length == numberOfBlobs) {
break;
}
} else {
break;
}
j++;
}
if (((blobsArray.length / padsArray.length) * 100) < 40) {
return(false);
}
bc = 0;
blobBoard = new Array();
y = 1;
while (y <= 9) {
blobBoard[y] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);
x = 1;
while (x <= 9) {
if (boardArray[y][x] == 2) {
bc++;
blobBoard[y][x] = bc;
}
x++;
}
y++;
}
if (blobsArray.length >= 16) {
moverecord = "1";
mr = 1;
} else {
moverecord = "0";
mr = 0;
}
j = 0;
while (j < stack.length) {
s = stack[j];
by = s.y + (2 * s.dy);
bx = s.x + (2 * s.dx);
blobnum = blobBoard[s.y][s.x];
hexblob = blobnum.toString(16);
if (mr && (hexblob.length == 1)) {
hexblob = "0" + hexblob;
}
hexpos = Number((bx * 10) + by).toString(16);
if (hexpos.length == 1) {
hexpos = "0" + hexpos;
}
moverecord = moverecord + (hexblob + hexpos);
blobBoard[by][bx] = blobnum;
blobBoard[s.y][s.x] = 0;
showBlobBoard();
j++;
}
solution[levelcount + 1] = moverecord;
var levelstring = "";
y = 1;
while (y <= 9) {
x = 1;
while (x <= 9) {
if (boardArray[y][x]) {
dec = (x * 10) + y;
if (boardArray[y][x] == 2) {
dec = dec + 99;
}
hex = dec.toString(16);
if (hex.length == 1) {
hex = "0" + hex;
}
levelstring = levelstring + hex;
}
x++;
}
y++;
}
level[levelcount + 1] = levelstring;
return(true);
}
function generate() {
genBoard();
removeStrays();
showBoard();
if (autoGen()) {
readPuzzle(levelcount + 1);
RegSave("autolevel", level[levelcount + 1]);
RegSave("autosolution", solution[levelcount + 1]);
gotoAndStop (1);
} else {
gotoAndPlay (5);
}
}
function showStack() {
var j;
var stackstring;
stackstring = "";
j = 0;
while (j < stack.length) {
stackstring = stackstring + (((((((("y: " + stack[j].y) + " x: ") + stack[j].x) + " dy: ") + stack[j].dy) + " dx: ") + stack[j].dx) + newline);
j++;
}
}
function showBlobs() {
var j;
var blobstring;
blobstring = "";
j = 0;
while (j < blobsArray.length) {
blobstring = blobstring + (((((((("(" + j) + ") y:") + blobsArray[j].y) + " x:") + blobsArray[j].x) + " num:") + blobsArray[j].num) + newline);
j++;
}
}
function showBlobBoard() {
var j;
j = 1;
while (j <= blobBoard.length) {
j++;
}
}
function showBoard() {
var j;
var i;
j = 1;
while (j <= 9) {
bline = "";
i = 1;
while (i <= 9) {
if (boardArray[j][i] == 0) {
bline = bline + " .";
} else if (boardArray[j][i] == 1) {
bline = bline + " #";
} else if (boardArray[j][i] == 2) {
bline = bline + " @";
}
i++;
}
j++;
}
}
RootKey = "HKEY_CURRENT_USER";
SubKey = "Software\\NetCent\\Blobs";
Instance of Symbol 209 MovieClip "data" in Symbol 206 MovieClip Frame 1
onClipEvent (load) {
_visible = false;
setProperty("", _visible, false);
}
Symbol 206 MovieClip Frame 2
function clearLevel() {
solving = false;
var pform;
y = 1;
while (y <= 9) {
x = 1;
while (x <= 9) {
pform = this[("p" + x) + y];
if (pform._width) {
if (pform.status) {
this["blob" + pform.blob].removeMovieClip();
}
pform.removeMovieClip();
}
x++;
}
y++;
}
}
function RegSave(key, value) {
getURL ("fscommand:" + "ARG", "Results");
fscommand ("ARG", RootKey);
fscommand ("ARG", SubKey);
fscommand ("ARG", Key);
fscommand ("ARG", value);
getURL ("fscommand:" + "REGISTRY.SETSTR");
}
function RegRead(k, varb, def) {
fscommand ("ARG", varb);
fscommand ("ARG", RootKey);
fscommand ("ARG", SubKey);
fscommand ("ARG", k);
fscommand ("ARG", def);
getURL ("fscommand:" + "REGISTRY.GETVAL");
}
function undoMove() {
if (!movecount) {
return(undefined);
}
blobcount++;
var newblob = ("blob" + lastMove.middleblob_num);
this.attachMovie("blob", newblob, 201 + lastMove.middleblob_num);
this[newblob]._x = mapCoords("bx", lastMove.middleblob_x);
this[newblob]._y = mapCoords("by", lastMove.middleblob_y);
this[newblob].y = lastMove.middleblob_y;
this[newblob].x = lastMove.middleblob_x;
this[newblob].num = lastMove.middleblob_num;
var newplatform = (("p" + lastMove.middleblob_x) + lastMove.middleblob_y);
this[newblob].platform = newplatform;
this[newplatform].status = 1;
this[newplatform].blob = lastMove.middleblob_num;
blobarray.push(lastMove.middleblob_num);
this[newblob].gotoAndPlay("drop2");
newblob = "blob" + lastMove.sourceblob_num;
this[newblob]._x = mapCoords("bx", lastMove.sourceblob_x);
this[newblob]._y = mapCoords("by", lastMove.sourceblob_y);
this[newblob].y = lastMove.sourceblob_y;
this[newblob].x = lastMove.sourceblob_x;
this[newblob].num = lastMove.sourceblob_num;
newplatform = ("p" + lastMove.sourceblob_x) + lastMove.sourceblob_y;
this[newplatform].status = 1;
this[newblob].platform = newplatform;
this[newplatform].blob = lastMove.sourceblob_num;
this[lastMove.final_platform].status = 0;
this[newblob].gotoAndPlay("drop2");
}
function dropBlob(db) {
db.gotoAndPlay("drop");
db.stopDrag();
db.swapDepths(201 + db.num);
bx = Math.round(((db._x - 25) - (db.x - 1)) / 50) + 1;
by = Math.round(((db._y - 15) - (db.y - 1)) / 30) + 1;
thisplatform = this[("p" + bx) + by];
dx = Math.abs(bx - db.x);
dy = Math.abs(by - db.y);
legal = false;
if (!((dx == 2) && ((dy == 0) || (dy == 2)))) {
if ((dx == 0) && (dy == 2)) {
legal = true;
}
} else {
legal = true;
}
if (legal) {
mbx = ((db.x - bx) / 2) + bx;
mby = ((db.y - by) / 2) + by;
if (!this[("p" + mbx) + mby].status) {
legal = false;
}
}
if (((!thisplatform.status) && (thisplatform._width)) && (legal)) {
movecount++;
if ((movecount == 1) && (!solving)) {
_parent.undo.gotoAndPlay("on");
}
j = 0;
while (j < blobcount) {
if (blobarray[j] == this[("p" + mbx) + mby].blob) {
blobarray.splice(j, 1);
break;
}
j++;
}
lastMove.middleblob_x = mbx;
lastMove.middleblob_y = mby;
lastMove.middleblob_num = this[("p" + mbx) + mby].blob;
lastMove.sourceblob_x = db.x;
lastMove.sourceblob_y = db.y;
lastMove.sourceblob_num = db.num;
lastMove.final_platform = ("p" + bx) + by;
middleblob = "blob" + this[("p" + mbx) + mby].blob;
this[("p" + mbx) + mby].status = 0;
this[("'" + mbx) + mby].blob = 0;
this[middleblob].gotoAndPlay("delete");
blobcount--;
db.x = bx;
db.y = by;
this[db.platform].status = 0;
db.platform = ("p" + bx) + by;
this[db.platform].status = 1;
this[db.platform].blob = db.num;
}
db._x = mapCoords("bx", db.x);
db._y = mapCoords("by", db.y);
this[db.platform].gotoAndPlay("drop");
if (blobcount != 1) {
if (!moveRemaining()) {
if (_parent.undo.undo) {
_parent.undo.gotoAndPlay("off");
}
gotoAndPlay (31);
}
} else if (!solving) {
winningblob = db;
db.gotoAndPlay("win");
this.gotoAndPlay("win");
solved[current] = 1;
saveSolved();
_parent.selector.strip["num" + current].solved.gotoAndStop(2);
} else {
gotoAndPlay (31);
}
}
function showMoves(n, s) {
var j;
if (s != "on") {
var j = 0;
while (j < possibleMoves.length) {
this[possibleMoves[j]].gotoAndPlay("solve_off");
j++;
}
} else if (checkForMoves(n)) {
var j = 0;
while (j < possibleMoves.length) {
this[possibleMoves[j]].gotoAndPlay("solve");
j++;
}
}
}
function checkForMoves(n) {
var dy;
var dx;
var jby;
var jbx;
var thisblob;
possibleMoves = new Array();
thisblob = this["blob" + n];
dy = -1;
while (dy <= 1) {
dx = -1;
while (dx <= 1) {
if (dx || (dy)) {
jbx = thisblob.x + dx;
jby = thisblob.y + dy;
if (this[("p" + jbx) + jby].status) {
jbx = thisblob.x + (2 * dx);
jby = thisblob.y + (2 * dy);
if ((!this[("p" + jbx) + jby].status) && (this[("p" + jbx) + jby]._width)) {
possibleMoves.push(("p" + jbx) + jby);
}
}
}
dx++;
}
dy++;
}
if (!possibleMoves.length) {
return(false);
}
return(true);
}
function moveRemaining() {
var j;
j = 0;
while (j <= blobcount) {
if (checkForMoves(blobarray[j])) {
return(true);
}
j++;
}
return(false);
}
function mapCoords(axis, value) {
var r;
if (axis == "px") {
val1 = 50;
val2 = 22;
}
if (axis == "py") {
val1 = 30;
val2 = 28;
}
if (axis == "bx") {
val1 = 50;
val2 = 25;
}
if (axis == "by") {
val1 = 30;
val2 = 15;
}
r = ((value - 1) * val1) + (val2 + (value - 1));
return(r);
}
function readPuzzle(n) {
var pieces;
var j;
var x;
var y;
var s;
var block;
blobcount = 0;
blobarray = new Array();
platformcount = 0;
pieces = level[n].length / 2;
j = 0;
while (j < pieces) {
hex = level[n].substr(j * 2, 2);
dec = parseInt(hex, 16);
if (dec <= 99) {
s = 1;
} else {
dec = dec - 99;
s = 2;
}
decpos = "" + dec;
x = Number(decpos.charAt(0));
y = Number(decpos.charAt(1));
platformcount++;
newplatform = ("p" + x) + y;
this.attachMovie("platform", newplatform, 100 + platformcount);
this[newplatform]._x = mapCoords("px", x);
this[newplatform]._y = mapCoords("py", y);
this[newplatform].status = 0;
this[newplatform].x = x;
this[newplatform].y = y;
this[newplatform].num = platformcount;
if (s == 2) {
blobcount++;
newblob = "blob" + blobcount;
this.attachMovie("blob", newblob, 201 + blobcount);
this[newblob]._x = mapCoords("bx", x);
this[newblob]._y = mapCoords("by", y);
this[newblob].y = y;
this[newblob].x = x;
this[newblob].num = blobcount;
this[newblob].platform = newplatform;
this[newplatform].status = 1;
this[newplatform].blob = blobcount;
blobarray.push(blobcount);
this[newblob].gotoAndPlay("drop2");
}
j++;
}
current = n;
orig_blobcount = blobcount;
lastMove = new Object();
movecount = 0;
if (_parent.undo.undo) {
_parent.undo.gotoAndPlay("off");
}
RegSave("lastlevel", current);
}
function saveSolved() {
var solved_slots = Math.floor(levelcount / 4);
if (levelcount % 4) {
solved_slots++;
}
var loop;
var j;
var bin = "";
solvedstring = "";
loop = 0;
while (loop < solved_slots) {
j = 1;
while (j <= 4) {
index = (loop * 4) + j;
if (solved[index]) {
bin = bin + "1";
} else {
bin = bin + "0";
}
j++;
}
hex = parseInt(bin, 2).toString(16);
solvedstring = (solvedstring + "") + hex;
bin = "";
loop++;
}
RegSave("solvedlevels", solvedstring);
}
function readSolved(solvedstring) {
var hex;
var bin;
var ss = "";
j = 0;
while (j < solvedstring.length) {
hex = solvedstring.charAt(j);
bin = parseInt(hex, 16).toString(2);
pad = 4 - bin.length;
i = 1;
while (i <= pad) {
bin = "0" + bin;
i++;
}
ss = ss + bin;
j++;
}
j = 1;
while (j <= levelcount) {
solved[j] = ss.charAt(j - 1);
j++;
}
vol = data.vol;
if (!vol) {
vol = 60;
}
_parent.volume.volumeslider._y = (100 - vol) / 3.32999992370605;
_parent.muter.gotoAndStop(data.mute + 1);
mute = data.mute;
_parent.selector.play();
}
Symbol 206 MovieClip Frame 3
level = new Array();
solution = new Array();
solved = new Array();
level[1] = "2b983f8f99402d9a41919b42929c43";
solution[1] = "074343972f72d13722e240";
level[2] = "8e353f858f99a34a232d9a41ae249138a5af9239a6";
solution[2] = "0c41a4a438a3612dc2b82cc2db41238b2f";
level[3] = "218e35a2ac228f99a3ad23909aa4ae249138a5af";
solution[3] = "0e38923935c42937c2c12db3714134b337349335";
level[4] = "972b983f8f9940909aa4919b429c";
solution[4] = "034013673f54172da3782c842840";
level[5] = "17848e35a2497b8f99ad7c909aae1a872e9ba54c";
solution[5] = "0b49b35e2ec3881723f82b52e22d52cc3682d83f";
level[6] = "348e98a2222c9940ad23909aa44b919b4239";
solution[6] = "092c940536a4a141a38a3632b341";
level[7] = "18858f3640ad541986909aa4aeb81a879138a54c56";
solution[7] = "034c64b941338b1a22eb2c13624224022c";
level[8] = "47a1ab98a2492c99a34a862d9aa44b2e9ba5af9c434da74e4f";
solution[8] = "0e2e73992d737c3834924a93f23614012c142c4c";
level[9] = "97172b983f537b858f99404a5419862d9aa4aeb81a872e9ba5afb97e929c43579d";
solution[9] = "1112d04241219031a0624032e01360d24092d05400d360d4a14380b430b410d4c10420b430b2d";
level[10] = "20ab218e35a2ac8f99a3909aa4879138a54c25b0";
solution[10] = "0638e37136a3f435c42138c2eb3622dc2c437c42";
level[11] = "832a97a14817218e98a2acb618858f36404ab719869aae551a87919b42afb9259239a6b0";
solution[11] = "11342085511361639035416250356024a024c05370a1a013601381637164d03420a2e1637163916231621";
level[12] = "973e8e35a2ac228f99a3ad239037a44b557d249138a5afb9747e882f39a6b0bac4";
solution[12] = "11555044b0d5615571439164d07421637112f102306381037022d0c40014a014c11410c42013814370241";
level[13] = "0d172b353fb65d717b858f36a3adb7c1727c23909a41ae555f107d87919ba5afb960111b9239a657c4";
solution[13] = "11755124c01410a2304381236094c161915420a0d0656044c184b08420f18043804240d350d230a0f0422040e0a0d";
level[14] = "34213549228f99a3ad23909aa44b249138a5af259cb03a";
solution[14] = "0c4bc49238c37b4bc39b37c23142c3712c";
level[15] = "96972b35a28f36a30f7c862d9a41aeb85f919ba52f9c433a3b";
solution[15] = "0a4162d62fa2d641135123137e4b62d341e37e23";
level[16] = "29a097842b98a2498f99a319862d9aa4aeb8919ba5882f9c43b09d9445";
solution[16] = "10b2d0d410d2f0b1914381139143a04490437012b0e401543033503230b2d0b3f1339134b0b410b55";
level[17] = "17842b98a2acb68f99a30f19232d37414b555f919ba51b88929c43b0ba";
solution[17] = "1032b01350137053f0541014b0c370d4110430d2d062e102f013901250137";
level[18] = "2a343e212b35a24918222c99404a5472198690a4ae55c21a879baf56252f434d309d44";
solution[18] = "051912d32311912f65514184b155143c4c";
level[19] = "348e35a2222c99a34a727c23909a414bb85f24919ba5af929c439d";
solution[19] = "10943094105230324032203340e430e2d0e2f1024092d10360241022b0322";
level[20] = "8c33a097212b35a2ac852c99a3ad0f1986909aa44bb85f87919ba5af25929c434d9d319ea8";
solution[20] = "1183118430535013f0734022b0219102c022d0f36154d154b0d4314411042012d1537014109380d41094a0e3f0e41";
level[21] = "8279838d0d7a218e98a2acb65d0e858f99a3adb7c10f86909a41ae55c2737d2491afc31b8892b06126";
solution[21] = "1072117241d1b0935132b022c09211d2d0a410a2b01351d411d551e4b052d0a3f12370a4102161b4a11601940022a1e350a5302400a55114a0254";
level[22] = "b497a1485c848ea2acb6c00e7b858f99a3adb75e0f7c862d9aa4aeb8c28791a5afb96039a64dc458";
solution[22] = "1154d174b08550f4c1e4b0f4a06530248013f09490e3e083f0e40143f0c4014411a401539112d15230a2c1822132309371824052d092318220423";
level[23] = "8ca0977a848e3f4953858f99a3ad727c239037a4aeb85f87919ba5af1b882f434d579d3145";
solution[23] = "1013f0734022b0c231222052309220e2f1824042d18361037152c022d182401411636113f112d11191723112d1143";
level[24] = "2996a07997b5707a218e983facb6c08f99a3232d37a4ae919ba5117e88929ca6b0ba611c9d58949e45";
solution[24] = "10621083f0a350c49172d1137192f1d45022916391d2f0f2e16250a231b430a391b41032c032e023f05400542022d152f0a250a3702430a4d0257";
level[25] = "96978435ac858f99a34a0f7c862d37a4aeb85f87919ba5af25394d9d9e";
solution[25] = "1092d0135032314390325103a124a0337014b01390640044b1038062e104a0d41103810241036";
level[26] = "978e98a20e7b852c99a34ab75e86909aa4ae107d872e9b424c5660929ca63a";
solution[26] = "10123043504210e2215390437072412360d3f15250d2d0a2b1523112c153710240a2d10361535154b";
level[27] = "82aa0c168d34a1525c2198498536ad0f7c23909aa4aeb8c2879baf889c4d121c939da758628ab2";
solution[27] = "1103615381839153a12231739153805371536023502370638082d0636013507380c4d01370e4b0841074a074c0c4b";
level[28] = "842b98a2ac0e8fa35e0f7c862d9aa4aeb8c21091a5c3889239a64d";
solution[28] = "11139032b0135132f105e0b5f014b072d0e40052e043710600a5504250439044b045f105e";
level[29] = "29963d978e983f0e858f99a3ad5e7c23909aa4aeb81087919ba54cc32f9ca69d313b45";
solution[29] = "1033f162f094c0c390538162d01350a2f0f430c4b01230d5501370a41032d174c082e144a1438032f03411736";
level[30] = "96203448848e98a2ac8599ad7c23909aa4aeb887384c25929ca6b0899db13b";
solution[30] = "108341638163601350137174c063509380b41174a07340f3f0f2b132d0722153810360223104c0a2d0a430a55";
level[31] = "2a973e7a848e35a249530e858f99a3ad5e7c239037a4aeb810879138a5af601b882f9c43b0ba309d44";
solution[31] = "117430d5314371838014a072a0d41135e0d55134c122e0b2b1038072c133a1439022b1338024113221336134a1338";
level[32] = "1f96476f7997525c7a842b353facb6228f99a34a86909aa4ae87919ba5af7e889239a6b0ba751c3abbc5273b4f";
solution[32] = "10135113a1c240c39154a192f1723092e0f2b1941032c19431739113802221d421e4c0f3f1d2e0e211e3a0e230e3908411e381e4a0f530f410b42";
level[33] = "1f477934b52198ac71858f36a34ac17c86909aa4aeb810242e38424c60889cb07f3abb274f";
solution[33] = "10b2103231542094c012c142e0335152c094a05240936053802401237152e094a1540093603370e2d";
level[34] = "1f96472aa1848e35a2490e858f99a3ad5e0f7c869037a4aeb8c210879138a5afc3259239a64d93a7273b4f";
solution[34] = "10f49164a06380f370c3501490555114b13400137192e18550b2f11391940192a1a2e192c03371a30084c184303391a421841";
level[35] = "0c16838d3e48707a848e98a2535d0e7b859940b75e23aeb8c29142af569ca6b0ba3aa7b1bb";
solution[35] = "11856021616580b20022a02400d350f4b13550f5d082b18540f4b164210440f39102e032310180523050d05210817";
level[36] = "0b151f290c79832abf7a21b6c0717b228fadb75e0f7c869037a44bb85f737d8791afb9c31b8857c4127f8930c5761d2794";
solution[36] = "1035e11220e191e1b195f1e2d020c0720195d18371d2518211d0f1e170f5707221d23082c02221d211d3705411c4c194b1c4a1d4b1c601d611d5f";
level[37] = "15b47920ab527a218e353fac537b2299adb70f7c239aaeb85f107d87919ba54cb9c37e252fa6b05789939d44b1319ea8";
solution[37] = "11910013f1922082006350415042b062106230d490c251b4c1e571e43072e1b3a154a1a440d4b0c37132e1d4d0c250f2e0a420c3714440c4d1456";
level[38] = "162aa12198ac537b858fa34ab772869aaeb85f732438a5c37e88924dbac4263a4494";
solution[38] = "10524053a092106160e260f2c161b162f08420154024b104a01400235154d15371521062c022305240225";
level[39] = "0bbe79b58498490e7b858f99a3adb7c17c86909aa44bb8737d249138a5afb960889cb07fbb1363";
solution[39] = "109380b361b370d4a084018600854172c184a1e4214240840070e014916181d2e14380724013705231422162c122d04371e2c073607220521050b";
level[40] = "2996a08334487a8498acb60e8599adc17286909aa4aec27d249bafb988394d899db1319e45";
solution[40] = "11c39153a0b38164a134d074b1b4c19240c481b4a025302410a3410390e37022d153801350d250d230d371536042d0137012303220324";
level[41] = "7a218e98a2ac530e8f99a35e727c239037a4ae55c210919ba5607e259239a6b057";
solution[41] = "1153903211525053509230937122f012b012d0c55112c124105230e4b0e37012f082e012d05370738";
level[42] = "82478334ab848e98a2ac0e858f36a34ac17c23909aa4aeb873249138a5af6088929ca6b0899d4e27b2";
solution[42] = "11c2404231c22164e1d381d361e4d1d34034a0c4c10551e4b012101231322034c01371d4a1d60052d1a551338182d1841134c183f1d4a1855135e";
level[43] = "29333d977a8e983fb6858f99a3ad862d9aa44b87919ba5af7e929ca6579d319ea8";
solution[43] = "10d3f022d19311022142d103816410d2d0742013616430b370541104a0341162f1943132d1038123a13411224132f123a";
level[44] = "33162034527a848e35a2acb6852ca3ad7c23aeb8879142af1b889239a64d577f9db1589e";
solution[44] = "10934063f1039094a104d0b350c43033f1639154c1623153a09340a2f012b15241621092216231625132e";
level[45] = "1f471683abb50d218e98a2495d858f9940ad7c8690a44b55872e38a54c7425929ca6b0617f89b158274f";
solution[45] = "11838084011270c210122054b02360e43184e1125184c124305490138044103400b2f1139043f122f12411836042d";
level[46] = "832a34a1ab7a218e98a24953718599adc10f7c86909a41aeb85f73879bafc37e259239a6b05726933a444e";
solution[46] = "1132603340f411a57072d0136123f0f55174a1941071b19530c481a411a2b0c36042d0c240c2208240336133a072d1a1903241a2f1324";
level[47] = "0b7882b45b6f7920b5bf0d7a218e983facb6c00e7b858f36a34ab7c10f19239aa4b85f9b42929ca6b0309da74e943b454f";
solution[47] = "1020b1142020d074a135c064014490221163f091916530a2311300a0f1841125203531b391142052c134a0a2113380a371e430a4d0a39133a134e";
level[48] = "707a84b65d0e7b858fadb75e0f7c232d37a4aeb85f737d24919ba5afb960117e8892b0ba61127f8958c5";
solution[48] = "10e240337022d1b101b220c61171b034b1a1a022f1837012302411a2e1a181a2c034d1c60085e1a421c4a0337034b04410455084c0862";
level[49] = "8ca0798334abb51721ac530e7b2c9940545e7219909aa455c2107d9142b9607e259cb0571c93a7bb9e";
solution[49] = "10a2102530117065403181219031a1742172c1825033003420a370340032c0342102c0e4d075f1656074d07371042";
level[50] = "79832a973eab527a848e35a2acb618854a547c86aeb87d24afb91b88929ca6b0ba1c89939d44b158";
solution[50] = "112581b2410181244193a012a1016013e12560b20102a1b221254162f114a19241b341b200a550935132304340a3f0a2b042213211b22";
level[51] = "781faa510c16832aa1abb55c707a842ba249b6c00e18852ca3adb75e7c86ae557d874c561b88b0577f26939da7b15827949e454f";
solution[51] = "10d0c152209231a26012b0d0e0d240d220119011b1d45181a18301d571a3a1a4e0e561d550249024b1a4c1a5e1a480c4704400c490452025d0247";
level[52] = "17842b98a2495371858f99a3adc17c23909aa44bb81087919ba5af601b88929ca6b0ba";
solution[52] = "1161b194b0a4c0d4d182f08421a4302371a55022510360137094c082c032d1a43053602391a2f0524162d042404361a411a2b";
level[53] = "1582a0477983a1ab17213f490e7b8f36ad54727c86909aa4aeb8101a9138afb9259243b0893044b12731a8b2";
solution[53] = "1081a1738023f0a250121071a032c063614440e231a4d0f2f114109380a370a21072c0f410a37134e063819430f2f13380f41";
level[54] = "29963d7920974852848e35a2ac858f99a3ad19862d9aa44bb887919ba5af882f9ca6b07f899d4e58949e45";
solution[54] = "1062d0d3517231a2e0619053f182d1043062b1d451d2f022c0e25022e0e371b380e4b0c48102d1937194911360c4a11480e490135114a063f0655";
level[55] = "848e35a2490e7b99b75e727c23909a41aeb85f107d9bb960259239a6b0";
solution[55] = "107250739125f0941013506560b37041a124d032b0341032d112f034312391225120f";
level[56] = "3417848ea2ac537b858fa3adb71986903741ae557d8791a5afb91b889243b0ba9d";
solution[56] = "10b37021717551743152d184c0219082e035314371156094c152b021b164b022d02411140023f0634064a0355033f";
level[57] = "8e98a2852ca3ad1986909aa4aeb87d919b4256882fa6b0939da7";
solution[57] = "115420d2c02230e2c0a430c4113440e4212370c2f011913420341012d06380c411340132e10371023";
level[58] = "8ca0970d8e983f5d71228f99a3adc17c909a41b87387919ba5afc311929ca6619d31a8";
solution[58] = "11941013f0a34164a17431022193f044117551b2f1b1906241240042f163604190d2b0b4c0d41022b1034192b10220b36042b0441";
level[59] = "7851798348b5707a21acb65d858f40ad727c86909aa4aeb8c2872ea5af741b884dba611c26b1bb80bc";
solution[59] = "1104d1237144b0f1b0841085505210117012d0440042e193718250a2e1a4103220a1c194b1b4c1d1b03241d2d0c230c3708410c4b1e570c4d0c61";
level[60] = "960c168da1b55c7a842b98a2ac538f99402d9aa4919ba57e882f9ca6b0ba127f93a758629e";
solution[60] = "11040112f0c251942172e1a251643052b193008411a37192e162d044001491a210137192c082d1a37083f022c1a21082b0817";
level[61] = "2a3e848e35a2ac188599adb7727c862d9aa44bb8c21a879bafb9889239a64d93a7";
solution[61] = "10f4d01351856171a09250939045f032b044d0a2d044b0c35103609370d2d0e41033f0538162d07380722032d0738";
level[62] = "828c33a047169752218e35a2ac8599ad727c869037a4aeb85f879baf259239a64d1c9d5827943ba8b2";
solution[62] = "10d370b231a3b0f2d18450b37073501330b3917380147053d113f112b0834123a182f104d10391843182d183f18290133011f";
level[63] = "3379973e520d848e35a2ac5d71228f99a34a5e7c869037a4aeb81024919ba54cc31188929ca6b0617f939d583b";
solution[63] = "10635144a07241619144c02220e2f0238182d183f182b1537162d082e173b1525194b1935012c1a2e19210e2d1937132c132e1725131c";
level[64] = "8233aa168d97a1b517218e353facb60e852c9940ad5e0f7c862d3741aeb85f73872e9b42af601b252f9ca6b0ba1c939da7bb273b4f";
solution[64] = "10d2f153b0d41013517391b2e15250640064207191122153718410c600e21154d052a0b3418550c4a09411c421c40053e02351c2a0e33";
level[65] = "aa515b202a34a1abb5bf0d178435acb6c07b228f36a34ab70f19239037414b55c27d24919ba5afb9111b88394dba61757f89933a444e76808a";
solution[65] = "1095b1d1b0f4d1824034a0f4b0135124c1741111c1836184c09490d4209371e11084101231b1c1836102c182206230d2c0d1a1e230a2e1c250a1c";
level[66] = "793452707a842b98a249b6c0852c99a3ad7c9037a45524919ba5af111b88929c43b057c41c9dbb";
solution[66] = "1012c02210f43062b0641101c08491a4213361541153f194c0e2b0e170e2d13240d2f1625155315411557184d102e18371040";
level[67] = "7948b5707a842b98a2acb65d71188f36a3adc17219869ac2107d919ba54cc3111b88929ca6b0ba611c4ebb";
solution[67] = "11418162e0d360240191b03231e4211250637022e011812610e48124d0f0d0e360537192f0e381e581a4d1e4203391e2e03250f231e18030f0321";
level[68] = "0b335b6f162a3e52bf0d7a212b353f49b6c0718599ad5e727c23909aa44b555f10879baf60747e25929ca6b0ba61757f93a758c5763b63";
solution[68] = "11655173b17250d231443025e163f1d4c132f1e251455131b1910132d104a0d37024c162d0441023602380a0d0b2b02220b1919220a0b190c0a0d";
level[69] = "7997b570848e983fac5d7118222c9940adb7c10f1986909aa4aeb85f737d24919b424c566011889239a6b0617f9dbb";
solution[69] = "102221e420d4c1d2416181c2e012c034010490f2f0c401237074b1e2e1a55040f0f191a41020e1e401a2b103702241a2d140e10231025100f100d";
level[70] = "51be79832ab55c7a849849c00e18858f36a34a545e72232d9aaec2737d872e9ba54cb9c37e889c4d617f2693bbc559c6";
solution[70] = "1014910260b52112e022a192302400a1a1a2e052d134c0d491a2c165e06371b1c0e4d0c251b2e1b401e61085f0d5b1e4b1c421c5408491b520d49";
level[71] = "15b46f798348b55c707a848e35a2acb6c07b36542337b824919b42b91b25929ca64dba127f893ab1bb62768027b2bc63";
solution[71] = "11b271d4d1b25114e091506231018172e14251a42072b1437144d09171e4312581e5710160220125612540c5502360248013f015305540c530d49";
level[72] = "6f34a15c0d7a2bacb65d0e7b228f99a3b7c10f7c23909aa455c2737d91afb960749ca661";
solution[72] = "11122105d05550f2b0f1916230d4104370d2d163701220136155417231855061a062c18530640164902541049023e";
level[73] = "1faa7920abb58498ac0e852c99a34ac1727c86909aa44bb8c210879138a5af60259c4d7f89b1bb8ab2";
solution[73] = "109381e4d064b1d25022c0440174a184b01491c420b6008361d371c2e0e251d35013718491c40192e0b4a183719401d4b0b4c0b360c230b240b22";
level[74] = "1596b4208d34a1ab848e353f49858fa3ad23ae8791424c25929ca6b089939da74e803bbc";
solution[74] = "1023f0b4c1025103b083401350b4e063310390649014b1642172f06350e4401390d3a062318430e2e0639182f0d24";
level[75] = "338d34a1212b98a2ac0e7b8f3640b75e7c862d9aa44bb8101a2e38a5566088929ca6b0939d449e";
solution[75] = "108560844114b01400842061a0c43142e163905350b21022c063001560b3706420a390b4d014401420a4b";
level[76] = "3351be97b5bf7a218e983facb65d71858f36a3adc10f7c232d9aa4ae551087919ba5af607e25929c434dba613abbc53b5963";
solution[76] = "1192d0a241a19093f0149163612531b230b38172e134d1d421a2d07371a41044a01351e4c012301391a3f1a5502221e38052d0f4c05430f3a013b";
level[77] = "0c16838d343e48525c0d7a2135a2acb6c0228f99ad5e1990a4aeb81a919ba5b96025929c434d61757f899db1bb62761d8a943bbc63";
solution[77] = "1092201340b43032d1b251c3b17380a6005350f1c01360b2f15261c39033f174a0749153803550a4a153a0d391e43074b1538154e156207610763";
level[78] = "293d97218e35a2ac18858f99a3adb70f7c869037a44bb8c27d87919ba5afb988929ca64d9d3145";
solution[78] = "104351837023f104d0d2b1b2d1a4b0f4305380e2d082c0a420122112e1c240c390b2b1037082e05360f2f0f2d0b411c3609340b2b0b3d";
level[79] = "29333db4be97b5bf848e35a2acb65d0e7b858f99a34a545e0f7c23909aae107d87919ba5af5660252f39a6b09dbb62313b4559c6";
solution[79] = "11b39025d12230637082d142c102f0a3f1e4d07191c241c0e194a1b231c22182e14420f541e37024b182c1818182e1840034a0249015318520151";
level[80] = "0b15333d47516f16838d97abb55c0d178e35a249b65d8f99c10f7c9aae55c2107d87919ba5afb9111b2f394dba7f939d581d8a319ea84f59";
solution[80] = "10d1b1e2f0f391855105d123a0d1d134216380a42164c0d3112381d271d391d371d35165e165c03160120013608511648093d092b093f0148083f";
level[81] = "2933be838da1b55c707a218e35a249b65d0e7b99a34a0f19239037a44bb8107d38a54c747e88929c434dba618993a7bbc5319e63";
solution[81] = "11d4c01491e4d153b132519380d5211301e371e350729194a10431e2111421144154d0440062306371c420649072b0d401e351e4b0a411c401e35";
level[82] = "2034ab178ea2537b8f9940b7198690a44bb87d91a5567e889239a6b0ba1c93a7588a9e4f";
solution[82] = "10f19041a17390430182505400d2c0136174b0d1a07560d300542075817390241133b1325174d07421339134b0255";
level[83] = "822947792a34a1b57a8498ac53188f99a3540f1986909aa4aeb85f737d24afb96011259c4d61751c89939da74ebbc51d8a31454f59";
solution[83] = "10c111e251d4e0b2a035401350a240c0f01231540164f164d035614360e4903440440042c0a26041a0c250218191a060f06250330031c17260627";
level[84] = "4751abb55c3facb65d7b85a3ad545e721986909aa4b85f737d879ba5b9c37e8843b057c4a7b1bbc54fbc";
solution[84] = "107540b191e431d4e1e2d0638064a0923162d0f2416190240051a195f19490e5704411a58043f014a1a5604550457044304411723042d04190518";
level[85] = "151faa5116838d97a1ab527a98530e182c3640b75e727c86909aa4aeb8c2101a9138a556c37e9c571c89939da74e581d27b259";
solution[85] = "1155e11531a3805521548053e03161c39031814540e4b0c37191c0a23191a192c1c230c3914420436032e01351940014b03440139014f";
level[86] = "1fa00c8d973e0d7a8e983fac7b852c36adb70f90a4555f1a87919bafb9111b929ca6b075939d4427a8";
solution[86] = "112441427082c0f301439122e0c1b1a2f152d1724173811360b3e013f1a41112211380322042d012b04430a38042d022c022e";
level[87] = "3397b55c848e983fac5d18858f99a3b75e727c8690a44bc27d87919ba5b9c325929ca6b0c49d58623b";
solution[87] = "11d4b11611658043f0f2b0a56114b1a4d02400c250335024214180c2311391642142e042d01360d2b1e24114b0b420d411e360d430d2d142c1440";
level[88] = "0d3fc00ea3c172239aa4c2737d8738a5af60117e25929ca64d61757f89939da74ebbc5138027949e45b25963";
solution[88] = "1054d04111c610c4e1b270f4f02421b251b39042304250d2f112618600244144215240f4d192f153a154e1458156207611560015f155e";
level[89] = "8229963daab4be202a34a1abb5bf17c00e228f36c17286a4aeb85f101a87a5af56c3747e25929c43c426933aa7c527a84f5963";
solution[89] = "116251b1a0d250b1a0b30123a1e430b440a5f1356155e105f0b42194b055d1d60043d0f551061104b0547105f06520451105d1047043d04290133";
level[90] = "6e1533515b798da1b57a842ba2ac53858fa3ad239aae87919ba54c7e25929c43b0577f93a7bb131d9e59c6";
solution[90] = "10853062b162516230f49083f0e3901210137032c0125142f1c2516211637182e16490540173b1d4d14431d39133017251737174904400452";
level[91] = "0b78828c96a047b4be6f79208d97a1abb55c218e353f492c99a3379b889239a64d89939da7b18027943ba8b259";
solution[91] = "11e3b0820020b0f151339032b021f07470c2a10200e3e0529052b152f10360735112a02350237023915431a381b2f1a261e391c2f1a381a3a1930";
level[92] = "51be2a97a148b57a849849b67b858f99a3ad7c8690a4551a87919ba54c1b889cb057939d44b1bb59c6";
solution[92] = "11a1a02481d44154c01490d42084113380d580c240f1b0f2d024a1e4d1b4e092a08571b4c0a36084109401322052d092c023802220918092e1823";
level[93] = "aa4870218e35a2acc071858fa3ad5e0f7c86aeb8c2738791a5afc311259239a64d61898a";
solution[93] = "10b4801491a25154a0d35014b0d21165e0135042b1a39065f0d23064b182f06391222062307240419112218191124110e020f";
level[94] = "1582aa518d3e848e98a2ac7b228fa3adb7729037a45f7d2491a5afb9882f9ca6b093441d8ab259";
solution[94] = "10a3e032c02350b2a0d400437122c0d2e0e2113400835123e0135122c0d4415421b390e371130132e1b271c391344193915301b39132e";
level[95] = "15511697b57a218e3f49b6717b8536ad54c119909a41b8737d87384cb9c37e8892a6b0ba1c3abb8059";
solution[95] = "10419124c02540e220b410f1c19560319032b1519012209381a1b0d5716550d430a4a163f06240d2d1a2f0636162d01381a41";
level[96] = "0b781f8c9647515b6f79838d34ab525c70178eac0e7b8f364a54c1721990374bb85f734c5660117e25923943b0ba61757f263a44b1bb621380273ba84fbcc6";
solution[96] = "1040e16431e4f0e4c1655031f084a1c570860084e1a441e391e2512261b2f1b1b0a29172617100a170420170e102b012901171720101510170c16";
level[97] = "0b960c79977a8435a249858f99a3adb75e7c862da4aeb8c287919ba5afb9607e889ca64d121c9d763b";
solution[97] = "10d2d013501230d191249022c1654042d125f124b065509221854124d1d4c0a421b23124b13360d2d0a2e18421324192d0a1c0938182e1e25181c";
level[98] = "8c96a01697b5212b983fac18852c40adb70f86aec21a242e42afb925929ca64d1c3a58949e45";
solution[98] = "1032b033f0e3a08240d4d13430540083a132f143913430d390a420d4b0d35013d0934012b013f";
level[99] = "6e29333d5b0c7997b55c848e35a2ac0e858f9940ad5e727c86909aa44bb8c273242e38a54cc3889239a6b0127f9d586213943b4563";
solution[99] = "1175e044009381c2e0535150e1b390121072d15241e43174c11250137173619190741192d054b0c4c162e113717380c361e2f193f1e41034a0338";
level[100] = "6e781f8c333d47516f16838d97a1ab520d17ac53717b8f364a5472192d9a41ae55107d2e38424c56741b757f89939d44b1bb6213808a943ba84fbc63";
solution[100] = "10d4203170d54072009340d3e03190b100d2a011f0d16010d1944120f1b111b13031b161c040e1b270410193004261b11191c1b271b3b1b4f1b63";
levelcount = level.length - 1;
data.gotoAndPlay("readreg");
stop();
Symbol 206 MovieClip Frame 5
clearLevel();
current = levelcount + 1;
_parent.selector.gotoAndStop("disabled");
play();
genmode = true;
Symbol 206 MovieClip Frame 6
generate();
stop();
Symbol 206 MovieClip Frame 11
solving = true;
step = 0;
solve_steps = new Array();
blobflag = Number(solution[current].substr(0, 1));
if (!blobflag) {
sinc = 3;
} else {
sinc = 4;
}
numsteps = (solution[current].length - 1) / sinc;
j = 0;
while (j < numsteps) {
solve_steps[j] = solution[current].substr((j * sinc) + 1, sinc);
j++;
}
pause.pause = 1;
pause.play();
Instance of Symbol 215 MovieClip "pause" in Symbol 206 MovieClip Frame 11
onClipEvent (load) {
_visible = false;
setProperty("", _visible, false);
}
Symbol 206 MovieClip Frame 16
step_parts = new Array();
step_parts = solve_steps[step].split("-");
sb = solve_steps[step].substr(0, blobflag + 1);
sb = parseInt(sb, 16);
pos = solve_steps[step].substr(blobflag + 1, 2);
pos = parseInt(pos, 16).toString();
sx = Number(pos.substr(0, 1));
sy = Number(pos.substr(1, 1));
thisblob = this["blob" + sb];
thisplatform = this[("p" + sx) + sy];
thisblob.gotoAndPlay("highlight");
thisplatform.gotoAndPlay("solve");
pause.pause = 1;
pause.play();
Symbol 206 MovieClip Frame 18
thisblob._x = ((sx - 1) * 50) + (25 + (sx - 1));
thisblob._y = ((sy - 1) * 30) + (15 + (sy - 1));
dropBlob(thisblob);
Symbol 206 MovieClip Frame 19
pause.pause = 3;
pause.play();
Symbol 206 MovieClip Frame 21
step++;
if (step != numsteps) {
gotoAndPlay (16);
} else {
play();
}
Symbol 206 MovieClip Frame 29
solving = false;
stop();
Symbol 206 MovieClip Frame 31
loop = 0;
solving = false;
Symbol 206 MovieClip Frame 36
thisblob = this["blob" + blobarray[loop]];
thisblob.gotoAndPlay("reset");
loop++;
Symbol 206 MovieClip Frame 40
if (loop != blobarray.length) {
gotoAndPlay (36);
} else {
play();
}
Symbol 206 MovieClip Frame 79
readPuzzle(current);
stop();
Symbol 206 MovieClip Frame 82
attachMovie("winbox", "winbox", 1000);
winbox._x = winningblob._x;
winbox._y = winningblob._y;
attachMovie("faderblock", "faderblock", 198);
faderblock._x = _x;
faderblock._y = _y;
Symbol 206 MovieClip Frame 86
stop();
Symbol 206 MovieClip Frame 88
attachMovie("levelcompleted", "levelcompleted", 1200);
levelcompleted._x = 230;
levelcompleted._y = 150;
stop();
Symbol 206 MovieClip Frame 89
faderblock.play();
if (genmode) {
if (genmode) {
clearLevel();
gotoAndPlay (98);
}
} else {
if (current == levelcount) {
current = 0;
}
p = (current + 1) / _parent.selector.slider.numlevels;
_parent.selector.slider._x = 15 + (p * 285);
}
Symbol 206 MovieClip Frame 96
stop();
Symbol 206 MovieClip Frame 105
stop();
Symbol 234 MovieClip Frame 1
if (!spins) {
spins = 20;
}
Symbol 234 MovieClip Frame 16
spins--;
if (spins > 0) {
gotoAndPlay (2);
}
Symbol 234 MovieClip Frame 25
stop();
Symbol 228 Button
on (press) {
game.clearLevel();
game.readPuzzle(game.current);
game.gotoAndPlay("solve");
}
Symbol 242 Button
on (press) {
game.clearLevel();
game.readPuzzle(game.current);
game.gotoAndStop(1);
}
Symbol 245 Button
on (release) {
if (!help.help) {
help.gotoAndStop(2);
} else {
help.gotoAndStop(1);
}
}
Symbol 250 Button
on (press) {
gotoAndStop (2);
}
Symbol 252 Button
on (press) {
gotoAndStop (1);
}
Symbol 248 MovieClip Frame 1
stop();
_parent.game.mute = 0;
_root.game.RegSave("mute", _root.game.mute);
Symbol 248 MovieClip Frame 2
_parent.game.mute = 1;
_root.game.RegSave("mute", _root.game.mute);
Symbol 257 MovieClip Frame 2
numlevels = _parent.slider.numlevels;
startx = 0;
starty = 0;
width = 18;
toggle = 1;
j = 1;
while (j <= numlevels) {
newnum = "num" + j;
this.attachMovie("sel_numblock", newnum, j);
this[newnum]._x = (width * (j - 1)) + startx;
this[newnum]._y = starty;
if (j >= 10) {
this[newnum].number = j;
} else {
this[newnum].number = "0" + j;
}
toggle = toggle * -1;
if (toggle == -1) {
this[newnum].gotoAndStop(2);
}
if (_parent._parent.game.solved[j]) {
this[newnum].solved.gotoAndStop(2);
}
j++;
}
if (_root.lastLevel > numlevels) {
_parent.gotoAndStop("disabled");
_parent._parent.game.clearLevel();
_parent._parent.game.readPuzzle(_root.lastLevel);
}
stop();
Symbol 259 MovieClip Frame 1
stop();
Symbol 262 Button
on (press) {
this.startDrag(false, 15, 0, 300, 0);
this.mousedown = true;
_root.mouseptr.keepup = true;
}
on (release, releaseOutside) {
this.stopDrag();
this.mousedown = false;
_root.mouseptr.keepup = false;
if (_root.custom_mouseptr) {
startDrag (_root.mouseptr, true);
}
}
on (rollOver) {
_root.mouseptr.gotoAndStop("hand");
}
on (rollOut) {
_root.mouseptr.gotoAndStop("point");
}
Symbol 269 Button
on (press) {
slider.xinc = 285 / slider.numlevels;
slider.mousedown = true;
}
on (release, dragOut, releaseOutside) {
slider.xinc = 0;
slider.mousedown = false;
n = slider.num;
if (slider.num < (_root.game.current + 1)) {
n++;
}
if (n < slider.numlevels) {
p = n / slider.numlevels;
slider._x = 15 + (p * 285);
}
}
Symbol 275 Button
on (press) {
slider.xinc = -285 / slider.numlevels;
slider.mousedown = true;
}
on (release, dragOut, releaseOutside) {
slider.xinc = 0;
slider.mousedown = false;
n = slider.num;
if (slider.num >= _root.game.current) {
n--;
}
if (n > 0) {
p = n / slider.numlevels;
slider._x = 15 + (p * 285);
}
}
Symbol 280 Button
on (press) {
if (!oldLevel) {
_root.lastLevel = 1;
} else {
_root.lastLevel = oldLevel;
}
genMode = false;
_parent.game.genmode = false;
gotoAndStop (2);
}
on (rollOver) {
_root.mouseptr.gotoAndStop("hand");
}
on (rollOut) {
_root.mouseptr.gotoAndStop("point");
}
Symbol 253 MovieClip Frame 1
stop();
Symbol 253 MovieClip Frame 2
stop();
Instance of Symbol 258 MovieClip "slider" in Symbol 253 MovieClip Frame 2
onClipEvent (enterFrame) {
numlevels = _root.game.levelcount;
percent = (_x - 15) / 285;
num = Math.floor(percent * (numlevels - 1)) + 1;
if (!_root.game.solved[num]) {
bgcolor.gotoAndStop(1);
} else {
bgcolor.gotoAndStop(2);
}
if (num >= 10) {
numb = num;
} else {
numb = "0" + num;
}
_parent.strip._x = _x - (18 * (num - 1));
if (((num != _root.game.current) && (mousedown == false)) && (_root.lastLevel <= numlevels)) {
_root.game.clearLevel();
_root.game.readPuzzle(num);
_root.game.gotoAndStop(1);
}
if (!((xinc < 0) && (num > 1))) {
if ((xinc > 0) && (num < numlevels)) {
_x = (_x + (xinc / 3));
setProperty("", _x, _x + (xinc / 3));
}
} else {
_x = (_x + (xinc / 3));
setProperty("", _x, _x + (xinc / 3));
}
}
onClipEvent (load) {
mousedown = false;
p = _root.lastLevel / _root.game.levelcount;
_x = (15 + (p * 285));
setProperty("", _x, 15 + (p * 285));
}
Symbol 285 Button
on (press) {
this.startDrag(1, 0, 0, 0, 30);
_root.mouseptr.keepup = true;
}
on (release) {
this.stopDrag();
_root.game.vol = 100 - (_y * 3.32999992370605);
volsnd.setVolume(_parent._parent.game.vol);
if (!_root.game.mute) {
volsnd.start();
}
_root.game.RegSave("volume", _root.game.vol);
_root.mouseptr.keepup = false;
if (_root.custom_mouseptr) {
startDrag (_root.mouseptr, true);
}
}
Instance of Symbol 283 MovieClip "volumeslider" in Symbol 281 MovieClip Frame 1
onClipEvent (load) {
_parent._parent.game.vol = 100 - (_y * 3.32999992370605);
volsnd = new Sound();
volsnd.attachSound("bzorp");
}
Symbol 287 Button
on (press) {
if (!genMode) {
selector.oldLevel = _root.game.current;
}
game.gotoAndPlay("gen");
genMode = true;
}
Symbol 293 Button
on (press) {
_parent.game.undoMove();
play();
}
Symbol 290 MovieClip Frame 1
stop();
undo = false;
Symbol 290 MovieClip Frame 14
stop();
undo = true;
Symbol 290 MovieClip Frame 15
undo = false;
Symbol 290 MovieClip Frame 23
gotoAndStop (1);
Symbol 297 Button
on (press) {
nextFrame();
}
Symbol 313 Button
on (release) {
gotoAndStop (1);
}
Symbol 318 Button
on (press) {
prevFrame();
}
Symbol 328 Button
on (press) {
cheatClick++;
if (cheatClick == 5) {
cheatClick = 0;
_root.cheat = 1;
}
}
Symbol 295 MovieClip Frame 1
stop();
help = false;
pagecount = 3;
Symbol 295 MovieClip Frame 2
help = true;