Frame 1
stop();
this.onEnterFrame = function () {
if (this.getBytesTotal() <= this.getBytesLoaded()) {
delete this.onEnterFrame;
play();
}
};
Frame 7
stop();
Symbol 17 MovieClip [mcCelOrg] Frame 1
stop();
Symbol 25 MovieClip Frame 1
function start_BGM(s) {
req = s;
gotoAndPlay ("start");
}
stop();
_visible = false;
Symbol 25 MovieClip Frame 67
gotoAndStop(req);
Symbol 29 MovieClip Frame 1
function draw_game() {
var i = 0;
while (i < ymax) {
var j = 0;
while (j < xmax) {
var mc = eval ((("mcCelLayer.mc_" + j) + "_") + i);
var an = cel[i][j];
if (an == 0) {
mc.gotoAndStop(1);
} else {
mc.gotoAndStop(7 + area[an].col);
}
j++;
}
i++;
}
}
xmax = 12;
ymax = 22;
cel = new Array(ymax);
i = 0;
while (i < ymax) {
cel[i] = new Array(xmax);
j = 0;
while (j < xmax) {
cel[i][j] = 0;
j++;
}
i++;
}
_cel = new Array(ymax);
i = 0;
while (i < ymax) {
_cel[i] = new Array(xmax);
i++;
}
area = new Array();
var AREA_MAX = 100;
i = 0;
while (i < AREA_MAX) {
area[i] = new Object();
area[i].exist = 0;
area[i].col = 0;
area[i].sz = 0;
aera[i].erase = 0;
i++;
}
game = new Object();
game.stat = 0;
game.level = 0;
game.speed = 0;
game.col_max = 0;
game.an = 0;
game.appear_c = 0;
game.cnt;
game.key_wc = 0;
STAT_OVER = 0;
STAT_APPEAR = 1;
STAT_FALL = 2;
STAT_ERASE = 3;
STAT_DROP = 4;
xadd = [0, 1, 0, -1];
yadd = [-1, 0, 1, 0];
c = 0;
i = 0;
while (i < ymax) {
j = 0;
while (j < xmax) {
mcName = (("mc_" + j) + "_") + i;
mcCelLayer.attachMovie("mcCelOrg", mcName, ((ymax - i) * xmax) + j);
mcCelLayer[mcName]._x = j * 20;
mcCelLayer[mcName]._y = i * 20;
c++;
j++;
}
i++;
}
sndErase = new Sound();
sndErase.attachSound("w_erase.wav");
sndMove = new Sound();
sndMove.attachSound("w_move.wav");
sndStop = new Sound();
sndStop.attachSound("w_stop.wav");
Symbol 29 MovieClip Frame 2
function start_appear() {
game.stat = STAT_APPEAR;
game.xmove = 0;
}
function appear_area() {
var _local3;
var _local2;
var _local6;
var _local14;
var _local8 = 4;
var _local10 = 4;
game.score++;
game.appear_c++;
if (game.appear_c > lev_change[game.level]) {
game.level++;
if (game.level > 3) {
game.level = 0;
game.appear_c = 0;
game.over_cnt++;
}
switch (game.level) {
case 0 :
_parent.mcBGM.start_BGM("play1");
break;
case 1 :
_parent.mcBGM.start_BGM("play2");
break;
case 2 :
_parent.mcBGM.start_BGM("play3");
break;
case 3 :
_parent.mcBGM.start_BGM("play4");
}
}
switch (game.level) {
case 0 :
game.col_max = 3;
game.speed = 13;
break;
case 1 :
game.col_max = 4;
game.speed = 10;
break;
case 2 :
game.col_max = 5;
game.speed = 7;
break;
default :
game.col_max = 6;
game.speed = 4;
}
game.col_max = game.col_max + game.over_cnt;
if (game.col_max >= 8) {
game.col_max = 8;
}
var _local22 = 3 + Math.floor(Math.random() * 3);
var _local7 = new Array();
_local14 = 0;
_local3 = 0;
while (_local3 < _local10) {
_local7[_local3] = new Array();
_local2 = 0;
while (_local2 < _local8) {
_local7[_local3][_local2] = _local14;
_local14++;
_local2++;
}
_local3++;
}
_local3 = 0;
while (_local3 < _local10) {
_local2 = 0;
while (_local2 < _local8) {
var _local13 = Math.floor(Math.random() * _local10);
var _local12 = Math.floor(Math.random() * _local8);
var _local17 = _local7[_local3][_local2];
_local7[_local3][_local2] = _local7[_local12][_local13];
_local7[_local12][_local13] = _local17;
_local2++;
}
_local3++;
}
var _local9 = new Array();
_local3 = 0;
while (_local3 < _local10) {
_local9[_local3] = new Array();
_local2 = 0;
while (_local2 < _local8) {
_local9[_local3][_local2] = 0;
_local2++;
}
_local3++;
}
_local9[0][1] = 1;
_local14 = 1;
do {
var _local11 = -1;
var _local16;
var _local15;
_local3 = 0;
while (_local3 < _local10) {
_local2 = 0;
while (_local2 < _local8) {
if (_local9[_local3][_local2] == 0) {
} else {
_local6 = 0;
while (_local6 < 4) {
var _local5 = _local2 + xadd[_local6];
var _local4 = _local3 + yadd[_local6];
if ((_local5 < 0) || (_local5 >= _local8)) {
} else if ((_local4 < 0) || (_local4 >= _local10)) {
} else if (_local9[_local4][_local5]) {
} else if (_local7[_local4][_local5] > _local11) {
_local11 = _local7[_local4][_local5];
_local16 = _local5;
_local15 = _local4;
}
_local6++;
}
}
_local2++;
}
_local3++;
}
if (_local11 < 0) {
break;
}
_local9[_local15][_local16] = 1;
_local14++;
} while (_local14 < _local22);
var _local20 = 1;
_local3 = 1;
while (_local3 < AREA_MAX) {
if (area[_local3].exist == 0) {
_local20 = _local3;
break;
}
_local3++;
}
var _local19 = Math.floor((xmax - _local8) / 2);
var _local18 = 0;
var _local21 = 0;
_local3 = 0;
while (_local3 < _local10) {
_local2 = 0;
while (_local2 < _local8) {
if (_local9[_local3][_local2]) {
if (cel[_local18 + _local3][_local19 + _local2]) {
_local21 = 1;
}
cel[_local18 + _local3][_local19 + _local2] = _local20;
}
_local2++;
}
_local3++;
}
area[_local20].exist = 1;
area[_local20].col = Math.floor(Math.random() * game.col_max);
area[_local20].sz = _local22;
area[_local20].erase = 0;
game.an = _local20;
game.cnt = 0;
draw_game();
if (_local21) {
game.stat = STAT_OVER;
_parent.gotoAndStop("over");
gotoAndStop ("wait");
} else {
game.stat = STAT_FALL;
}
}
lev_change = [10, 30, 50, 70];
Symbol 29 MovieClip Frame 8
function start_fall() {
game.cnt = 0;
game.stat = STAT_FALL;
game.key_wc = 0;
}
function fall_proc() {
var _local1 = 0;
if (keydata[37]) {
_local1 = -1;
}
if (keydata[39]) {
_local1 = 1;
}
game.key_wc--;
if (game.key_wc < 0) {
if (_local1 == 0) {
game.key_down = 0;
} else {
var _local2 = 4;
if (game.key_down > 0) {
_local2 = 1;
}
if (_local1 < 0) {
move_left();
sndMove.start();
game.key_wc = _local2;
} else if (_local1 > 0) {
move_right();
sndMove.start();
game.key_wc = _local2;
}
game.key_down = 1;
}
}
if (keydata[40]) {
game.cnt = 9999;
}
game.cnt++;
if (game.cnt < game.speed) {
if (_local1 != 0) {
draw_game();
}
return(undefined);
}
game.cnt = 0;
if (fall_area()) {
unite_area();
if (check_erase()) {
start_erase();
return(undefined);
}
sndStop.start();
start_appear();
}
draw_game();
}
function fall_area() {
var _local2;
var _local1;
_local2 = 0;
while (_local2 < ymax) {
_local1 = 0;
while (_local1 < xmax) {
_cel[_local2][_local1] = cel[_local2][_local1];
_local1++;
}
_local2++;
}
_local2 = ymax - 1;
while (_local2 >= 0) {
_local1 = 0;
while (_local1 < xmax) {
if (_cel[_local2][_local1] != game.an) {
} else {
var _local3 = _local2 + 1;
if (_local3 >= ymax) {
return(1);
}
if (_cel[_local3][_local1]) {
return(1);
}
_cel[_local2][_local1] = 0;
_cel[_local3][_local1] = game.an;
}
_local1++;
}
_local2--;
}
_local2 = 0;
while (_local2 < ymax) {
_local1 = 0;
while (_local1 < xmax) {
cel[_local2][_local1] = _cel[_local2][_local1];
_local1++;
}
_local2++;
}
return(0);
}
function unite_area() {
var _local2;
var _local1;
var _local3;
var _local7 = new Array();
_local2 = 0;
while (_local2 < AREA_MAX) {
_local7[_local2] = 0;
_local2++;
}
_local2 = 0;
while (_local2 < ymax) {
_local1 = 0;
while (_local1 < xmax) {
if (cel[_local2][_local1] != game.an) {
} else {
_local3 = 0;
while (_local3 < 4) {
var _local5 = _local1 + xadd[_local3];
var _local4 = _local2 + yadd[_local3];
if ((_local5 < 0) || (_local5 >= xmax)) {
} else if ((_local4 < 0) || (_local4 >= ymax)) {
} else {
var _local6 = cel[_local4][_local5];
if (_local6 == 0) {
} else if (_local6 == game.an) {
} else if (area[_local6].col != area[game.an].col) {
} else {
_local7[_local6] = 1;
}
}
_local3++;
}
}
_local1++;
}
_local2++;
}
var _local6 = 1;
while (_local6 < AREA_MAX) {
if (_local7[_local6] == 0) {
} else {
_local2 = 0;
while (_local2 < ymax) {
_local1 = 0;
while (_local1 < xmax) {
if (cel[_local2][_local1] == _local6) {
cel[_local2][_local1] = game.an;
}
_local1++;
}
_local2++;
}
area[_local6].exist = 0;
area[game.an].sz = area[game.an].sz + area[_local6].sz;
}
_local6++;
}
}
function check_erase() {
var _local2 = 0;
var _local1 = 1;
while (_local1 < AREA_MAX) {
if (area[_local1].exist == 0) {
} else if (area[_local1].sz < 16) {
} else {
area[_local1].erase = 1;
_local2 = 1;
}
_local1++;
}
return(_local2);
}
Symbol 29 MovieClip Frame 12
function start_erase() {
sndErase.start();
var an = 1;
while (an < AREA_MAX) {
if (area[an].exist == 0) {
} else if (area[an].erase == 0) {
} else {
var i = 0;
while (i < ymax) {
var j = 0;
while (j < xmax) {
if (cel[i][j] == an) {
cel[i][j] = 0;
var mc = eval ((("mcCelLayer.mc_" + j) + "_") + i);
mc.gotoAndStop("white");
}
j++;
}
i++;
}
area[an].exist = 0;
}
an++;
}
game.stat = STAT_ERASE;
game.c = 0;
}
function erase_proc() {
game.c++;
if (game.c > 1) {
game.stat = STAT_DROP;
game.cnt = game.speed;
}
}
function drop_proc() {
game.cnt++;
if (game.cnt < 4) {
return(undefined);
}
game.cnt = 0;
var _local2 = 0;
var _local1 = 1;
while (_local1 < AREA_MAX) {
if (area[_local1].exist == 0) {
} else {
game.an = _local1;
if (fall_area()) {
unite_area();
} else {
_local2 = 1;
}
}
_local1++;
}
draw_game();
if (_local2 == 0) {
if (check_erase()) {
start_erase();
} else {
start_appear();
}
}
}
Symbol 29 MovieClip Frame 18
function move_left() {
if (game.stat != STAT_FALL) {
return(undefined);
}
var _local2;
var _local1;
_local2 = 0;
while (_local2 < ymax) {
_local1 = 0;
while (_local1 < xmax) {
_cel[_local2][_local1] = cel[_local2][_local1];
_local1++;
}
_local2++;
}
_local2 = 0;
while (_local2 < ymax) {
_local1 = 0;
while (_local1 < xmax) {
if (_cel[_local2][_local1] != game.an) {
} else {
var _local3 = _local1 - 1;
if (_local3 < 0) {
return(undefined);
}
if (_cel[_local2][_local3]) {
return(undefined);
}
_cel[_local2][_local1] = 0;
_cel[_local2][_local3] = game.an;
}
_local1++;
}
_local2++;
}
_local2 = 0;
while (_local2 < ymax) {
_local1 = 0;
while (_local1 < xmax) {
cel[_local2][_local1] = _cel[_local2][_local1];
_local1++;
}
_local2++;
}
draw_game();
}
function move_right() {
if (game.stat != STAT_FALL) {
return(undefined);
}
var _local2;
var _local1;
_local2 = 0;
while (_local2 < ymax) {
_local1 = 0;
while (_local1 < xmax) {
_cel[_local2][_local1] = cel[_local2][_local1];
_local1++;
}
_local2++;
}
_local2 = 0;
while (_local2 < ymax) {
_local1 = xmax - 1;
while (_local1 >= 0) {
if (_cel[_local2][_local1] != game.an) {
} else {
var _local3 = _local1 + 1;
if (_local3 >= xmax) {
return(undefined);
}
if (_cel[_local2][_local3]) {
return(undefined);
}
_cel[_local2][_local1] = 0;
_cel[_local2][_local3] = game.an;
}
_local1--;
}
_local2++;
}
_local2 = 0;
while (_local2 < ymax) {
_local1 = 0;
while (_local1 < xmax) {
cel[_local2][_local1] = _cel[_local2][_local1];
_local1++;
}
_local2++;
}
draw_game();
}
function move_down() {
game.cnt = 9999;
}
Symbol 29 MovieClip Frame 23
stop();
delete onEnterFrame;
Symbol 29 MovieClip Frame 30
stop();
i = 0;
while (i < ymax) {
j = 0;
while (j < xmax) {
cel[i][j] = 0;
j++;
}
i++;
}
i = 0;
while (i < AREA_MAX) {
area[i].exist = 0;
area[i].col = 0;
area[i].sz = 0;
aera[i].erase = 0;
i++;
}
game.level = 0;
game.speed = 0;
game.col_max = 0;
game.an = 0;
game.appear_c = 0;
game.over_cnt = 0;
game.cnt;
game.key_down = 0;
game.score = 0;
game.stat = STAT_APPEAR;
lev_change[0] = 10;
lev_change[1] = 30;
lev_change[2] = 50;
lev_change[3] = 70;
_parent.mcBGM.start_BGM("play1");
draw_game();
onEnterFrame = function () {
switch (game.stat) {
case STAT_APPEAR :
appear_area();
return;
case STAT_FALL :
fall_proc();
return;
case STAT_ERASE :
erase_proc();
return;
case STAT_DROP :
drop_proc();
return;
}
};
keydata = new Array();
onKeyDown = function () {
var _local1 = Key.getCode();
if (_local1 != -1) {
keydata[_local1] = true;
}
};
onKeyUp = function () {
var _local1 = Key.getCode();
if (_local1 != -1) {
keydata[_local1] = false;
}
};
Key.addListener(this);
Symbol 44 Button
on (release) {
getURL ("http://www.gamedesign.jp/");
}
Symbol 54 MovieClip Frame 1
_parent.mcBGM.start_BGM("stop");
Symbol 54 MovieClip Frame 35
stop();
_parent.mcBGM.start_BGM("title");
bt.onRelease = function () {
_parent.gotoAndStop("play");
};
if (_root.lang > 0) {
gotoAndStop ("eng");
}
Symbol 72 Button
on (release) {
_parent.gotoAndStop("title");
}
Symbol 73 Button
on (release) {
getURL ("http://www.gamedesign.jp/");
}
Symbol 74 MovieClip Frame 20
stop();
tfScore.text = "SCORE " + _parent.mcPlay.game.score;
bt0.onRelease = function () {
_parent.gotoAndStop("title");
};
bt1.onRelease = function () {
gotoAndStop ("rank");
};
bt2.onRelease = function () {
getURL ("http://www.gamedesign.jp/");
};
Symbol 74 MovieClip Frame 25
stop();
score = Number(_parent.mcPlay.game.score);
ranker = new Array();
RANK_MAX = 10;
i = 0;
while (i < RANK_MAX) {
ranker[i] = new Object();
i++;
}
CGIFile = "hisc.cgi?" + Math.floor(Math.random() * 1000);
myLoadVars = new LoadVars();
myLoadVars.onLoad = function (success) {
var _local1;
_local1 = 0;
while (_local1 < RANK_MAX) {
ranker[_local1].playername = myLoadVars["name" + _local1];
ranker[_local1].score = myLoadVars["score" + _local1];
_local1++;
}
rank_in = false;
_local1 = 0;
while (_local1 < RANK_MAX) {
if (score > Number(myLoadVars["score" + _local1])) {
rank_in = true;
}
_local1++;
}
if (rank_in) {
gotoAndStop ("entry");
} else {
gotoAndStop ("display");
}
};
myLoadVars.load(CGIFile);
Symbol 74 MovieClip Frame 31
stop();
btEntry.onRelease = function () {
playername = tfName.text;
if (playername.length > 20) {
playername = playername.slice(0, 20);
}
gotoAndStop ("save");
};
Symbol 74 MovieClip Frame 37
stop();
CGIFile = "hisc.cgi?" + Math.floor(Math.random() * 1000);
mySaveVars = new LoadVars();
mySaveVars.score = score;
mySaveVars.playername = playername;
myLoadVars = new LoadVars();
myLoadVars.onLoad = function (success) {
var _local1;
_local1 = 0;
while (_local1 < RANK_MAX) {
ranker[_local1].playername = myLoadVars["name" + _local1];
ranker[_local1].score = myLoadVars["score" + _local1];
_local1++;
}
gotoAndStop ("display");
};
mySaveVars.sendAndLoad(CGIFile, myLoadVars, "POST");
Symbol 74 MovieClip Frame 43
stop();
i = 0;
while (i < RANK_MAX) {
mc = eval ("mc" + i);
mc.tfRank.text = i + 1;
if (i == 0) {
mc.tfRank.text = "Top";
}
mc.tfName.text = ranker[i].playername;
mc.tfScore.text = ranker[i].score;
i++;
}
Symbol 75 MovieClip Frame 1
stop();
Symbol 75 MovieClip Frame 6
stop();
mcPlay.gotoAndStop("main");
Symbol 75 MovieClip Frame 12
stop();