Combined Code
frame 101 {
if (_framesloaded < _totalframes) {
gotoAndPlay(1);
} else {
play();
}
}
frame 102 {
stop();
}
button 19 {
on (press, release) {
gotoAndPlay(110);
}
}
frame 110 {
clicked = '0';
parts = '20';
x_0 = '0';
y_0 = '0';
mouse_x_start = '0';
mouse_y_start = '0';
i = '1';
while (parts >= i) {
eval('a' add i add '_1') = i;
eval('la' add i) = '1';
eval('/' add i)._visible = '1';
wid = (eval('/' add i))._width;
hei = (eval('/' add i))._height;
eval('/' add i)._x = random('200') + '600' - wid / '2';
eval('/' add i)._y = random('320') + hei / '2';
i += '1';
}
gotoAndStop(115);
}
button 30 {
on (release) {
getURL('mailto:sahua@yahoo.com', '');
}
}
button 32 {
on (press, dragOver) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '1';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 34 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 36 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '2';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 38 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 40 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '3';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 42 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 44 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '4';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 46 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 48 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '5';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 50 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 52 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '6';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 54 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 56 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '7';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 58 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 60 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '8';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 62 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 64 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '9';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 66 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 68 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '10';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 70 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 72 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '11';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 74 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 76 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '12';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 78 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 80 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '13';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 82 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 84 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '14';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 86 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 88 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '15';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 90 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 92 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '16';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 94 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 96 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '17';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 98 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 100 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '18';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 102 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 104 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '19';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 106 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
button 108 {
on (press) {
tellTarget ('../') {
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
clicked = '20';
gotoAndPlay('Array');
}
}
on (release, releaseOutside) {
tellTarget ('../') {
gotoAndStop('start');
}
}
}
movieClip 110 {
frame 1 {
stop();
}
frame 6 {
stop();
}
}
movieClip 112 {
}
frame 115 {
startDrag('/invis', true);
stop();
}
movieClip 113 {
frame 1 {
x_1 = /1._x;
x_2 = /2._x - /2._width;
x_3 = /3._x - /2._width - /3._width;
x_4 = /4._x - /2._width - /3._width - /4._width;
x_5 = /5._x;
x_6 = /6._x - /6._width;
x_7 = /7._x - /7._width - /6._width;
x_8 = /8._x - /6._width - /7._width - /8._width;
x_9 = /9._x;
x_10 = /10._x - /10._width;
x_11 = /11._x - /10._width - /11._width;
x_12 = /12._x - /10._width - /11._width - /12._width;
x_13 = /13._x;
x_14 = /14._x - /14._width;
x_15 = /15._x - /14._width - /15._width;
x_16 = /16._x - /14._width - /15._width - /16._width;
x_17 = /17._x;
x_18 = /18._x - /18._width;
x_19 = /19._x - /18._width - /19._width;
x_20 = /20._x - /20._width - /19._width - /18._width;
y_1 = /1._y;
y_2 = /2._y;
y_3 = /3._y;
y_4 = /4._y;
y_5 = /5._y - /5._height;
y_6 = /6._y - /6._height;
y_7 = /7._y - /7._height;
y_8 = /8._y - /8._height;
y_9 = /9._y - /9._height - /5._height;
y_10 = /10._y - /10._height - /6._height;
y_11 = /11._y - /11._height - /7._height;
y_12 = /12._y - /12._height - /8._height;
y_13 = /13._y - /13._height - /9._height - /5._height;
y_14 = /14._y - /14._height - /10._height - /6._height;
y_15 = /15._y - /15._height - /11._height - /7._height;
y_16 = /16._y - /16._height - /12._height - /8._height;
y_17 = /17._y - /17._height - /13._height - /9._height - /5._height;
y_18 = /18._y - /18._height - /14._height - /10._height - /6._height;
y_19 = /19._y - /19._height - /15._height - /11._height - /7._height;
y_20 = /20._y - /20._height - /16._height - /12._height - /8._height;
parts = '20';
cols = '4';
rows = '5';
i = '1';
state = 'start';
row = '1';
while (parts >= i) {
if (i / cols / row != '1') {
if ('2.5' >= eval('x_' add i) - '52' - eval('x_' add (i + '1')) and eval('x_' add i) - '52' - eval('x_' add (i + '1')) >= '0' - '2.5' and '2.5' >= eval('y_' add i) - eval('y_' add (i + '1')) and eval('y_' add i) - eval('y_' add (i + '1')) >= '0' - '2.5') {
cur1 = i;
cur2 = i + '1';
call('find_out');
}
} else {
row += '1';
}
i += '1';
}
i = '1';
while (parts >= i) {
if (cols * (rows - '1') >= i) {
if ('2.5' >= eval('x_' add i) - eval('x_' add (i + cols)) and eval('x_' add i) - eval('x_' add (i + cols)) >= '0' - '2.5' and '2.5' >= eval('y_' add i) - '52' - eval('y_' add (i + cols)) and eval('y_' add i) - '52' - eval('y_' add (i + cols)) >= '0' - '2.5') {
cur1 = i;
cur2 = i + cols;
call('find_out');
}
}
i += '1';
}
if (state eq 'fin') {
tellTarget ('../') {
gotoAndStop('fin');
}
}
}
frame 2 {
gotoAndPlay(1);
}
frame 4 {
curay1 = '0';
curay2 = '0';
j1 = '1';
while (parts >= j1) {
j2 = '1';
while (eval('../:la' add j1) >= j2) {
if (eval('../:a' add j1 add '_' add j2) eq cur1) {
curay1 = j1;
} else {
if (eval('../:a' add j1 add '_' add j2) eq cur2) {
curay2 = j1;
}
}
j2 += '1';
}
if (!(curay1 eq '0') and !(curay2 eq '0') and !(curay1 eq curay2)) {
call('Xchange');
}
j1 += '1';
}
}
frame 11 {
j = '1';
while (eval('../:la' add curay2) >= j) {
eval('../:a' add curay1 add '_' add (eval('../:la' add curay1) + j)) = eval('../:a' add curay2 add '_' add j);
eval('../:a' add curay2 add '_' add j) = '0';
j += '1';
}
eval('../:la' add curay1) += eval('../:la' add curay2);
eval('../:la' add curay2) = '0';
event = '1';
while (event != '0') {
event = '0';
l = '1';
while (l < eval('../:la' add curay1)) {
value1 = eval('../:a' add curay1 add '_' add l);
value2 = eval('../:a' add curay1 add '_' add (l + '1'));
if (value2 < value1) {
pop_up = value1;
eval('../:a' add curay1 add '_' add l) = value2;
eval('../:a' add curay1 add '_' add (l + '1')) = pop_up;
event = '1';
}
l += '1';
}
}
call('merge');
curay1 = '0';
curay2 = '0';
call('check_out');
}
frame 19 {
k = '1';
while (k < eval('../:la' add curay1)) {
member1 = eval('../:a' add curay1 add '_' add k);
member2 = eval('../:a' add curay1 add '_' add (k + '1'));
delt = member2 - member1;
delt_x = (eval('/' add member1))._x;
delt_y = (eval('/' add member1))._y;
dvd1 = int(member1 / cols);
dvd2 = int(member2 / cols);
if (dvd1 == dvd2 and dvd1 != member1 / cols or dvd1 != dvd2 and dvd2 == member2 / cols and dvd1 != member1 / cols) {
u = '1';
while (delt >= u) {
frwd = '/' add (member1 + u);
delt_x += (eval(frwd))._width - '52';
u += '1';
}
} else {
if (delt != cols) {
delt = cols - delt;
v = '1';
while (delt >= v) {
back = '/' add (member1 - v);
delt_x -= (eval(back))._width - '52';
v += '1';
}
}
delt_y += (eval('/' add member2))._height - '52';
}
eval('/' add member2)._x = delt_x;
eval('/' add member2)._y = delt_y;
k += '1';
}
}
frame 25 {
m = '1';
counter = '0';
while (parts >= m) {
if (eval('../:la' add m) == '0') {
counter += '1';
}
m += '1';
}
if (counter == parts - '1') {
state = 'fin';
}
}
}
frame 121 {
i1 = '1';
while (parts >= i1) {
i2 = '1';
while (eval('la' add i1) >= i2) {
if (eval('a' add i1 add '_' add i2) eq clicked) {
cur_array = i1;
gotoAndPlay(127);
}
i2 += '1';
}
i1 += '1';
}
}
frame 127 {
delta_x = /invis._x - mouse_x_start;
delta_y = /invis._y - mouse_y_start;
i3 = '1';
while (eval('la' add cur_array) >= i3) {
member = eval('a' add cur_array add '_' add i3);
eval('/' add member)._x = (eval('/' add member))._x + delta_x;
eval('/' add member)._y = (eval('/' add member))._y + delta_y;
i3 += '1';
}
mouse_x_start = /invis._x;
mouse_y_start = /invis._y;
}
frame 128 {
gotoAndPlay(127);
}
frame 131 {
stopDrag();
z = '1';
while (parts >= z) {
tellTarget (''/' add z') {
gotoAndStop(6);
}
z += '1';
}
x_0 = /1._x + /1._width;
y_0 = /1._y + /1._height;
/origin._x = x_0 - '14';
/origin._y = y_0 + '27';
stop();
}
movieClip 117 {
frame 13 {
tellTarget ('../again') {
gotoAndStop(2);
}
stop();
}
}
button 120 {
on (keyPress 'y') {
tellTarget ('../') {
gotoAndPlay('init');
}
}
on (keyPress 'n') {
tellTarget ('../') {
gotoAndStop('end');
}
}
}
movieClip 121 {
frame 1 {
stop();
}
frame 2 {
stop();
}
}
frame 136 {
phase = ' good-bye';
/effect._x = '340';
stop();
}
movieClip 123 {
}
movieClip 124 {
frame 47 {
stop();
}
}
movieClip 125 {
frame 1 {
z = '1';
text = ../:phase;
max = length(text);
char1/letter:char = substring(text, '1', '1');
}
frame 3 {
z += '1';
duplicateMovieClip('char' add (z - '1'), 'char' add z, 16384);
eval('char' add z add '/letter:char') = substring(text, z, '1');
eval('char' add z)._x = (eval('char' add (z - '1')))._x + '60';
}
frame 4 {
if (z >= max) {
stop();
} else {
gotoAndPlay(3);
}
}
}
frame 141 {
loadMovieNum('puzzle.swf', 1);
stop();
}