Frame 1
stop();
_quality = "high";
fscommand ("fullscreen", "true");
Instance of Symbol 18 MovieClip [loadingBar2] "loading" in Frame 1
onClipEvent (load) {
this.onLoadFinish = function () {
_level0.play();
};
}
Frame 11
loading.onEnterFrame = function () {
loading._alpha = loading._alpha - 5;
};
Frame 51
_quality = "low";
_global.nGrid = 8;
Frame 52
barea.useHandCursor = false;
Frame 53
stop();
Frame 54
gotoAndPlay ("def");
Frame 76
gotoAndPlay ("def");
Symbol 4 Button
on (rollOver, dragOver) {
this.gotoAndPlay("in");
}
on (rollOut, dragOut) {
this.gotoAndPlay("out");
}
on (release) {
_parent.onClickAction();
}
Symbol 7 MovieClip Frame 1
stop();
Symbol 9 MovieClip [buttonBg] Frame 1
stop();
Symbol 9 MovieClip [buttonBg] Frame 14
stop();
this.showDescription();
Symbol 9 MovieClip [buttonBg] Frame 30
stop();
this.hideDescription();
Symbol 9 MovieClip [buttonBg] Frame 44
stop();
_global.URLjump();
Symbol 18 MovieClip [loadingBar2] Frame 1
#initclip 7
Object.registerClass("loadingBar2", loadingBar2);
#endinitclip
Instance of Symbol 15 MovieClip "star" in Symbol 18 MovieClip [loadingBar2] Frame 1
onClipEvent (enterFrame) {
this._rotation = this._rotation + 2;
}
Symbol 228 MovieClip [__Packages.loadingBar2] Frame 0
class loadingBar2 extends MovieClip
{
function loadingBar2 () {
var _local1 = this;
super();
_local1.stageCtrl = new stageControl();
_local1.stageCtrl.addControl(_local1, "CX", "CY", 0, -20);
_local1.onEnterFrame = _local1.loadingAction;
}
function loadingAction() {
var _local1 = this;
_local1.total = _root.getBytesTotal();
_local1.loaded = _root.getBytesLoaded();
_local1.percent = Math.round((_local1.loaded / _local1.total) * 100);
if ((_local1.total > 3000) && (_local1.percent >= 100)) {
_local1.onLoadFinish();
delete _local1.onEnterFrame;
}
_local1.kbyte = Math.round(_local1.total / 1024);
_local1.txt1 = "NOW LOADING: " + _local1.percent;
_local1.txt2 = ("% OF " + _local1.kbyte) + "K";
}
}
Symbol 229 MovieClip [__Packages.stageControl] Frame 0
class stageControl extends Object
{
var listener;
function stageControl () {
var _local1 = this;
super();
_local1.listener = [];
Stage.align = "LT";
Stage.scaleMode = "noScale";
Stage.addListener(_local1);
_local1.onResize();
}
function onResize() {
var _local1 = this;
_local1.L = 0;
_local1.R = Stage.width;
_local1.T = 0;
_local1.B = Stage.height;
_local1.CX = Math.round((_local1.L + _local1.R) / 2);
_local1.CY = Math.round((_local1.T + _local1.B) / 2);
_local1.width = _local1.R;
_local1.height = _local1.B;
var _local2 = 0;
while (_local2 < _local1.listener.length) {
_local1.putMC(_local1.listener[_local2]);
_local1.listener[_local2].mc.onResize();
_local2++;
}
}
function putMC(obj) {
var _local1 = obj;
_local1.mc._x = this[_local1.cx] + _local1.dx;
_local1.mc._y = this[_local1.cy] + _local1.dy;
}
function addControl(mc, cx, cy, dx, dy) {
var _local1 = new Object();
_local1.mc = mc;
_local1.cx = cx.toUpperCase();
_local1.cy = cy.toUpperCase();
if (dx != undefined) {
_local1.dx = dx;
} else {
_local1.dx = 0;
}
if (dy != undefined) {
_local1.dy = dy;
} else {
_local1.dy = 0;
}
listener.push(_local1);
putMC(_local1);
}
}
Symbol 230 MovieClip [__Packages.unionModule] Frame 0
class unionModule extends MovieClip
{
function unionModule () {
var _local1 = this;
super();
if (_local1.option == "fromUnion") {
_local1.gotoAndPlay(40);
}
if (_local1.level != _local1._parent.nLevel) {
_local1._rotation = Math.round(Math.random() * 3) * 90;
}
}
function deleteModule() {
var _local2 = this;
var _local1 = 0;
while (_local1 < _local2.deleteList.length) {
_local2.deleteList[_local1]._visible = false;
_local2.deleteList[_local1].isVisible = false;
_local1++;
}
}
function checkAllStopped() {
var _local2 = this;
var _local3 = true;
var _local1 = 0;
while (_local1 < _local2.deleteList.length) {
if (_local2.deleteList[_local1].isMoving) {
_local3 = false;
break;
}
_local1++;
}
return(_local3);
}
function onEndUnion() {
var _local2 = this;
var _local1 = 0;
while (_local1 < _local2.deleteList.length) {
_local2.deleteList[_local1].union = false;
_local1++;
}
_local2._parent.registUnion(_local2, _local2.level);
_local2._parent.checkUnion(_local2, _local2.level, "fromUnion");
_local2.gotoAndStop(_local2._currentframe + Math.round(Math.random() * 5));
}
}
Symbol 231 MovieClip [__Packages.field] Frame 0
class field extends MovieClip
{
var matrix, nGrid, grid;
function field () {
var _local2 = this;
super();
_local2.fcount = 0;
_local2.idCount = 1;
_local2.uniCount = 1;
_local2.nMove = 1;
nMoveMax = 4;
_local2.moveCount = 0;
_local2.interval = 180;
_local2.findPoint = 0;
_local2.nGrid = _global.nGrid;
_local2.grid = 200;
_local2.matrix = [];
var _local3 = 0;
while (Math.pow(2, _local3) <= _local2.nGrid) {
_local2.matrix[_local3] = [];
var iy = 0;
while (iy < (_local2.nGrid / Math.pow(2, _local3))) {
_local2.matrix[_local3][iy] = [];
var _local1 = 0;
while (_local1 < (_local2.nGrid / Math.pow(2, _local3))) {
_local2.matrix[_local3][iy][_local1] = new Object();
_local2.matrix[_local3][iy][_local1].exist = 0;
_local2.matrix[_local3][iy][_local1].reserve = 0;
_local1++;
}
iy++;
}
_local3++;
}
_local2.nLevel = _local3 - 1;
_local2.onEnterFrame = _local2.checkMove;
}
function checkMove() {
var _local1 = this;
if (_local1.nMove < nMoveMax) {
if (_local1.nMove <= 0) {
_local1.moveModule();
_local1.nMove++;
_local1.moveCount = 0;
} else {
_local1.moveCount++;
if (_local1.moveCount >= _local1.interval) {
_local1.moveModule();
_local1.moveCount = 0;
_local1.nMove++;
}
}
}
}
function checkUnion(mc, level, option) {
var _local2 = this;
if (level < _local2.nLevel) {
var gx = _local2.getMatrix(mc._x, level);
var gy = _local2.getMatrix(mc._y, level);
var gx0 = (Math.floor(gx / 2) * 2);
var gy0 = (Math.floor(gy / 2) * 2);
var flag = true;
var _local3 = 0;
while (_local3 <= 1) {
var _local1 = 0;
while (_local1 <= 1) {
if (_local2.matrix[level][gy0 + _local3][gx0 + _local1].exist == 0) {
flag = false;
}
_local1++;
}
_local3++;
}
if (flag == true) {
var deleteList = [];
_local3 = 0;
while (_local3 <= 1) {
var _local1 = 0;
while (_local1 <= 1) {
deleteList.push(_local2.matrix[level][gy0 + _local3][gx0 + _local1].mc);
_local2.matrix[level][gy0 + _local3][gx0 + _local1].mc.union = true;
_local2.matrix[level][gy0 + _local3][gx0 + _local1].mc.unionReserved = true;
_local1++;
}
_local3++;
}
_local2.uniCount++;
initObj = {};
initObj.deleteList = deleteList;
initObj.level = level + 1;
if (option != undefined) {
trace(option);
}
initObj.option = option;
_local2.attachMovie("unionModule", "uni" + _local2.uniCount, 500 + _local2.uniCount, initObj);
var ng = (_local2.nGrid / Math.pow(2, level));
var g = (_local2.grid * Math.pow(2, level));
_local2["uni" + _local2.uniCount]._x = ((gx0 - (ng / 2)) * g) + ((_local2.grid * (Math.pow(2, level + 1) - 1)) / 2);
_local2["uni" + _local2.uniCount]._y = ((gy0 - (ng / 2)) * g) + ((_local2.grid * (Math.pow(2, level + 1) - 1)) / 2);
_local2["uni" + _local2.uniCount]._xscale = 100 * Math.pow(2, level);
_local2["uni" + _local2.uniCount]._yscale = 100 * Math.pow(2, level);
var i = 0;
while (i < deleteList.length) {
deleteList[i].unionMC = _local2["uni" + _local2.uniCount];
i++;
}
}
} else {
_local2.endAction();
}
}
function endAction() {
var _local1 = this;
trace(_local1["uni" + _local1.uniCount]);
_global.firstRotate = _local1["uni" + _local1.uniCount]._rotation;
_local1["uni" + _local1.uniCount].gotoAndPlay("end");
}
function registUnion(mc, level) {
var _local1 = mc;
var _local3 = getMatrix(_local1._x, level);
var _local2 = getMatrix(_local1._y, level);
matrix[level][_local2][_local3].exist = 1;
matrix[level][_local2][_local3].mc = _local1;
_local1.gx = _local3;
_local1.gy = _local2;
}
function moveModule() {
var _local2 = this;
if (_local2.idCount <= (_local2.nGrid * _local2.nGrid)) {
var count = _local2.findPoint;
while (true) {
count++;
var id = count;
if (_local2["m" + id].getDirectionList().length > 0) {
_local2.findPoint = id;
_local2["m" + id].startMove();
break;
}
if (count > 800) {
trace("overflow");
var _local3 = 0;
while (_local3 < _local2.nGrid) {
var _local1 = 0;
while (_local1 < _local2.nGrid) {
if (_local2.matrix[i][_local3][_local1].reserve != 0) {
_local2.matrix[i][_local3][_local1].reserve = 0;
}
_local1++;
}
_local3++;
}
_local2.nMove--;
break;
}
}
} else {
trace("idcount:end");
}
}
function registModule1(mc) {
var _local3 = this;
var _local2 = _local3.getMatrix(mc._x);
var _local1 = _local3.getMatrix(mc._y);
if (_local3.matrix[0][_local1][_local2].exist != 1) {
_local3.idCount++;
}
_local3.matrix[0][_local1][_local2].exist = 1;
_local3.matrix[0][_local1][_local2].mc = mc;
mc.gx = _local2;
mc.gy = _local1;
}
function registModule2(point) {
var _local3 = this;
var _local2 = _local3.getMatrix(point.x);
var _local1 = _local3.getMatrix(point.y);
_local3.matrix[0][_local1][_local2].reserve = 1;
}
function checkExist(x, y) {
var _local3 = this;
var _local2 = _local3.getMatrix(x);
var _local1 = _local3.getMatrix(y);
if ((((((_local2 < 0) || (_local2 >= _local3.nGrid)) || (_local1 < 0)) || (_local1 >= _local3.nGrid)) || (_local3.matrix[0][_local1][_local2].exist == 1)) || (_local3.matrix[0][_local1][_local2].reserve == 1)) {
return(true);
}
return(false);
}
function getMatrix(num, level) {
var _local1 = level;
if (_local1 == undefined) {
_local1 = 0;
}
return(Math.round((num / (grid * Math.pow(2, _local1))) + ((nGrid / Math.pow(2, _local1)) / 2)));
}
}
Symbol 232 MovieClip [__Packages.fitSize] Frame 0
class fitSize extends MovieClip
{
function fitSize () {
var _local1 = this;
super();
_local1.st = new stageControl();
_local1.a = 15;
_local1.b = 1.3;
_local1.scale = 200;
_local1.vScale = 0;
_local1.Mx = 0;
_local1.My = 0;
_local1.vMx = 0;
_local1.vMy = 0;
_local1.fm = 10;
_local1.xmargin = _local1.st.width / _local1.fm;
_local1.ymargin = _local1.st.height / _local1.fm;
fs = 0.98;
isFirst = true;
_local1.count = 0;
_local1.onLoad = _local1.setScale;
_local1.onEnterFrame = _local1.setScale;
}
function setScale() {
var _local1 = this;
_local1.xmargin = _local1.st.width / _local1.fm;
_local1.ymargin = _local1.st.height / _local1.fm;
_local1.bound = _local1.field0.getBounds(_local1);
var _local3 = (_local1.st.width - _local1.xmargin) / (_local1.bound.xMax - _local1.bound.xMin);
var _local2 = (_local1.st.height - _local1.ymargin) / (_local1.bound.yMax - _local1.bound.yMin);
_local1.toScale = Math.min(_local3, _local2) * 100;
if (_local1.count < 1) {
_local1.scale = _local1.toScale;
_local1.Mx = 0;
_local1.My = 0;
_local1.count++;
} else {
_local1.vScale = (_local1.vScale + ((_local1.toScale - _local1.scale) / _local1.a)) / _local1.b;
_local1.scale = _local1.scale + _local1.vScale;
_local1.toMx = (_local1.bound.xMax + _local1.bound.xMin) / 2;
_local1.toMy = (_local1.bound.yMax + _local1.bound.yMin) / 2;
_local1.vMx = (_local1.vMx + ((_local1.toMx - _local1.Mx) / _local1.a)) / _local1.b;
_local1.vMy = (_local1.vMy + ((_local1.toMy - _local1.My) / _local1.a)) / _local1.b;
_local1.Mx = _local1.Mx + _local1.vMx;
_local1.My = _local1.My + _local1.vMy;
}
_local1._xscale = _local1.scale;
_local1._yscale = _local1._xscale;
_local1._x = _local1.st.CX - ((_local1.Mx * _local1._xscale) / 100);
_local1._y = _local1.st.CY - ((_local1.My * _local1._yscale) / 100);
}
}
Symbol 233 MovieClip [__Packages.module] Frame 0
class module extends MovieClip
{
var isMoving;
function module () {
var _local1 = this;
super();
_local1.isVisible = true;
_local1.union = false;
_local1.level = 0;
_local1.id = _local1._parent.idCount;
_local1._x = _local1.x;
_local1._y = _local1.y;
_local1.stop();
_local1._parent.registModule1(_local1);
_local1._parent.checkUnion(_local1, _local1.level);
_local1.startMove();
if (_local1.id == 1) {
_local1.gotoAndPlay("wait");
}
}
function startMove() {
isMoving = true;
setRotation();
}
function onEndGenerate() {
var _local1 = this;
_local1.isMoving = false;
if (_local1.isVisible) {
_local1.gotoAndStop(rf + Math.ceil(Math.random() * 6));
} else {
_local1.gotoAndStop("off");
}
_local1.attachNextModule();
}
function attachNextModule() {
var _local1 = this;
var _local3 = _local1.getNextPoint();
var _local2 = {};
_local2.x = _local3.x;
_local2.y = _local3.y;
_local1._parent.attachMovie("module", "m" + _local1._parent.idCount, _local1._parent.idCount, _local2);
_local1.nextModule = _local1["m" + _local1._parent.idCount];
}
function setRotation() {
var _local1 = this;
var _local2 = _local1.getDirectionList();
if (_local2.length > 0) {
if (_local1.id == 1) {
var _local3 = _local2[0];
} else {
var _local3 = _local2[Math.floor(Math.random() * _local2.length)];
}
_local1._rotation = _local1._rotation + (_local3.id * 90);
_local1._parent.registModule2(_local3.point);
if ((_local1.isVisible == true) && (unionReserved != true)) {
_local1.gotoAndPlay("start");
} else {
_local1._visible = true;
_local1.gotoAndPlay("start_invisible");
}
} else {
_local1.stopMove();
}
}
function getDirectionList() {
var _local2 = this;
var testList = [];
i = 0;
while (i <= 3) {
var _local1 = {};
switch (i) {
case 0 :
_local1.x = _local2._parent.grid;
_local1.y = 0;
break;
case 1 :
_local1.x = 0;
_local1.y = _local2._parent.grid;
break;
case 2 :
_local1.x = -_local2._parent.grid;
_local1.y = 0;
break;
case 3 :
_local1.x = 0;
_local1.y = -_local2._parent.grid;
}
_local2.localToGlobal(_local1);
_local2._parent.globalToLocal(_local1);
var test = _local2._parent.checkExist(_local1.x, _local1.y);
if (test == false) {
var _local3 = {};
_local3.id = i;
_local3.point = _local1;
testList.push(_local3);
}
i++;
}
return(testList);
}
function stopMove() {
var _local1 = this;
_local1.isMoving = false;
if (_local1.isVisible) {
_local1.gotoAndStop(rf + Math.ceil(Math.random() * 6));
} else {
_local1.gotoAndStop("off");
}
if (_local1.union == true) {
_local1.unionMC.gotoAndPlay(38);
}
_local1._parent.nMove--;
}
function getNextPoint(p) {
var _local2 = this;
var _local1 = new Object();
_local1.x = _local2._parent.grid;
_local1.y = 0;
_local2.localToGlobal(_local1);
_local2._parent.globalToLocal(_local1);
return(_local1);
}
static var rf = 43;
}
Symbol 121 MovieClip [unionModule] Frame 1
#initclip 8
Object.registerClass("unionModule", unionModule);
#endinitclip
Symbol 121 MovieClip [unionModule] Frame 45
play();
Symbol 121 MovieClip [unionModule] Frame 49
if (checkAllStopped() == true) {
gotoAndPlay ("open");
} else {
gotoAndPlay ("waitloop");
}
Symbol 121 MovieClip [unionModule] Frame 54
deleteModule();
Symbol 121 MovieClip [unionModule] Frame 101
stop();
onEndUnion();
Symbol 121 MovieClip [unionModule] Frame 125
play();
Symbol 121 MovieClip [unionModule] Frame 132
_root.play();
stop();
Symbol 122 Button
on (rollOver, dragOver) {
if (_parent.mode != "off") {
this.gotoAndPlay("in");
}
}
on (rollOut, dragOut) {
if (_parent.mode != "off") {
this.gotoAndPlay("out");
}
}
on (press) {
_parent.onClickAction();
this.gotoAndStop("select");
}
Symbol 124 MovieClip Frame 1
stop();
Symbol 124 MovieClip Frame 14
stop();
this.showDescription();
Symbol 124 MovieClip Frame 30
stop();
this.hideDescription();
Symbol 124 MovieClip Frame 44
stop();
buttonarea.useHandCursor = false;
Symbol 125 MovieClip Frame 1
stop();
Symbol 127 MovieClip Frame 1
function setButton() {
if (this.mode == "small") {
button1.bg.gotoAndStop("select");
button2.bg.gotoAndStop("def");
} else {
button1.bg.gotoAndStop("def");
button2.bg.gotoAndStop("select");
}
}
function modeChange(m) {
trace(m);
switch (m) {
case "small" :
_global.nGrid = 8;
this.mode = "small";
button1.bg.gotoAndStop("select");
button2.bg.gotoAndStop("deselect");
break;
case "large" :
_global.nGrid = 16;
this.mode = "large";
button1.bg.gotoAndStop("deselect");
button2.bg.gotoAndStop("select");
}
gotoAndPlay ("fadeout");
}
this._visible = false;
vflag = 0;
this.mode = "small";
this.stageCtrl = new stageControl();
this.stageCtrl.addControl(this, "CX", "CY", 0, 0);
stop();
Instance of Symbol 125 MovieClip "button1" in Symbol 127 MovieClip Frame 1
onClipEvent (load) {
this.title = "SMALL GRID : 8 x 8";
bg._width = 87;
this.onClickAction = function () {
_root.modechange.modeChange("small");
};
}
Instance of Symbol 125 MovieClip "button2" in Symbol 127 MovieClip Frame 1
onClipEvent (load) {
this.title = "LARGE GRID : 16 x 16";
bg._width = 91;
this.onClickAction = function () {
trace("hit");
_root.modechange.modeChange("large");
};
}
Symbol 127 MovieClip Frame 7
play();
Symbol 127 MovieClip Frame 19
vflag = 1 - vflag;
this._visible = false;
gotoAndStop ("def");
_root.gotoAndPlay("modechange");
Symbol 128 Button
on (press) {
_root.modechange.vflag = 1 - _root.modechange.vflag;
if (_root.modechange.vflag) {
_root.modechange._visible = true;
_root.modechange.setButton();
} else {
_root.modechange._visible = false;
}
}
Symbol 225 MovieClip [module] Frame 1
#initclip 11
Object.registerClass("module", module);
#endinitclip
Symbol 225 MovieClip [module] Frame 2
Symbol 225 MovieClip [module] Frame 43
onEndGenerate();
stop();
Symbol 225 MovieClip [module] Frame 56
Symbol 225 MovieClip [module] Frame 73
onEndGenerate();
stop();
Symbol 225 MovieClip [module] Frame 98
Symbol 225 MovieClip [module] Frame 123
gotoAndPlay ("start");
Symbol 226 MovieClip [field] Frame 1
#initclip 9
Object.registerClass("field", field);
#endinitclip
Symbol 227 MovieClip [all] Frame 1
#initclip 10
Object.registerClass("all", fitSize);
#endinitclip