Frame 1
stop();
Frame 2
stop();
Frame 3
stop();
Frame 4
drag = "0";
tellTarget ("/menumove/menu/blink") {
gotoAndStop (2);
}
setProperty("/tempin", _visible , "0");
setProperty(("/" add empty) add "P", _visible , "0");
Symbol 5 Button
on (release) {
tellTarget ("/board") {
gotoAndStop (1);
};
gotoAndStop (3);
}
Symbol 6 Button
on (release) {
tellTarget ("/board") {
gotoAndStop (1);
};
gotoAndStop (2);
}
Symbol 12 MovieClip Frame 1
stop();
Symbol 12 MovieClip Frame 19
stop();
Symbol 21 MovieClip Frame 79
stop();
tellTarget ("_level0/board") {
play();
}
Symbol 26 Button
on (release) {
gotoAndStop (1);
}
Symbol 28 Button
on (release) {
gotoAndStop (3);
}
Symbol 33 MovieClip Frame 10
gotoAndPlay (1);
Symbol 35 Button
on (release) {
empty = "02";
gotoAndStop (4);
}
Symbol 36 Button
on (release) {
empty = "03";
gotoAndStop (4);
}
Symbol 37 Button
on (release) {
empty = "01";
gotoAndStop (4);
}
Symbol 38 Button
on (release) {
empty = "05";
gotoAndStop (4);
}
Symbol 39 Button
on (release) {
empty = "06";
gotoAndStop (4);
}
Symbol 40 Button
on (release) {
empty = "04";
gotoAndStop (4);
}
Symbol 41 Button
on (release) {
empty = "09";
gotoAndStop (4);
}
Symbol 42 Button
on (release) {
empty = "08";
gotoAndStop (4);
}
Symbol 43 Button
on (release) {
empty = "10";
gotoAndStop (4);
}
Symbol 44 Button
on (release) {
empty = "07";
gotoAndStop (4);
}
Symbol 45 Button
on (release) {
empty = "13";
gotoAndStop (4);
}
Symbol 46 Button
on (release) {
empty = "15";
gotoAndStop (4);
}
Symbol 47 Button
on (release) {
empty = "11";
gotoAndStop (4);
}
Symbol 48 Button
on (release) {
empty = "14";
gotoAndStop (4);
}
Symbol 49 Button
on (release) {
empty = "12";
gotoAndStop (4);
}
Symbol 52 Button
on (press) {
if (drag == "0") {
Set("/actions:Xup", getProperty("/02P", _x));
Set("/actions:Yup", getProperty("/02P", _y));
}
}
on (release) {
if (drag == "0") {
Set("/actions:current", "02");
call("/actions:pickup");
} else {
Set("/actions:currentrelease", "02");
call("/actions:release");
}
}
Symbol 53 Button
on (press) {
if (drag == "0") {
Set("/actions:Xup", getProperty("/03P", _x));
Set("/actions:Yup", getProperty("/03P", _y));
}
}
on (release) {
if (drag == "0") {
Set("/actions:current", "03");
call("/actions:pickup");
} else {
Set("/actions:currentrelease", "03");
call("/actions:release");
}
}
Symbol 54 Button
on (press) {
if (drag == "0") {
Set("/actions:Xup", getProperty("/01P", _x));
Set("/actions:Yup", getProperty("/01P", _y));
}
}
on (release) {
if (drag == "0") {
Set("/actions:current", "01");
call("/actions:pickup");
} else {
Set("/actions:currentrelease", "01");
call("/actions:release");
}
}
Symbol 55 Button
on (press) {
if (drag == "0") {
Set("/actions:Xup", getProperty("/05P", _x));
Set("/actions:Yup", getProperty("/05P", _y));
}
}
on (release) {
if (drag == "0") {
Set("/actions:current", "05");
call("/actions:pickup");
} else {
Set("/actions:currentrelease", "05");
call("/actions:release");
}
}
Symbol 56 Button
on (press) {
if (drag == "0") {
Set("/actions:Xup", getProperty("/06P", _x));
Set("/actions:Yup", getProperty("/06P", _y));
}
}
on (release) {
if (drag == "0") {
Set("/actions:current", "06");
call("/actions:pickup");
} else {
Set("/actions:currentrelease", "06");
call("/actions:release");
}
}
Symbol 57 Button
on (press) {
if (drag == "0") {
Set("/actions:Xup", getProperty("/04P", _x));
Set("/actions:Yup", getProperty("/04P", _y));
}
}
on (release) {
if (drag == "0") {
Set("/actions:current", "04");
call("/actions:pickup");
} else {
Set("/actions:currentrelease", "04");
call("/actions:release");
}
}
Symbol 58 Button
on (press) {
if (drag == "0") {
Set("/actions:Xup", getProperty("/09P", _x));
Set("/actions:Yup", getProperty("/09P", _y));
}
}
on (release) {
if (drag == "0") {
Set("/actions:current", "09");
call("/actions:pickup");
} else {
Set("/actions:currentrelease", "09");
call("/actions:release");
}
}
Symbol 59 Button
on (press) {
if (drag == "0") {
Set("/actions:Xup", getProperty("/08P", _x));
Set("/actions:Yup", getProperty("/08P", _y));
}
}
on (release) {
if (drag == "0") {
Set("/actions:current", "08");
call("/actions:pickup");
} else {
Set("/actions:currentrelease", "08");
call("/actions:release");
}
}
Symbol 60 Button
on (press) {
if (drag == "0") {
Set("/actions:Xup", getProperty("/10P", _x));
Set("/actions:Yup", getProperty("/10P", _y));
}
}
on (release) {
if (drag == "0") {
Set("/actions:current", "10");
call("/actions:pickup");
} else {
Set("/actions:currentrelease", "10");
call("/actions:release");
}
}
Symbol 61 Button
on (press) {
if (drag == "0") {
Set("/actions:Xup", getProperty("/07P", _x));
Set("/actions:Yup", getProperty("/07P", _y));
}
}
on (release) {
if (drag == "0") {
Set("/actions:current", "07");
call("/actions:pickup");
} else {
Set("/actions:currentrelease", "07");
call("/actions:release");
}
}
Symbol 62 Button
on (press) {
if (drag == "0") {
Set("/actions:Xup", getProperty("/13P", _x));
Set("/actions:Yup", getProperty("/13P", _y));
}
}
on (release) {
if (drag == "0") {
Set("/actions:current", "13");
call("/actions:pickup");
} else {
Set("/actions:currentrelease", "13");
call("/actions:release");
}
}
Symbol 63 Button
on (press) {
if (drag == "0") {
Set("/actions:Xup", getProperty("/15P", _x));
Set("/actions:Yup", getProperty("/15P", _y));
}
}
on (release) {
if (drag == "0") {
Set("/actions:current", "15");
call("/actions:pickup");
} else {
Set("/actions:currentrelease", "15");
call("/actions:release");
}
}
Symbol 64 Button
on (press) {
if (drag == "0") {
Set("/actions:Xup", getProperty("/11P", _x));
Set("/actions:Yup", getProperty("/11P", _y));
}
}
on (release) {
if (drag == "0") {
Set("/actions:current", "11");
call("/actions:pickup");
} else {
Set("/actions:currentrelease", "11");
call("/actions:release");
}
}
Symbol 65 Button
on (press) {
if (drag == "0") {
Set("/actions:Xup", getProperty("/14P", _x));
Set("/actions:Yup", getProperty("/14P", _y));
}
}
on (release) {
if (drag == "0") {
Set("/actions:current", "14");
call("/actions:pickup");
} else {
Set("/actions:currentrelease", "14");
call("/actions:release");
}
}
Symbol 66 Button
on (press) {
if (drag == "0") {
Set("/actions:Xup", getProperty("/12P", _x));
Set("/actions:Yup", getProperty("/12P", _y));
}
}
on (release) {
if (drag == "0") {
Set("/actions:current", "12");
call("/actions:pickup");
} else {
Set("/actions:currentrelease", "12");
call("/actions:release");
}
}
Symbol 69 MovieClip Frame 1
stop();
Symbol 69 MovieClip Frame 2
Set("_level0:possible", "0");
Symbol 69 MovieClip Frame 9
call("_level0/actions:afterpop");
Set("_level0:possible", "1");
Symbol 73 MovieClip Frame 1
stop();
Symbol 75 MovieClip Frame 1
stop();
Symbol 88 MovieClip Frame 1
stop();
Symbol 88 MovieClip Frame 2
if (_level0/actions:pinhead == "1") {
tellTarget ("comment") {
gotoAndStop (1);
};
} else if (_level0/actions:pinhead == "2") {
tellTarget ("comment") {
gotoAndStop (2);
};
} else if (_level0/actions:pinhead == "3") {
tellTarget ("comment") {
gotoAndStop (3);
};
} else {
tellTarget ("comment") {
gotoAndStop (4);
};
}
Symbol 97 Button
on (release) {
tellTarget ("_level0") {
gotoAndStop ("intro");
}
}
Symbol 98 Button
on (release) {
tellTarget ("_level0") {
gotoAndStop ("rules");
}
}
Symbol 99 Button
on (release) {
tellTarget ("_level0") {
gotoAndStop ("game");
}
}
Symbol 100 Button
on (release) {
tellTarget ("_level0/menumove") {
play();
}
}
Symbol 102 Button
on (release) {
call("_level0/actions:undo");
}
Symbol 104 MovieClip Frame 1
stop();
Symbol 106 MovieClip Frame 1
stop();
Symbol 106 MovieClip Frame 12
stop();
Symbol 106 MovieClip Frame 24
gotoAndStop (1);
Symbol 107 MovieClip Frame 1
pinhead = "14";
history = "";
count = "0";
move01 = "0402060300000000";
move02 = "0704090500000000";
move03 = "0805100600000000";
move04 = "0102060511071308";
move05 = "1208140900000000";
move06 = "0103040513091510";
move07 = "0204090800000000";
move08 = "0305100900000000";
move09 = "0205070800000000";
move10 = "0306080900000000";
move11 = "0407131200000000";
move12 = "0508141300000000";
move13 = "0609151404081112";
move14 = "0509121300000000";
move15 = "0610131400000000";
stop();
Symbol 107 MovieClip Frame 2
stop();
if (getProperty(("_level0/" add current) add "P", _visible) == "0") {
tellTarget ("_level0/nopin") {
play();
};
} else {
setProperty("_level0/tempin", _x , Xup);
setProperty("_level0/tempin", _y , Yup);
setProperty("_level0/tempin", _visible , "1");
setProperty(("_level0/" add current) add "P", _visible , "0");
startDrag ("_level0/tempin", true);
Set("_level0:drag", "1");
}
Symbol 107 MovieClip Frame 3
stop();
if (current == currentrelease) {
setProperty(("_level0/" add current) add "P", _visible , "1");
setProperty("_level0/tempin", _visible , "0");
Set("_level0:drag", "0");
} else {
J = "1";
legal = "0";
while ("13" >= J) {
if ((substring(eval ("move" add current), J, "2")) == currentrelease) {
legal = "1";
currentjump = substring(eval ("move" add current), J + "2", "2");
}
J = J + "4";
}
J = J - "4";
if (((legal == "0") or (getProperty(("_level0/" add currentrelease) add "P", _visible) == "1")) or (getProperty(("_level0/" add currentjump) add "P", _visible) == "0")) {
tellTarget ("_level0/illegal") {
play();
};
} else {
stopDrag();
setProperty(("_level0/" add currentrelease) add "P", _visible , "1");
setProperty("_level0/tempin", _visible , "0");
tellTarget (("_level0/" add currentjump) add "P") {
play();
};
Set("_level0:drag", "0");
pinhead = pinhead - "1";
history = ((history add current) add currentrelease) add currentjump;
count = count + "1";
tellTarget ("_level0/menumove/menu/blink") {
gotoAndStop (1);
};
}
}
Symbol 107 MovieClip Frame 4
setProperty(("_level0/" add currentjump) add "P", _visible , "0");
tellTarget (("_level0/" add currentjump) add "P") {
gotoAndStop (1);
};
call("continue");
if (cont == "0") {
tellTarget ("_level0/GameOver") {
gotoAndStop (2);
};
tellTarget ("_level0/menumove/menu/blink") {
gotoAndStop (2);
};
}
Symbol 107 MovieClip Frame 5
if (_level0:possible == "1") {
setProperty(("_level0/" add (substring(history, ("6" * count) - "5", "2"))) add "P", _visible , "1");
setProperty(("_level0/" add (substring(history, ("6" * count) - "3", "2"))) add "P", _visible , "0");
setProperty(("_level0/" add (substring(history, ("6" * count) - "1", "2"))) add "P", _visible , "1");
pinhead = pinhead + "1";
count = count - "1";
undotemp = substring(history, "1", "6" * count);
history = undotemp;
if (count == "0") {
tellTarget ("_level0/menumove/menu/blink") {
gotoAndStop (2);
};
}
}
Symbol 107 MovieClip Frame 6
k = "1";
cont = "0";
while (("15" >= k) and (cont == "0")) {
if (k < "10") {
piece = "0" add k;
} else {
piece = k;
}
p = "1";
while (("4" >= p) and (cont == "0")) {
if (((getProperty(("_level0/" add piece) add "P", _visible) == "1") and (getProperty(("_level0/" add (substring(eval ("move" add piece), ("4" * p) - "3", "2"))) add "P", _visible) == "0")) and (getProperty(("_level0/" add (substring(eval ("move" add piece), ("4" * p) - "1", "2"))) add "P", _visible) == "1")) {
cont = "1";
}
p = p + "1";
}
k = k + "1";
}