Frame 1
mochi.MochiServices.connect("fb496127b6d09faf");
MochiAd.showPreGameAd({id:"fb496127b6d09faf", res:"550x400", color:8169176, background:11587048, outline:4359366});
Frame 2
stop();
oneMoreLevel = _root.attachMovie("oneMoreLevel", "oneMoreLevel", _root.getNextHighestDepth());
oneMoreLevel._x = 275;
oneMoreLevel._y = 200;
oneMoreLevel.onEnterFrame = function () {
if (oneMoreLevel._currentframe == 76) {
_root.gotoAndStop(4);
this.removeMovieClip();
}
};
Frame 4
function loadLevel(level) {
switch (level) {
case 1 :
cells = [[0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 0, 1, 0, 0], [0, 1, 1, 0, 1, 1, 0], [0, 1, 0, 0, 0, 1, 0], [0, 1, 1, 1, 1, 1, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 2 :
cells = [[0, 0, 0, 1, 1, 1, 0], [0, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 1, 1, 0, 0], [0, 1, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 3 :
cells = [[0, 1, 1, 1, 0, 0, 0], [0, 1, 0, 1, 1, 1, 0], [0, 1, 1, 1, 0, 1, 0], [0, 0, 0, 1, 1, 1, 0], [0, 1, 1, 1, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 4 :
cells = [[0, 0, 0, 0, 1, 0, 0], [0, 1, 0, 1, 1, 1, 0], [0, 1, 0, 1, 1, 1, 0], [0, 1, 1, 1, 0, 1, 0], [0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 5 :
cells = [[0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 0, 0, 0, 0], [0, 1, 1, 1, 1, 0, 0], [0, 0, 0, 1, 1, 1, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 6 :
cells = [[0, 1, 0, 0, 0, 0, 0], [0, 1, 0, 1, 1, 1, 0], [0, 1, 1, 1, 1, 0, 0], [0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 1, 1, 1, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 7 :
cells = [[0, 0, 0, 0, 1, 0, 0], [0, 1, 0, 1, 1, 1, 0], [0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 1, 0, 0, 0], [0, 0, 0, 1, 1, 1, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 8 :
cells = [[1, 1, 1, 0, 1, 1, 0], [0, 0, 1, 0, 1, 1, 0], [0, 0, 1, 1, 1, 1, 0], [0, 1, 1, 1, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 9 :
cells = [[0, 1, 0, 0, 0, 0, 0], [0, 1, 0, 1, 1, 1, 0], [1, 1, 1, 1, 0, 0, 0], [0, 1, 1, 1, 0, 0, 0], [0, 0, 0, 1, 1, 1, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 10 :
cells = [[0, 0, 0, 1, 0, 0, 0], [1, 1, 1, 1, 0, 0, 0], [0, 1, 0, 1, 1, 1, 0], [0, 1, 0, 0, 1, 0, 0], [1, 1, 1, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 11 :
cells = [[0, 1, 0, 1, 1, 1, 0], [0, 1, 1, 1, 0, 1, 0], [0, 1, 0, 0, 1, 1, 0], [1, 1, 1, 0, 1, 0, 0], [0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 12 :
cells = [[0, 1, 0, 1, 0, 0, 0], [1, 1, 1, 1, 0, 0, 0], [0, 1, 0, 1, 1, 1, 0], [1, 1, 1, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 13 :
cells = [[0, 0, 1, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 1, 1, 1, 0, 1, 0], [1, 1, 1, 1, 0, 1, 0], [0, 1, 0, 1, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 14 :
cells = [[0, 0, 0, 1, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 1, 1, 1, 0], [1, 1, 1, 0, 1, 1, 0], [0, 0, 0, 1, 1, 1, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 15 :
cells = [[0, 1, 1, 1, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 1, 0, 0, 0], [0, 1, 1, 1, 1, 1, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 16 :
cells = [[0, 0, 1, 1, 1, 0, 0], [0, 1, 1, 1, 0, 0, 0], [1, 1, 1, 0, 0, 0, 0], [0, 1, 1, 1, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 17 :
cells = [[0, 1, 1, 1, 1, 0, 0], [0, 1, 0, 0, 1, 0, 0], [0, 1, 1, 1, 1, 0, 0], [0, 0, 0, 1, 1, 1, 0], [0, 1, 1, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 18 :
cells = [[1, 1, 0, 0, 0, 0, 0], [1, 1, 0, 0, 0, 1, 0], [1, 1, 1, 1, 0, 1, 0], [0, 1, 0, 1, 0, 1, 0], [0, 1, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 19 :
cells = [[0, 0, 1, 1, 1, 0, 0], [1, 1, 1, 0, 1, 0, 0], [0, 1, 1, 1, 1, 0, 0], [0, 1, 0, 0, 1, 0, 0], [0, 1, 0, 1, 1, 1, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 20 :
cells = [[1, 1, 1, 0, 1, 0, 0], [0, 0, 0, 1, 1, 0, 0], [0, 1, 0, 1, 1, 1, 0], [1, 1, 1, 1, 0, 1, 0], [0, 1, 0, 1, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 21 :
cells = [[1, 1, 1, 0, 0, 0, 0], [0, 0, 1, 1, 1, 1, 0], [1, 1, 1, 0, 1, 0, 0], [0, 1, 0, 0, 1, 0, 0], [0, 1, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 22 :
cells = [[0, 1, 0, 0, 1, 0, 0], [0, 1, 1, 1, 1, 0, 0], [1, 1, 0, 1, 1, 1, 0], [1, 0, 0, 1, 0, 1, 0], [1, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 23 :
cells = [[0, 0, 0, 1, 1, 1, 0], [1, 1, 1, 0, 0, 1, 0], [0, 0, 1, 0, 1, 1, 0], [0, 0, 1, 1, 1, 1, 0], [1, 1, 1, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 24 :
cells = [[0, 1, 0, 0, 0, 1, 0], [1, 1, 0, 1, 1, 1, 0], [1, 1, 1, 0, 0, 1, 0], [1, 0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 1, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
break;
case 25 :
cells = [[0, 1, 0, 0, 1, 0, 0], [1, 1, 1, 1, 1, 1, 0], [1, 1, 1, 1, 1, 1, 0], [1, 1, 0, 0, 1, 1, 0], [0, 1, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
piecesToClear = 20;
}
buildBoard();
}
function __com_mochibot__(swfid, mc, lv, trk) {
var x;
var g;
var s;
var fv;
var sb;
var u;
var res;
var mb;
var mbc;
mb = "__mochibot__";
mbc = "mochibot.com";
g = (_global ? (_global) : (_level0._root));
if (g[mb + swfid]) {
return(g[mb + swfid]);
}
s = System.security;
x = mc._root.getSWFVersion;
fv = (x ? (mc.getSWFVersion()) : ((_global ? 6 : 5)));
if (!s) {
s = {};
}
sb = s.sandboxType;
if (sb == "localWithFile") {
return(null);
}
x = s.allowDomain;
if (x) {
s.allowDomain(mbc);
}
x = s.allowInsecureDomain;
if (x) {
s.allowInsecureDomain(mbc);
}
u = (((((((((((("http://" + mbc) + "/my/core.swf?mv=7&fv=") + fv) + "&v=") + escape(getVersion())) + "&swfid=") + escape(swfid)) + "&l=") + lv) + "&f=") + mc) + (sb ? ("&sb=" + sb) : "")) + (trk ? "&t=1" : "");
lv = ((fv > 6) ? (mc.getNextHighestDepth()) : ((g[mb + "level"] ? (g[mb + "level"] + 1) : (lv))));
g[mb + "level"] = lv;
if (fv == 5) {
res = "_level" + lv;
if (!eval (res)) {
loadMovieNum (u, lv);
}
} else {
res = mc.createEmptyMovieClip(mb + swfid, lv);
res.loadMovie(u);
}
return(res);
}
__com_mochibot__("b05017ad", this, 10301, true);
function emitParticles(posX, posY) {
var _local1 = 0;
while (_local1 < 5) {
createParticle(posX, posY, _local1 + 1);
_local1++;
}
}
function createParticle(px, py, frame) {
var par = _root.attachMovie("stars", "star_" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
par._x = px + randRange(-10, 10);
par._y = py + randRange(-10, 10);
par.angle = randRange(-180, 180);
par.vel = randRange(1, 2);
par.vx = Math.cos(par.angle) * par.vel;
par.vy = Math.sin(par.angle) * par.vel;
par.wind = 0;
par.gravity = 0.5;
par.gotoAndStop(frame);
par.onEnterFrame = function () {
this._x = this._x + this.vx;
this._y = this._y + this.vy;
this.vx = this.vx + par.wind;
this.vy = this.vy + par.gravity;
par._alpha = par._alpha - 2;
par._xscale;
par._yscale;
par._rotation = par._rotation + (par.vx * 3);
if (par._alpha < 20) {
par.removeMovieClip();
}
};
}
function emitParticles2(posX, posY) {
var _local1 = 0;
while (_local1 < 7) {
createParticle2(posX, posY, _local1 + 1);
_local1++;
}
}
function createParticle2(px, py, frame) {
var par = _root.attachMovie("stars", "star_" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
par._x = px + randRange(-10, 10);
par._y = py + randRange(-10, 10);
par.angle = randRange(-180, 180);
par.vel = randRange(3, 4);
par.vx = Math.cos(par.angle) * par.vel;
par.vy = Math.sin(par.angle) * par.vel;
par.wind = 0;
par.gravity = 0;
par.gotoAndStop(frame);
par.onEnterFrame = function () {
this._x = this._x + this.vx;
this._y = this._y + this.vy;
this.vx = this.vx + par.wind;
this.vy = this.vy + par.gravity;
par._alpha = par._alpha - 2;
par._xscale;
par._yscale;
par._rotation = par._rotation + (par.vx * 3);
if (par._alpha < 20) {
par.removeMovieClip();
}
};
}
function resetArrays() {
tempCells = [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]];
pieceGridArray = [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]];
}
function drawLives() {
var _local1 = 0;
while (_local1 < lives) {
var _local2 = gameInterface.attachMovie("live", "live_" + gameInterface.getNextHighestDepth(), gameInterface.getNextHighestDepth());
_local2._x = ((_local1 + 1) * 32) + 425;
_local2._y = 45;
liveArray[_local1] = _local2;
_local1++;
}
}
function loseLife() {
liveArray[lives].removeMovieClip();
liveArray.splice(-1);
}
function createPiece() {
var _local2 = gameInterface.attachMovie("piece", "piece_" + gameInterface.getNextHighestDepth(), gameInterface.getNextHighestDepth());
_local2.val = randRange(1, 6);
_local2.gotoAndStop(_local2.val);
_local2._x = 0;
_local2._y = 40;
_local2.distancetoMouse = 1000;
_local2.dragging = false;
pieceArray.unshift(_local2);
_local2.onMouseMove = function () {
if (this.dragging == true) {
this._x = _xmouse;
this._y = _ymouse;
}
};
_local2.onEnterFrame = function () {
if ((this.dragging == true) && (this.distancetoMouse > 1)) {
this.moveToMouse();
}
};
_local2.moveToMouse = function () {
dist_x = _xmouse - this._x;
dist_y = _ymouse - this._y;
distancetoMouse = Math.sqrt((dist_x * dist_x) + (dist_y * dist_y));
angle = Math.atan2(dist_y, dist_x);
speed = distancetoMouse / 3;
xspeed = speed * Math.cos(angle);
yspeed = speed * Math.sin(angle);
this._x = this._x + xspeed;
this._y = this._y + yspeed;
};
}
function createBonusPiece() {
var _local2 = gameInterface.attachMovie("bonusPiece", "piece_" + gameInterface.getNextHighestDepth(), gameInterface.getNextHighestDepth());
_local2.bonus = true;
_local2.val = randRange(1, 1);
_local2.gotoAndStop(_local2.val);
_local2._x = 0;
_local2._y = 40;
_local2.distancetoMouse = 1000;
_local2.dragging = false;
pieceArray.unshift(_local2);
_local2.onMouseMove = function () {
if (this.dragging == true) {
this._x = _xmouse;
this._y = _ymouse;
}
};
_local2.onEnterFrame = function () {
if ((this.dragging == true) && (this.distancetoMouse > 1)) {
this.moveToMouse();
}
};
_local2.moveToMouse = function () {
dist_x = _xmouse - this._x;
dist_y = _ymouse - this._y;
distancetoMouse = Math.sqrt((dist_x * dist_x) + (dist_y * dist_y));
angle = Math.atan2(dist_y, dist_x);
speed = distancetoMouse / 3;
xspeed = speed * Math.cos(angle);
yspeed = speed * Math.sin(angle);
this._x = this._x + xspeed;
this._y = this._y + yspeed;
};
}
function buildBoard() {
totalCells = 0;
for (var _local7 in board) {
board[_local7].removeMovieClip();
}
var _local4 = 0;
while (_local4 < rows) {
var _local1 = 0;
while (_local1 < cols) {
var _local3 = cells[_local4][_local1];
if (_local3 != 0) {
totalCells++;
var _local6 = _local1 * spacing;
var _local5 = _local4 * spacing;
var _local2 = board.attachMovie("cell", "cell_" + board.getNextHighestDepth(), board.getNextHighestDepth());
_local2.gotoAndStop(_local3);
_local2._x = _local6 + offsetX;
_local2._y = _local5 + offsetY;
}
_local1++;
}
_local4++;
}
}
function searchFilas(fila) {
var _local8 = false;
var _local7 = -100;
var _local5 = 0;
var _local6 = 0;
var _local1 = 0;
while (_local1 < rows) {
var _local3 = pieceGridArray[fila][_local1].val;
if (((_local3 != 0) && (_local8 == false)) && (_local3 != undefined)) {
_local7 = _local3;
_local5 = _local1;
_local8 = true;
}
if (_local7 == _local3) {
_local6++;
}
if ((_local7 != _local3) && (_local3 > 0)) {
_local6 = 0;
}
if (((_local3 == 0) || (_local3 == undefined)) && (cells[fila][_local1] == 0)) {
if (((_local6 >= 3) && (cells[fila][_local5 - 1] != 1)) && (cells[fila][_local5 + _local6] != 1)) {
var _local4 = _local5;
while (_local4 < _local1) {
tempCells[fila][_local4] = 1;
_local4++;
}
}
_local6 = 0;
_local7 = -100;
_local8 = false;
}
if (_local1 == (rows - 1)) {
if (((_local6 >= 3) && (cells[fila][_local5 - 1] != 1)) && (cells[fila][_local5 + _local6] != 1)) {
var _local4 = _local5;
while (_local4 <= _local1) {
tempCells[fila][_local4] = 1;
_local4++;
}
}
}
_local1++;
}
}
function searchColumnas(columna) {
var _local8 = false;
var _local7 = -100;
var _local5 = 0;
var _local6 = 0;
var _local1 = 0;
while (_local1 < cols) {
var _local2 = pieceGridArray[_local1][columna].val;
if (((_local2 != 0) && (_local8 == false)) && (_local2 != undefined)) {
_local7 = _local2;
_local5 = _local1;
_local8 = true;
}
if (_local7 == _local2) {
_local6++;
}
if ((_local7 != _local2) && (_local2 > 0)) {
_local6 = 0;
}
if (((_local2 == 0) || (_local2 == undefined)) && (cells[_local1][columna] == 0)) {
if (((_local6 >= 3) && (cells[_local5 - 1][columna] != 1)) && (cells[_local5 + _local6][columna] != 1)) {
var _local3 = _local5;
while (_local3 < _local1) {
tempCells[_local3][columna] = 1;
_local3++;
}
}
_local6 = 0;
_local7 = -100;
_local8 = false;
}
if (_local1 == (cols - 1)) {
if (((_local6 >= 3) && (cells[_local5 - 1][columna] != 1)) && (cells[_local5 + _local6][columna] != 1)) {
var _local3 = _local5;
while (_local3 <= _local1) {
tempCells[_local3][columna] = 1;
_local3++;
}
}
}
_local1++;
}
}
function fillPreviewZone() {
if (pieceArray.length < 4) {
var _local2 = randRange(1, 20);
if (_local2 <= 19) {
createPiece();
} else {
createBonusPiece();
}
for (var _local1 in pieceArray) {
pieceArray[_local1]._x = pieceArray[_local1]._x + 50;
}
pieceArray[3].dragging = true;
pieceArray[3].swapDepths(gameInterface.getNextHighestDepth());
}
}
function randRange(min, max) {
var _local1 = Math.floor(Math.random() * ((max - min) + 1)) + min;
return(_local1);
}
function MarkGrid() {
var _local1 = 0;
while (_local1 < rows) {
searchFilas(_local1);
_local1++;
}
var _local2 = 0;
while (_local2 < cols) {
searchColumnas(_local2);
_local2++;
}
}
function removeMatchPieces() {
var _local4 = 0;
var _local2 = 0;
while (_local2 < rows) {
var _local1 = 0;
while (_local1 < cols) {
var _local3 = tempCells[_local2][_local1];
if (_local3 == 1) {
emitParticles(pieceGridArray[_local2][_local1]._x, pieceGridArray[_local2][_local1]._y);
pieceGridArray[_local2][_local1].removeMovieClip();
pieceGridArray[_local2][_local1] = 0;
tempCells[_local2][_local1] = 0;
countPieces++;
_local4++;
click_sound.stop();
if (sound == 1) {
match_sound.start();
}
}
_local1++;
}
_local2++;
}
score = score + ((1 * _local4) * _local4);
}
function checkIfLose() {
countCells = 0;
var _local2 = 0;
while (_local2 < rows) {
var _local1 = 0;
while (_local1 < cols) {
if (pieceGridArray[_local2][_local1] != 0) {
countCells++;
}
_local1++;
}
_local2++;
}
if (countCells == totalCells) {
if (lives > 1) {
showNoMoreMovesWindow();
} else {
showNoMoreLivesWindow();
}
}
}
function resetLevel() {
var _local2 = 0;
while (_local2 < rows) {
var _local1 = 0;
while (_local1 < cols) {
pieceGridArray[_local2][_local1].removeMovieClip();
_local1++;
}
_local2++;
}
for (_local2 in pieceArray) {
pieceArray[_local2].removeMovieClip();
pieceArray.pop();
}
resetArrays();
countPieces = 0;
}
function showNoMoreMovesWindow() {
gamePaused = true;
var noMoreMovesWin = _root.attachMovie("noMoreMoves", "noMoreMoves", _root.getNextHighestDepth());
noMoreMovesWin._x = 275;
noMoreMovesWin._y = 200;
noMoreMovesWin.onRelease = function () {
noMoreMovesWin.removeMovieClip();
resetLevel();
lives--;
loseLife();
gamePaused = false;
};
}
function showNoMoreLivesWindow(title) {
gamePaused = true;
var noMoreLivesWin = gameInterface.attachMovie("noMoreLives", "noMoreLives", gameInterface.getNextHighestDepth());
noMoreLivesWin._x = 275;
noMoreLivesWin._y = 200;
if (title == "Lose") {
noMoreLivesWin.gameOverTitle_mc.gotoAndStop(1);
}
if (title == "Win") {
noMoreLivesWin.gameOverTitle_mc.gotoAndStop(2);
}
noMoreLivesWin.gameOverScore_txt.text = "Score: " + _root.score;
noMoreLivesWin.submitScore_btn.onRelease = function () {
noMoreLivesWin.removeMovieClip();
if (userName == "") {
showEnterNameWindow();
} else {
resetLevel();
lives = 0;
loseLife();
removeGameScreen();
mochi.MochiScores.showLeaderboard({boardID:"778515035245aab4", score:my_score, onClose:function () {
showGameMenu();
}});
}
};
noMoreLivesWin.playAgain_btn.onRelease = function () {
noMoreLivesWin.removeMovieClip();
resetLevel();
loseLife();
removeGameScreen();
lives = 3;
level = 1;
score = 0;
tempScore = 0;
loadLevel(level);
resetArrays();
loadGameInterface();
drawLives();
gamePaused = false;
};
}
function checkIfWinLevel() {
if (countPieces >= piecesToClear) {
if (level == 25) {
showNoMoreLivesWindow("Win");
} else {
loadNextLevel();
}
}
}
function loadNextLevel() {
if (level < 25) {
gamePaused = true;
loadLevel(++level);
resetLevel();
loadGameInterface();
gamePaused = false;
} else {
showNoMoreLivesWindow("Lose");
}
}
function loadGameInterface() {
var gameScreen = board.attachMovie("GameScreen", "gameScreen", board.getNextHighestDepth());
gameScreen._x = 95.5;
gameScreen._y = 38.5;
if (sound != 1) {
gameScreen.sound_btn.gotoAndStop(2);
}
gameScreen.menu_btn.onRelease = function () {
if (!gamePaused) {
removeGameScreen();
showGameMenu();
}
};
gameScreen.sound_btn.onRelease = function () {
sound = sound * -1;
this.play();
};
gameScreen.onEnterFrame = function () {
gameScreen.level_txt.text = level;
gameScreen.cuota_txt.text = (countPieces + "/") + piecesToClear;
if (tempScore < score) {
tempScore++;
gameScreen.score_txt.text = tempScore;
}
};
}
function removeGameScreen() {
gamePaused = true;
gameScreen.removeMovieClip();
for (var _local1 in board) {
board[_local1].removeMovieClip();
}
for (var _local1 in gameInterface) {
gameInterface[_local1].removeMovieClip();
}
resetLevel();
}
function showGameMenu() {
gameMenu = _root.attachMovie("MenuScreen", "MenuScreen", _root.getNextHighestDepth());
gameMenu._x = 275;
gameMenu._y = 225;
gameMenu.play_btn.onRelease = function () {
gameMenu.removeMovieClip();
lives = 3;
level = 1;
score = 0;
tempScore = 0;
loadLevel(level);
resetArrays();
loadGameInterface();
drawLives();
gamePaused = false;
};
gameMenu.instructions_btn.onRelease = function () {
gameMenu.play_btn.enabled = false;
gameMenu.instructions_btn.enabled = false;
gameMenu.score_btn.enabled = false;
gameMenu.moreGames_btn.enabled = false;
var instructionsWin = _root.attachMovie("instructionsWin", "instructionsWin_" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
instructionsWin._x = 275;
instructionsWin._y = 200;
instructionsWin.ok_btn.onRelease = function () {
instructionsWin.removeMovieClip();
gameMenu.play_btn.enabled = true;
gameMenu.instructions_btn.enabled = true;
gameMenu.score_btn.enabled = true;
gameMenu.moreGames_btn.enabled = true;
};
};
gameMenu.score_btn.onRelease = function () {
gameMenu._visible = false;
mochi.MochiScores.showLeaderboard({boardID:"778515035245aab4", onClose:function () {
gameMenu._visible = true;
}, onError:function () {
gameMenu._visible = true;
}});
};
gameMenu.moreGames_btn.onRelease = function () {
_root.getURL("http://www.onemorelevel.com", "_blank");
};
}
function showEnterNameWindow() {
gamePaused = true;
var enterName = _root.attachMovie("enterName", "enterName_" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
enterName._x = 275;
enterName._y = 200;
Selection.setFocus(enterName.enterName_txt);
enterName.ok_btn.onRelease = function () {
if (enterName.enterName_txt.text == "") {
Selection.setFocus(enterName.enterName_txt);
} else {
userName = enterName.enterName_txt.text;
enterName.removeMovieClip();
gamePaused = false;
resetLevel();
lives = 0;
loseLife();
removeGameScreen();
mochi.MochiScores.showLeaderboard({boardID:"778515035245aab4", name:userName, score:score, onClose:function () {
showGameMenu();
}});
}
};
}
function closeLeaderBoard() {
gameMenu._visible = true;
}
stop();
var match_sound = new Sound();
match_sound.attachSound("match.mp3");
var click_sound = new Sound();
click_sound.attachSound("click.mp3");
var ninja_sound = new Sound();
ninja_sound.attachSound("ninja.wav");
var sound = 1;
var gameMenu;
var board = _root.createEmptyMovieClip("board", _root.getNextHighestDepth());
var gameInterface = _root.createEmptyMovieClip("gameInterface", _root.getNextHighestDepth());
var offsetX = 150;
var offsetY = 125;
var rows = 6;
var cols = 6;
var spacing = 50;
var depth = 100;
var totalCells = 0;
var countCells = 0;
var cells = Array();
var tempCells = Array();
var pieceArray = Array();
var pieceGridArray = Array();
var liveArray = Array();
var gamePaused = true;
var piecesToClear = 0;
var countPieces = 0;
var lives = 3;
var level = 1;
var userName = "";
var score = 0;
var tempScore = 0;
_root.onMouseDown = function () {
if ((!gamePaused) && (_xmouse < 550)) {
var _local3 = Math.ceil(((_root._xmouse - 25) - offsetX) / spacing);
var _local2 = Math.ceil(((_root._ymouse - 25) - offsetY) / spacing);
if (!pieceArray[3].bonus) {
if ((cells[_local2][_local3] == 1) && (pieceGridArray[_local2][_local3] == 0)) {
if (sound == 1) {
click_sound.start();
}
pieceGridArray[_local2][_local3] = pieceArray.pop();
pieceGridArray[_local2][_local3]._x = (_local3 * spacing) + offsetX;
pieceGridArray[_local2][_local3]._y = (_local2 * spacing) + offsetY;
pieceGridArray[_local2][_local3].dragging = false;
MarkGrid();
removeMatchPieces();
}
}
if (pieceArray[3].bonus) {
switch (pieceArray[3].val) {
case 1 :
if (cells[_local2][_local3] == 1) {
var _local4 = pieceArray.pop();
emitParticles2(_local4._x, _local4._y);
click_sound.stop();
if (sound == 1) {
ninja_sound.start();
}
_local4.removeMovieClip();
pieceGridArray[_local2][_local3].removeMovieClip();
pieceGridArray[_local2][_local3] = 0;
tempCells[i][j] = 0;
MarkGrid();
}
break;
case 2 :
if (!((cells[_local2][_local3] == 1) && (pieceGridArray[_local2][_local3] == 0))) {
break;
}
pieceGridArray[_local2][_local3] = pieceArray.pop();
pieceGridArray[_local2][_local3]._x = (_local3 * spacing) + offsetX;
pieceGridArray[_local2][_local3]._y = (_local2 * spacing) + offsetY;
pieceGridArray[_local2][_local3].dragging = false;
MarkGrid();
removeMatchPieces();
}
}
checkIfLose();
checkIfWinLevel();
}
};
_root.onEnterFrame = function () {
if (!gamePaused) {
fillPreviewZone();
}
};
showGameMenu();
Symbol 123 MovieClip [__Packages.mochi.MochiServices] Frame 0
class mochi.MochiServices
{
static var _id, _container, _clip, _sendChannelName, _rcvChannelName, __get__comChannelName, onError, _listenChannel, _rcvChannel, _loader, _loaderListener, _sendChannel;
function MochiServices () {
}
static function get id() {
return(_id);
}
static function get clip() {
return(_container);
}
static function get childClip() {
return(_clip);
}
static function getVersion() {
return("1.2");
}
static function allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function get isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function set comChannelName(val) {
if (val != undefined) {
if (val.length > 3) {
_sendChannelName = val + "_fromgame";
_rcvChannelName = val;
initComChannels();
}
}
//return(__get__comChannelName());
}
static function get connected() {
return(_connected);
}
static function connect(id, clip, onError) {
if ((!_connected) && (_clip == undefined)) {
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
}
if (onError != undefined) {
mochi.MochiServices.onError = onError;
} else if (mochi.MochiServices.onError == undefined) {
mochi.MochiServices.onError = function (errorCode) {
trace(errorCode);
};
}
}
static function disconnect() {
if (_connected || (_connecting)) {
_connecting = (_connected = false);
flush(true);
if (_clip != undefined) {
_clip.removeMovieClip();
delete _clip;
}
_listenChannel.close();
_rcvChannel.close();
}
}
static function init(id, clip) {
_id = id;
if (clip != undefined) {
_container = clip;
} else {
_container = _root;
}
loadCommunicator(id, _container);
}
static function loadCommunicator(id, clip) {
var _local2 = "_mochiservices_com_" + id;
if (_clip != null) {
return(_clip);
}
if (!isNetworkAvailable) {
return(null);
}
allowDomains(_gatewayURL);
_clip = clip.createEmptyMovieClip(_local2, 10336, false);
_loader = new MovieClipLoader();
if (_loaderListener.waitInterval != null) {
clearInterval(_loaderListener.waitInterval);
}
_loaderListener = {};
_loaderListener.onLoadError = function (target_mc, errorCode, httpStatus) {
trace("MochiServices could not load.");
mochi.MochiServices.disconnect();
mochi.MochiServices.onError.apply(null, [errorCode]);
};
_loaderListener.onLoadStart = function (target_mc) {
this.isLoading = true;
};
_loaderListener.startTime = getTimer();
_loaderListener.wait = function () {
if ((getTimer() - this.startTime) > 10000) {
if (!this.isLoading) {
mochi.MochiServices.disconnect();
mochi.MochiServices.onError.apply(null, ["IOError"]);
}
clearInterval(this.waitInterval);
}
};
_loaderListener.waitInterval = setInterval(_loaderListener, "wait", 1000);
_loader.addListener(_loaderListener);
_loader.loadClip(_gatewayURL, _clip);
_sendChannel = new LocalConnection();
_sendChannel._queue = [];
_rcvChannel = new LocalConnection();
_rcvChannel.allowDomain = function (d) {
return(true);
};
_rcvChannel.allowInsecureDomain = _rcvChannel.allowDomain;
_rcvChannel._nextcallbackID = 0;
_rcvChannel._callbacks = {};
listen();
return(_clip);
}
static function onStatus(infoObject) {
if (!(infoObject.level === "error")) {
} else {
_connected = false;
_listenChannel.connect(_listenChannelName);
}
}
static function listen() {
_listenChannel = new LocalConnection();
_listenChannel.handshake = function (args) {
mochi.MochiServices.__set__comChannelName(args.newChannel);
};
_listenChannel.allowDomain = function (d) {
return(true);
};
_listenChannel.allowInsecureDomain = _listenChannel.allowDomain;
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
static function initComChannels() {
if (!_connected) {
_sendChannel.onStatus = function (infoObject) {
mochi.MochiServices.onStatus(infoObject);
};
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_clip, version:getVersion()});
_rcvChannel.onStatus = function (infoObject) {
mochi.MochiServices.onStatus(infoObject);
};
_rcvChannel.onReceive = function (pkg) {
var _local5 = pkg.callbackID;
var _local4 = this._callbacks[_local5];
if (!_local4) {
return(undefined);
}
var _local2 = _local4.callbackMethod;
var _local3 = _local4.callbackObject;
if (_local3 && (typeof(_local2) == "string")) {
_local2 = _local3[_local2];
}
if (_local2 != undefined) {
_local2.apply(_local3, pkg.args);
}
delete this._callbacks[_local5];
};
_rcvChannel.onError = function () {
mochi.MochiServices.onError.apply(null, ["IOError"]);
};
_rcvChannel.connect(_rcvChannelName);
trace("connected!");
_connecting = false;
_connected = true;
_listenChannel.close();
while (_sendChannel._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _sendChannel._queue.shift());
}
}
}
static function flush(error) {
var _local1;
var _local2;
while (_sendChannel._queue.length > 0) {
_local1 = _sendChannel._queue.shift();
if (_local1.callbackID != null) {
_local2 = _rcvChannel._callbacks[_local1.callbackID];
}
delete _rcvChannel._callbacks[_local1.callbackID];
if (error) {
handleError(_local1.args, _local2.callbackObject, _local2.callbackMethod);
}
}
}
static function handleError(args, callbackObject, callbackMethod) {
if (args != null) {
if (args.onError != null) {
args.onError.apply(null, ["NotConnected"]);
}
}
if (callbackMethod != null) {
args = {};
args.error = true;
args.errorCode = "NotConnected";
if ((callbackObject != null) && (typeof(callbackMethod) == "string")) {
callbackObject[callbackMethod](args);
} else if (callbackMethod != null) {
callbackMethod.apply(args);
}
}
}
static function send(methodName, args, callbackObject, callbackMethod) {
if (_connected) {
_sendChannel.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID});
} else {
if ((_clip == undefined) || (!_connecting)) {
onError.apply(null, ["NotConnected"]);
handleError(args, callbackObject, callbackMethod);
flush(true);
return(undefined);
}
_sendChannel._queue.push({methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID});
}
_rcvChannel._callbacks[_rcvChannel._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod};
_rcvChannel._nextcallbackID++;
}
static var _gatewayURL = "http://www.mochiads.com/static/lib/services/services.swf";
static var _listenChannelName = "__mochiservices";
static var _connecting = false;
static var _connected = false;
}
Symbol 124 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("2.1");
}
static function showPreGameAd(options) {
var _local27 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}};
options = _parseOptions(options, _local27);
var clip = options.clip;
var _local23 = 11000;
var _local26 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local14 = _getRes(options);
var _local4 = _local14[0];
var _local13 = _local14[1];
mc._x = _local4 * 0.5;
mc._y = _local13 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = _local4 * -0.5;
chk._y = _local13 * -0.5;
var _local7 = chk.createEmptyMovieClip("_mochiad_bar", 4);
_local7._x = 10;
_local7._y = _local13 - 20;
var _local22 = options.color;
delete options.color;
var _local19 = options.background;
delete options.background;
var _local24 = options.outline;
delete options.outline;
var _local5 = _local7.createEmptyMovieClip("_outline", 1);
_local5.beginFill(_local19);
_local5.moveTo(0, 0);
_local5.lineTo(_local4 - 20, 0);
_local5.lineTo(_local4 - 20, 10);
_local5.lineTo(0, 10);
_local5.lineTo(0, 0);
_local5.endFill();
var _local3 = _local7.createEmptyMovieClip("_inside", 2);
_local3.beginFill(_local22);
_local3.moveTo(0, 0);
_local3.lineTo(_local4 - 20, 0);
_local3.lineTo(_local4 - 20, 10);
_local3.lineTo(0, 10);
_local3.lineTo(0, 0);
_local3.endFill();
_local3._xscale = 0;
var _local6 = _local7.createEmptyMovieClip("_outline", 3);
_local6.lineStyle(0, _local24, 100);
_local6.moveTo(0, 0);
_local6.lineTo(_local4 - 20, 0);
_local6.lineTo(_local4 - 20, 10);
_local6.lineTo(0, 10);
_local6.lineTo(0, 0);
chk.ad_msec = _local23;
chk.ad_timeout = _local26;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = function (width, height) {
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local12 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local10 = (100 * _local8) / _local4;
var _local11 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local2 = Math.min(100, Math.min(_local10 || 0, _local11));
_local2 = Math.max(this.last_pcnt, _local2);
this.last_pcnt = _local2;
_local9._xscale = _local2;
if (!chk.showing) {
var _local7 = _local12.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local5 > chk.ad_timeout) {
_local3 = true;
}
}
if (_local5 > chk.ad_msec) {
_local3 = true;
}
if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
}
static function showInterLevelAd(options) {
var _local13 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}};
options = _parseOptions(options, _local13);
var clip = options.clip;
var _local10 = 11000;
var _local12 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local5 = _getRes(options);
var _local14 = _local5[0];
var _local11 = _local5[1];
mc._x = _local14 * 0.5;
mc._y = _local11 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = _local10;
chk.ad_timeout = _local12;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = function (width, height) {
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
_local2 = true;
}
}
if (_local4 > chk.ad_msec) {
_local2 = true;
}
if (_local2) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
}
}
};
}
static function showTimedAd(options) {
showInterLevelAd(options);
}
static function showPreloaderAd(options) {
showPreGameAd(options);
}
static function _allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function _loadCommunicator(options) {
var _local26 = {clip:_root, com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = _parseOptions(options, _local26);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local18 = options.clip;
var _local20 = "_mochiad_com_" + options.id;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local18[_local20]) {
return(_local18[_local20].lc);
}
var _local21 = options.com_server + options.id;
_allowDomains(_local21);
delete options.id;
delete options.com_server;
var _local25 = options.depth;
delete options.depth;
var _local17 = _local18.createEmptyMovieClip(_local20, _local25);
var _local11 = _local17.createEmptyMovieClip("_mochiad_com", 1);
for (var _local15 in options) {
_local11[_local15] = options[_local15];
}
var _local6 = new LocalConnection();
var _local16 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local6.mc = _local17;
_local6.name = _local16;
_local6.allowDomain = function (d) {
return(true);
};
_local6.allowInsecureDomain = _local6.allowDomain;
_local6.connect(_local16);
_local17.lc = _local6;
_local11.lc = _local16;
_local6._id = 0;
_local6._queue = [];
_local6.rpcResult = function (cb_arg) {
var _local8 = parseInt(cb_arg);
var _local4 = this._callbacks[_local8];
if (!_local4) {
return(undefined);
}
delete this._callbacks[_local8];
var _local5 = [];
var _local3 = 2;
while (_local3 < _local4.length) {
_local5.push(_local4[_local3]);
_local3++;
}
_local3 = 1;
while (_local3 < arguments.length) {
_local5.push(arguments[_local3]);
_local3++;
}
var _local6 = _local4[1];
var _local7 = _local4[0];
if (_local7 && (typeof(_local6) == "string")) {
_local6 = _local7[_local6];
}
if (_local6) {
_local6.apply(_local7, _local5);
}
};
_local6._didConnect = function (endpoint) {
this._endpoint = endpoint;
var _local4 = this._queue;
delete this._queue;
var _local5 = this.doSend;
var _local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2];
_local5.apply(this, _local3);
_local2++;
}
};
_local6.doSend = function (args, cbobj, cbfn) {
if (this._endpoint == null) {
var _local4 = [];
var _local3 = 0;
while (_local3 < arguments.length) {
_local4.push(arguments[_local3]);
_local3++;
}
this._queue.push(_local4);
return(undefined);
}
this._id = this._id + 1;
var _local5 = this._id;
if ((cbfn === undefined) || (cbfn === null)) {
cbfn = cbobj;
}
this._callbacks[_local5] = [cbobj, cbfn];
var _local7 = new LocalConnection();
var _local9 = _local7.send(this._endpoint, "rpc", _local5, args);
};
_local6._callbacks = {};
_local6._callbacks[0] = [_local6, "_didConnect"];
_local11.st = getTimer();
_local11.loadMovie(_local21 + ".swf", "POST");
return(_local6);
}
static function fetchHighScores(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["fetchHighScores", options];
_local1.doSend(["fetchHighScores", options], callbackObj, callbackMethod);
return(true);
}
static function sendHighScore(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["sendHighScore", options];
_local1.doSend(["sendHighScore", options], callbackObj, callbackMethod);
return(true);
}
static function load(options) {
var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = _parseOptions(options, _local13);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local9 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local9._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local9.createEmptyMovieClip("_mochiad", _local12);
var _local11 = _getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local9._mochiad_loaded = true;
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local7 in options) {
_local4[_local7] = options[_local7];
}
var _local10 = _local4.server;
delete _local4.server;
var _local14 = _allowDomains(_local10);
_local6.onEnterFrame = function () {
if (this._mochiad_ctr._url != this._url) {
this.onEnterFrame = function () {
if (!this._mochiad_ctr) {
delete this.onEnterFrame;
MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new LocalConnection();
var _local8 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local8;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local8);
_local6.lc = _local5;
_local4.lc = _local8;
_local4.st = getTimer();
_local4.loadMovie(_local10 + ".swf", "POST");
return(_local6);
}
static function unload(clip) {
if (typeof(clip) == "undefined") {
clip = _root;
}
if (clip.clip && (clip.clip._mochiad)) {
clip = clip.clip;
}
if (!clip._mochiad) {
return(false);
}
clip._mochiad.removeMovieClip();
delete clip._mochiad_loaded;
delete clip._mochiad;
return(true);
}
static function _isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function _getRes(options) {
var _local3 = options.clip.getBounds();
var _local2 = 0;
var _local1 = 0;
if (typeof(options.res) != "undefined") {
var _local4 = options.res.split("x");
_local2 = parseFloat(_local4[0]);
_local1 = parseFloat(_local4[1]);
} else {
_local2 = _local3.xMax - _local3.xMin;
_local1 = _local3.yMax - _local3.yMin;
}
if ((_local2 == 0) || (_local1 == 0)) {
_local2 = Stage.width;
_local1 = Stage.height;
}
return([_local2, _local1]);
}
static function _parseOptions(options, defaults) {
var _local4 = {};
for (var _local8 in defaults) {
_local4[_local8] = defaults[_local8];
}
if (options) {
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
}
if (_root.mochiad_options) {
var _local5 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local5.length) {
var _local3 = _local5[_local2].split("=");
_local4[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
return(_local4);
}
}
Symbol 125 MovieClip [__Packages.mochi.MochiScores] Frame 0
class mochi.MochiScores
{
static var boardID, onClose, onError;
function MochiScores () {
}
static function setBoardID(boardID) {
mochi.MochiScores.boardID = boardID;
mochi.MochiServices.send("scores_setBoardID", {boardID:boardID});
}
static function showLeaderboard(options) {
if (options.clip != null) {
if (options.clip != mochi.MochiServices.__get__clip()) {
mochi.MochiServices.disconnect();
mochi.MochiServices.connect(mochi.MochiServices.__get__id(), options.clip);
}
delete options.clip;
}
if (options.name != null) {
if (typeof(options.name) == "object") {
if (options.name.text != undefined) {
options.name = options.name.text;
}
}
}
if (options.score != null) {
if (typeof(options.score) == "object") {
if (options.score.text != undefined) {
options.score = options.score.text;
}
}
}
if (options.onDisplay != null) {
options.onDisplay();
} else {
mochi.MochiServices.__get__clip().stop();
}
if (options.onClose != null) {
onClose = options.onClose;
} else {
onClose = function () {
mochi.MochiServices.__get__clip().play();
};
}
if (options.onError != null) {
onError = options.onError;
} else {
onError = onClose;
}
if (options.boardID == null) {
if (boardID != null) {
options.boardID = boardID;
}
}
mochi.MochiServices.send("scores_showLeaderboard", {options:options}, null, doClose);
}
static function closeLeaderboard() {
mochi.MochiServices.send("scores_closeLeaderboard");
}
static function getPlayerInfo(callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod);
}
static function submit(score, name, callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod);
}
static function requestList(callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_requestList", null, callbackObj, callbackMethod);
}
static function scoresArrayToObjects(scores) {
var _local5 = {};
var _local1;
var _local4;
var _local2;
var _local6;
for (var _local8 in scores) {
if (typeof(scores[_local8]) == "object") {
if ((scores[_local8].cols != null) && (scores[_local8].rows != null)) {
_local5[_local8] = [];
_local2 = scores[_local8];
_local4 = 0;
while (_local4 < _local2.rows.length) {
_local6 = {};
_local1 = 0;
while (_local1 < _local2.cols.length) {
_local6[_local2.cols[_local1]] = _local2.rows[_local4][_local1];
_local1++;
}
_local5[_local8].push(_local6);
_local4++;
}
} else {
_local5[_local8] = {};
for (var _local7 in scores[_local8]) {
_local5[_local8][_local7] = scores[_local8][_local7];
}
}
} else {
_local5[_local8] = scores[_local8];
}
}
return(_local5);
}
static function doClose(args) {
if (args.error == true) {
if (args.errorCode == undefined) {
args.errorCode = "IOError";
}
onError.apply(null, [args.errorCode]);
} else {
onClose.apply();
}
}
}
Symbol 70 MovieClip [sound_btn] Frame 1
stop();
Symbol 70 MovieClip [sound_btn] Frame 2
stop();
Symbol 107 MovieClip [gameOverTitle] Frame 1
stop();
Symbol 107 MovieClip [gameOverTitle] Frame 2
stop();