Frame 1
function Init() {
num = 0;
var i;
i = 0;
while (i < max) {
qNums[i] = 0;
i++;
}
DrawView();
}
function Add(i) {
if (num < max) {
qNums[num] = i;
num++;
DrawView();
}
}
function Delete() {
if (num > 0) {
qNums[num] = 0;
num--;
DrawView();
}
}
function DrawView() {
var i;
var r = 83;
var rad;
var center_x = 135;
var center_y = 135;
i = 0;
while (i < max) {
var original = ("i" + qNums[i]);
var tgt = ("p" + i);
removeMovieClip(tgt);
i++;
}
i = 0;
while (i < num) {
var original = ("i" + qNums[i]);
var tgt = ("p" + i);
duplicateMovieClip (original, tgt, 10 + i);
rad = Math.PI * (-0.5 + ((2 * i) / num));
setProperty(tgt, _x , center_x + (r * Math.cos(rad)));
setProperty(tgt, _y , center_y + (r * Math.sin(rad)));
i++;
}
Calc();
}
function DrawAnsOrder() {
var i;
var r = 114;
var rad;
var center_x = 118.5;
var center_y = 119.4;
i = 0;
while (i < max) {
var tgt = ("txtOrder" + i);
if ((i < num) && (hasAns)) {
rad = Math.PI * (-0.5 + ((2 * i) / num));
setProperty(tgt, _x , center_x + (r * Math.cos(rad)));
setProperty(tgt, _y , center_y + (r * Math.sin(rad)));
} else {
setProperty(tgt, _x , 0);
setProperty(tgt, _y , 900);
}
i++;
}
txtOrder0.text = ansOrder[0];
txtOrder1.text = ansOrder[1];
txtOrder2.text = ansOrder[2];
txtOrder3.text = ansOrder[3];
txtOrder4.text = ansOrder[4];
txtOrder5.text = ansOrder[5];
txtOrder6.text = ansOrder[6];
txtOrder7.text = ansOrder[7];
txtOrder8.text = ansOrder[8];
txtOrder9.text = ansOrder[9];
txtOrder10.text = ansOrder[10];
txtOrder11.text = ansOrder[11];
txtOrder12.text = ansOrder[12];
txtOrder13.text = ansOrder[13];
}
function Calc() {
var k;
var orders = new Array(max);
i = 0;
while (i < max) {
orders[i] = 0;
ansOrder[i] = 0;
i++;
}
hasAns = false;
nAns = 0;
k = 0;
while (k < num) {
Check(orders, k, 1);
k++;
}
if (hasAns == true) {
result.text = ("\u53EF\u80FD(" + nAns) + "\u901A\u308A)";
} else {
result.text = "\u7121\u7406\u30B2\u30FC";
}
DrawAnsOrder();
}
function Check(oldOrder, cPos, count) {
var i;
var newOrder = new Array(max);
i = 0;
while (i < max) {
newOrder[i] = oldOrder[i];
i++;
}
newOrder[cPos] = count;
var upper = ((cPos + qNums[cPos]) % num);
var lower = ((((6 * num) + cPos) - qNums[cPos]) % num);
if (newOrder[upper] == 0) {
Check(newOrder, upper, count + 1);
}
if ((newOrder[lower] == 0) && (upper != lower)) {
Check(newOrder, lower, count + 1);
}
if ((newOrder[upper] != 0) && (newOrder[lower] != 0)) {
if (count == num) {
hasAns = true;
nAns = nAns + 1;
i = 0;
while (i < max) {
ansOrder[i] = newOrder[i];
i++;
}
}
}
}
var max = 13;
var num = 0;
var qNums = new Array(13);
var ansOrder = new Array(13);
var hasAns;
var nAns;
Init();
var key_obj = new Object();
key_obj.onKeyDown = function () {
var ascii = Key.getAscii();
if (!(ascii === Key.BACKSPACE)) {
} else {
Delete();
}
var code = Key.getCode();
switch (code) {
case 49 :
case 97 :
Add(1);
return;
case 50 :
case 98 :
Add(2);
return;
case 51 :
case 99 :
Add(3);
return;
case 52 :
case 100 :
Add(4);
return;
case 53 :
case 101 :
Add(5);
return;
case 54 :
case 102 :
Add(6);
return;
case 8 :
case 12 :
case 46 :
case 48 :
case 96 :
Delete();
}
};
Key.addListener(key_obj);
Frame 3
gotoAndPlay (2);