Frame 1
function PieceX(col) {
return((xBase + (col * xSpace)) + (Math.floor(col / 3) * 1));
}
function PieceY(row) {
return((yBase + (row * ySpace)) + (Math.floor(row / 3) * 1));
}
function Initialize() {
unitName = ["\u5217", "\u884C", "\u4E5D\u5BAE\u683C"];
backList = [];
nextList = [];
MaxRows = 15;
HighCells = 0;
HighRows = 0;
numRows = 9;
numCells = numRows * numRows;
falseCell = -1;
testTb = [];
var _local1 = 0;
while (_local1 < 5) {
testTb[_local1] = [];
_local1++;
}
testTb[1][0] = "300009700070060040005400008004600007010030060200004900900001400030020050008700003";
testTb[0][0] = "060703020080509010502000403407000609000010000608000102901000507040901030050602040";
testTb[0][1] = "050801060209000105040070090007105400600000002001903800010050040508000603060207080";
testTb[0][2] = "400602001050010030003000200300507004060000020100204006009000100070050060200801009";
testTb[0][3] = "000009138608100050900700420080903602000000000504206010037001009060007504452600000";
testTb[0][4] = "041000520000902000098050630600108007080000060900507004026070910000203000054000870";
testTb[0][5] = "195000700000980100020100340960700000500000001000008064041002050009073000006000897";
testTb[0][6] = "720060100090300005000004080003500007080020090100009800060100000800007060005090023";
testTb[0][7] = "064009007057002006900100530028001005000000000700600920093006002200800740800900360";
testTb[0][8] = "000100203090002400410068000605000040004000900070000102000780054006400030709003000";
testTb[0][9] = "071000520020000030000607000800705004007000300600903008000201000030000070014000950";
testTb[0][10] = "002058003600000002030000080006009800054103290007800100090000060700000001200760400";
testTb[0][11] = "302900005009600000540100600471009000000000000000200791003007064000002300600003907";
testTb[0][13] = "000008600070004300920070080610050000000803000000010029060030015003700040008900000";
testTb[0][14] = "010006007000000000008350014200600008700040005400005001820017400000000000600200030";
testTb[0][15] = "000001207000009004842005006000006783000000000693100000200300469700600000104800000";
testTb[0][17] = "000000000070003060036094210024000000060000050000000180018270590050800070000000000";
testTb[0][18] = "000000007026490000005200601000000803700000004401000000207006300000024970800000000";
testTb[0][19] = "000200683030800002000400001000100749000000000162004000400007000700001030891003000";
testTb[0][20] = "005047310802100000000000040030000100007000400006000070010000000000008903093760500";
testTb[0][12] = "020908070000000000005000400070802050080607010030104090006000200000000000050701080";
testTb[0][16] = "100040009007608200000050000900000004028000160500000007000080000001705600700010005";
testTb[1][1] = "000000013000030009002008000000700500080010030007004000000200400300090000510000000";
testTb[1][2] = "004300090600007400090010005060100004008000700900006030500090080001400002030001600";
testTb[1][3] = "007050006030040002000002190500001000081070650000400007092500000700020080100060500";
testTb[1][4] = "007600000050000230030090005000802001028000690600709000500020060013000070000005300";
testTb[1][5] = "200090005060007040008300200010050900700000003004030010001009800030600070500020009";
testTb[1][6] = "000100300020007090609050008000200003054070120700003000400020805030400070001009000";
testTb[1][7] = "100000300200604080000205600060040010009000400080060090004503000020109008007000009";
testTb[1][8] = "602000500000090000100507008007060100060103020003050900200806009000070000006000704";
testTb[1][9] = "004308000002600000000050049100903052003000700960704008480010000000002800000809600";
testTb[1][10] = "040060070500003009002800100003200010200040005010007600007005300800300004060010020";
testTb[1][11] = "090000070800002009000360001050706400006000500007905030200037000900100002010000300";
testTb[1][12] = "000000100030008007009120050020006000603000804000200070080043200700500090005000000";
testTb[1][13] = "008030040100700800060002009009000020700090001030000500900200070006007008050010300";
testTb[1][14] = "002005079105003000000000600010400900090000080004009010009000000000100306680300400";
testTb[1][15] = "000061000009700200083000790100400000500000003000009005072000640004007900000820000";
testTb[1][16] = "000100800070000050200006400305000004000080000700000509003200007080000060001009000";
testTb[1][17] = "590000008000600009000043000004000020007000500030000600000350000900002000800000091";
testTb[1][18] = "000080010001600002200005900500009100010070040008400006004100008900003500070020000";
testTb[1][19] = "080001000006050100000900020007000908200503004105000300030004000004080600000200070";
testTb[1][20] = "042009060600000004900020005200090000003206100000080003500010002400000007090800530";
testTb[1][21] = "300000061705800000006400200000000350000020000084000000008006900000003507490000002";
testTb[1][22] = "300000001005239700000000060040020090010605020050070040090000000007468200200000005";
testTb[1][23] = "000000305000028000507400102009007040080000050010300200105006904000290000306000000";
testTb[1][24] = "050090060002004003000800001400600080009000300010003002300002000800400900060010040";
testTb[1][25] = "100008000030070200004000060000500003080000040200007000070000800003010090000900001";
testTb[1][26] = "000300000001460000090000800250000000080000040000000063004000070000018200000002000";
testTb[2][0] = "000410000002009000080000700300500060100000004070003009009000050000100300000078000";
testTb[2][1] = "800601002005020300010000060600104000090000080000203005030000070008040100400902008";
testTb[2][2] = "500302090001065000000040200030000904090080020602000070008050000000420800050608009";
testTb[2][3] = "000008000900040021600007905004800006860030017700009300501700004470050009000100000";
testTb[2][4] = "000000001021005090970000083269004300000070000005300846630000078090400650500000000";
testTb[2][5] = "000530009005000406200800070030900000079000680000001090050009008904000100600045000";
testTb[2][6] = "076500200000098370000002050702010400000020000005080109030200000068950000007001640";
testTb[2][7] = "500070000040003807000021030005004396000000000193700400010680000207100080000040009";
testTb[2][8] = "190057003500003200600000700004090000200000001000080400001000004009100002300460058";
testTb[2][9] = "005040008021970000400000020504000010900080005010000407050000001000025960700090500";
testTb[2][10] = "020500090900002060065040307010400006000090000400007080506010870080200005070005040";
testTb[2][11] = "005800076700006003800200090024300007000000000300001640070008001400600002130002500";
testTb[2][12] = "000050004403002000010600080604000028030080090970000503090007050000300402300010000";
testTb[2][13] = "008060400030000070400801003007409600000000000002306500900608004020000090004020700";
testTb[2][14] = "000130005040000200800900000000050900002000400003060000000003006005000010700028000";
testTb[2][15] = "000020000400908002020307060008070500900000003001060800050204070600805004000010000";
testTb[2][16] = "120000000000600003074080000000003002080040010600500000000010780500009000000000040";
testTb[2][17] = "201000005008500310000000602000207500905803207002405000809000000024008700500000906";
testTb[2][18] = "003009400020000050100703006305400009000080000600005807800306005030000080007200300";
testTb[2][19] = "006010000000200509004007000070800300900000004001006050000300800205001000000020600";
testTb[2][20] = "100002050009000600030400007002000010400060009080000300600008020008000400070900001";
testTb[2][21] = "100000600030008200609700004000020000590000017000010000300002708008500090007000005";
testTb[2][22] = "040790008050000002000000790001070050200906003030040900068000000900000060500087030";
testTb[2][23] = "080200003000100806004070050000400005805000409300005000090020300706004000400009060";
testTb[2][24] = "080200003000100806004070050000400005805000409300005000090020300706004000400009060";
testTb[3][0] = "002005000900020004080097062004003010003209800010800200390670020100030007000500600";
testTb[3][1] = "074520300050000040809000000008604070017000450040102900000000103080000090001097580";
testTb[3][2] = "065042000190000000002100060006800004540070089700004500010009700000000051000730940";
testTb[3][3] = "009405830800300907000007005004000086000050000980000200700600000508002004032504100";
testTb[3][4] = "000600008009015420210004060001000056026000830870000200090700083083520600500003000";
testTb[3][5] = "000408206006005090020000000010006007060020080300800050000000030080600700501309000";
testTb[3][6] = "230900050009003020000001003190006002070050040400300086900200000050100200010008095";
testTb[3][7] = "004300980000070100050400236000604010000030000030201000419003060006040000023007500";
testTb[3][8] = "302009470590800020007000000000370190000905000039062000000000700040008012021700905";
testTb[3][9] = "802609051000800600000000049050200008008563900900007030530000000001008000480705203";
testTb[3][10] = "000300246028690000003072000050008010006000800090200070000150700000026590582007000";
testTb[3][11] = "408010200231700008070000000007002304000104000904300100000000040300001927006090805";
testTb[3][12] = "002000500004008017000750000580001003000090000100500086000019000420300900005000400";
testTb[3][13] = "100800020690700001002060000580200900001090600006004082000050200300002057010007003";
testTb[3][14] = "709005300060040000105300000000600230030187040016002000000003105000070090008500603";
testTb[3][15] = "370050801080000060000009070005300006000165000200007500020700000060000090501090037";
testTb[3][16] = "090002000500700002002385900030600000807000401000008020008249100900007005000500080";
testTb[3][17] = "402010008000503000100000030050008900706020503003600010020000005000204000500030107";
testTb[3][18] = "000020000090000430030004107000900013400508006170006000308400050051000040000050000";
testTb[3][19] = "000010003060007100809600200400780000002000900000091004001006402003200050500030000";
testTb[3][20] = "409000200200047000006209003700008904000000000304600005900306700000980006005000309";
testTb[3][21] = "000300870050408200002900400600500180020040030087001004009004500005109040068003000";
testTb[3][24] = "008006000400090070000002051002700680000000000065008200630200000010060007000900500";
testTb[4][0] = "200057803700000400043000000070540000320876049000013050000000610001000004407360002";
testStr = testTb[0][0];
nextStr = "";
testStep = 0;
colorSet = 1;
circleSet = 1;
numShowfg = 0;
sayLevel = 1;
maxStep = 0;
maxStep1 = 0;
cellOkNum = [];
cellNum1 = [];
cellDelStr = [];
cellNum = [];
firstCell = 0;
winfg = 0;
timeSum = 0;
pctime = 0;
gameStart = 0;
nowOpNum = 1;
nowOpUnit = -1;
theSelectNum = -1;
usedNum = [];
toSayStr = "";
editCount = 0;
testColor = 14161409 /* 0xD81601 */;
guessColor = 4669181 /* 0x473EFD */;
ansColor = 1811185 /* 0x1BA2F1 */;
gofg = 1;
oldPlay = -1;
oldNum = 1;
pcBack = [];
thinkStep = 0;
isGuess = 0;
isChange = 0;
getNewfg = 0;
TheDownLoop = 0;
theTimerSp = setInterval(theTimer, 1000);
DragSp = 0;
addNum1 = [];
addNum2 = [];
addNum3 = [];
addNum4 = [];
addNum5 = [];
_local1 = 0;
while (_local1 < 9) {
addNum1[_local1] = _local1;
_local1++;
}
_local1 = 0;
var _local2 = 0;
while (_local1 < 9) {
addNum2[_local1] = _local2;
_local1++;
_local2 = _local2 + numRows;
}
_local1 = 0;
while (_local1 < 3) {
addNum3[_local1] = _local1;
addNum3[_local1 + 3] = _local1 + numRows;
addNum3[_local1 + 6] = _local1 + (numRows * 2);
addNum4[_local1] = numRows * _local1;
addNum4[_local1 + 3] = 1 + (numRows * _local1);
addNum4[_local1 + 6] = 2 + (numRows * _local1);
addNum5[_local1] = _local1 * 3;
addNum5[_local1 + 3] = (_local1 * 3) + (numRows * 3);
addNum5[_local1 + 6] = (_local1 * 3) + (numRows * 6);
_local1++;
}
xpos = [];
ypos = [];
bpos = [];
_local1 = 0;
while (_local1 < numCells) {
xpos[_local1] = _local1 % numRows;
ypos[_local1] = (_local1 - xpos[_local1]) / numRows;
bpos[_local1] = (Math.floor(ypos[_local1] / 3) * 3) + Math.floor(xpos[_local1] / 3);
_local1++;
}
xst = [];
yst = [];
bst = [];
_local1 = 0;
while (_local1 < numCells) {
xst[_local1] = _local1 % numRows;
yst[_local1] = _local1 - xpos[_local1];
bst[_local1] = (_local1 - (xpos[_local1] % 3)) - ((ypos[_local1] % 3) * numRows);
_local1++;
}
sobj = SharedObject.getLocal("wusudoku");
if (sobj.data.testStep != undefined) {
testStep = sobj.data.testStep;
}
if (sobj.data.colorSet != undefined) {
colorSet = sobj.data.colorSet;
}
if (sobj.data.circleSet != undefined) {
circleSet = sobj.data.circleSet;
}
if (sobj.data.sayLevel != undefined) {
sayLevel = sobj.data.sayLevel;
}
if (sobj.data.testStr != undefined) {
testStr = sobj.data.testStr;
}
if (sobj.data.nextStr != undefined) {
nextStr = sobj.data.nextStr;
}
if (sobj.data.testNowSp != undefined) {
testNowSp = sobj.data.testNowSp;
} else {
testNowSp = -1;
}
broadColorBt.gotoAndPlay(colorSet);
circleSetBt.gotoAndPlay(circleSet);
MallacSys();
InitBoard(0);
}
function InitBoard(sp) {
SetBoardSys();
ToReStart(sp);
}
function SetBoardSys() {
var i;
var j;
xSpace = (cellboard._width - 8) / numRows;
ySpace = (cellboard._Height - 8) / numRows;
xBase = ((cellboard._x - (cellboard._width / 2)) + (xSpace / 2)) + 3;
yBase = ((cellboard._y - (cellboard._Height / 2)) + (ySpace / 2)) + 3;
}
function MallacSys() {
var _local2 = _root;
if (HighCells < numCells) {
var _local1 = HighCells;
while (_local1 < numCells) {
ps0.duplicateMovieClip("p" + _local1, _local1 + 120);
_local2["p" + _local1].pn = 0;
_local1++;
}
}
HighCells = numCells;
HighRows = numRows;
}
function ClearList(sp) {
var _local1 = sp;
while (_local1.length > 0) {
_local1.pop();
}
}
function getGameRate() {
var _local3 = _root;
var _local2 = [];
var rfg = random(8);
var _local1 = 0;
while (_local1 < numCells) {
_local2[_local1] = _local3["p" + _local1].n;
_local1++;
}
_local1 = 0;
while (_local1 < numCells) {
switch (rfg) {
case 0 :
_local3["p" + _local1].n = _local2[((addNum2[(numRows - xpos[_local1]) - 1] + numRows) - ypos[_local1]) - 1];
break;
case 1 :
_local3["p" + _local1].n = _local2[((addNum2[ypos[_local1]] + numRows) - xpos[_local1]) - 1];
break;
case 2 :
_local3["p" + _local1].n = _local2[addNum2[(numRows - ypos[_local1]) - 1] + xpos[_local1]];
break;
case 3 :
_local3["p" + _local1].n = _local2[addNum2[xpos[_local1]] + ypos[_local1]];
break;
case 4 :
_local3["p" + _local1].n = _local2[addNum2[(numRows - xpos[_local1]) - 1] + ypos[_local1]];
break;
case 5 :
_local3["p" + _local1].n = _local2[((addNum2[(numRows - ypos[_local1]) - 1] + numRows) - xpos[_local1]) - 1];
break;
case 6 :
_local3["p" + _local1].n = _local2[((addNum2[xpos[_local1]] + numRows) - ypos[_local1]) - 1];
}
_local1++;
}
}
function getGameRate2() {
var n1;
var _local3;
var _local2;
var n4;
var n5;
var n6;
var n7;
var nt = [];
var rfg = 0;
do {
var _local1 = 0;
while (_local1 < numCells) {
nt[_local1] = _root["p" + _local1].n;
_local1++;
}
do {
(n1 = random(3));
_local3 = random(3);
_local2 = random(3);
(n4 = _local3 + _local2);
} while (_local3 == _local2);
n5 = 2 - n1;
n6 = 2 - _local3;
n7 = 2 - _local2;
n8 = n6 + n7;
_local1 = 0;
while (_local1 < numCells) {
var ix = (_local1 % numRows);
var xc = (ix % 3);
var xb = ((ix - xc) / 3);
var iy = ((_local1 - ix) / numRows);
var yc = (iy % 3);
var yb = ((iy - yc) / 3);
switch (rfg) {
case 0 :
if (!((n1 == 1) && ((_local3 == 1) || (_local2 == 1)))) {
if ((yb == n1) && ((yc == _local3) || (yc == _local2))) {
_root["p" + _local1].n = nt[addNum2[((yb * 3) + n4) - yc] + ix];
} else if ((yb == n5) && ((yc == n6) || (yc == n7))) {
_root["p" + _local1].n = nt[addNum2[((yb * 3) + n8) - yc] + ix];
}
}
break;
case 1 :
if (!((n1 == 1) && ((_local3 == 1) || (_local2 == 1)))) {
if ((xb == n1) && ((xc == _local3) || (xc == _local2))) {
_root["p" + _local1].n = nt[((addNum2[iy] + (xb * 3)) + n4) - xc];
} else if ((xb == n5) && ((xc == n6) || (xc == n7))) {
_root["p" + _local1].n = nt[((addNum2[iy] + (xb * 3)) + n8) - xc];
}
}
break;
case 2 :
if ((!((_local3 == 1) || (_local2 == 1))) && ((yb == _local3) || (yb == _local2))) {
_root["p" + _local1].n = nt[addNum2[((n4 - yb) * 3) + yc] + ix];
}
break;
case 3 :
if (!((!((_local3 == 1) || (_local2 == 1))) && ((xb == _local3) || (xb == _local2)))) {
break;
}
_root["p" + _local1].n = nt[(addNum2[iy] + ((n4 - xb) * 3)) + xc];
}
_local1++;
}
rfg++;
} while (rfg < 4);
}
function getNewGame(fg, rfg, nfg) {
var nsp = [];
if (nfg < 0) {
testStr = testTb[testStep][random(testTb[testStep].length)];
} else if (nfg < 1000) {
testStr = testTb[Math.floor(nfg / 100)][nfg % 100];
} else if (sobj.data.testStr != undefined) {
testStr = sobj.data.testStr;
}
nsp[0] = 0;
nsp[1] = 1;
if (fg > 0) {
var i = 2;
while (i <= numRows) {
var j = (random(i) + 1);
nsp[i] = nsp[j];
nsp[j] = i;
i++;
}
} else {
var i = 2;
while (i <= numRows) {
nsp[i] = i;
i++;
}
}
trace((("nfg=" + nfg) + " nsp=") + nsp);
theColor = testColor;
i = 0;
while (i < numCells) {
var p = eval ("p" + i);
p._width = xSpace;
p._height = ySpace;
var my_color = new Color(p.nt);
my_color.setRGB(theColor);
p.n = nsp[testStr.charAt(i)];
if (p.n == "0") {
p.n = " ";
}
setOneChess(i, 0);
i++;
}
if (rfg > 0) {
getGameRate();
}
if (rfg > 1) {
getGameRate2();
}
DragSp = 0;
timeSum = 0;
maxStep = 0;
maxStep1 = 0;
clearBack();
clearNum2();
numShowfg = 0;
gameStart = 0;
nowOpNum = 1;
}
function reShowboard() {
i = 0;
while (i < numCells) {
setOneChess(i, 0);
i++;
}
}
function \u91CD\u7D44\u984C\u578B() {
var _local2 = _root;
testStr = "";
var _local1 = 0;
while (_local1 < numCells) {
if (_local2["p" + _local1].n == " ") {
testStr = testStr + "0";
} else {
testStr = testStr + _local2["p" + _local1].n;
}
_local1++;
}
trace(" testStr=" + testStr);
}
function ToReStart(fg) {
var _local2 = _root;
var _local1;
var h;
OkMv.gotoAndStop("space");
if (fg < 2) {
if (fg == 0) {
if (testNowSp >= 0) {
getNewGame(1, 2, testNowSp++);
} else {
getNewGame(1, 2, -1);
}
numShowfg = 0;
}
clearList(backList);
clearList(nextList);
clearNum2();
gameStart = 0;
nowOpNum = 1;
}
\u91CD\u7D44\u984C\u578B();
maxStep = 0;
maxStep1 = 0;
sn0.n = " ";
sn0.n2 = " ";
_local1 = 1;
while (_local1 < 10) {
_local2["sn" + _local1].n = _local1;
_local1++;
}
theColor = ansColor;
ShowBtSay(1);
}
function StrDelOne(sp, n) {
var _local3 = sp;
var _local2 = cellOkNum[_local3];
var _local1 = _local2.substring(0, n) + _local2.substring(n + 1);
if (_local1 == " ") {
falseCell = _local3;
} else if ((firstCell < 0) || (_local1.length < cellOkNum[firstCell].length)) {
firstCell = _local3;
}
cellOkNum[_local3] = _local1;
}
function strDelChar(st1, nsp) {
var _local1 = nsp;
var _local2 = st1;
if (_local1 >= 0) {
isChange = 1;
return(_local2.substring(0, _local1) + _local2.substring(_local1 + 1));
}
return(_local2);
}
function getAllCellnum() {
var _local3 = _root;
falseCell = -1;
firstCell = -1;
winfg = 0;
skipRun = 0;
var _local1 = 1;
while (_local1 < 10) {
usedNum[_local1] = 9;
_local1++;
}
_local1 = 0;
while (_local1 < numCells) {
if (_local3["p" + _local1].n == " ") {
cellOkNum[_local1] = " 123456789";
} else {
cellOkNum[_local1] = " ";
}
_local1++;
}
_local1 = 0;
while (_local1 < numCells) {
var _local2 = _local3["p" + _local1];
if (_local2.n != " ") {
setChessnum(_local1, _local2.n);
usedNum[Number(_local2.n)]--;
}
_local1++;
}
if ((cellOkNum[firstCell].length > 2) && (_local3._currentframe != 4)) {
findTheFirst(0);
}
_local1 = 1;
while (_local1 < 10) {
if (usedNum[_local1] < 0) {
winfg = -200;
} else {
winfg = winfg + usedNum[_local1];
}
_local1++;
}
}
function findTheMin() {
firstCell = 0;
var _local1 = 1;
while (_local1 < numCells) {
if ((cellOkNum[firstCell].length < 2) || ((cellOkNum[_local1].length > 1) && (cellOkNum[_local1].length < cellOkNum[firstCell].length))) {
firstCell = _local1;
}
_local1++;
}
}
function findTheFirst(sp) {
var _local1 = sp;
if ((sp == 0) && (cellOkNum[firstCell].length > 2)) {
_local1 = 2;
}
do {
if (_local1 == 1) {
winfg = 0;
findTheMin();
if (cellOkNum[firstCell].length > 2) {
_local1++;
}
}
if (_local1 == 2) {
methodA();
if (cellOkNum[firstCell].length > 2) {
_local1++;
}
if (maxStep1 < 1) {
maxStep1 = 1;
}
trace("\u4E2D\u7D1AA " + _local1);
}
if (_local1 == 3) {
methodC();
if (isChange > 0) {
_local1 = 1;
} else {
_local1++;
}
if (maxStep1 < 2) {
maxStep1 = 2;
}
trace("\u9AD8\u7D1AC " + _local1);
}
if (_local1 == 4) {
methodB();
if (isChange > 0) {
_local1 = 1;
} else {
_local1++;
}
if (maxStep1 < 3) {
maxStep1 = 3;
}
trace("\u9AD8\u7D1AB " + _local1);
}
if (_local1 == 5) {
methodD();
if (isChange > 0) {
_local1 = 1;
} else {
_local1++;
}
if (maxStep1 < 4) {
maxStep1 = 4;
}
trace("\u56F0\u7D1AD " + _local1);
}
if (_local1 == 6) {
methodX();
if (isChange > 0) {
_local1 = 1;
} else {
_local1++;
}
if (maxStep1 < 5) {
maxStep1 = 5;
}
trace("\u56F0\u7D1AX " + _local1);
}
if (_local1 == 7) {
methodF();
if (isChange > 0) {
_local1 = 1;
} else {
_local1++;
}
if (maxStep1 < 6) {
maxStep1 = 6;
}
trace("\u56F0\u7D1AF " + _local1);
}
if (_local1 == 8) {
methodG();
if (isChange > 0) {
_local1 = 1;
} else {
_local1++;
}
if (maxStep1 < 7) {
maxStep1 = 7;
}
trace("\u56F0\u7D1AG " + _local1);
}
if (_local1 == 9) {
methodH();
if (isChange > 0) {
_local1 = 1;
} else {
_local1++;
}
if (maxStep1 < 8) {
maxStep1 = 8;
}
trace("\u56F0\u7D1AH " + _local1);
}
if (_local1 == 10) {
methodI();
if (isChange > 0) {
_local1 = 1;
} else {
_local1++;
}
if (maxStep1 < 9) {
maxStep1 = 9;
}
trace("\u56F0\u7D1AI " + _local1);
}
} while ((cellOkNum[firstCell].length > 2) && (_local1 < 5));
var _local2 = 1;
while (_local2 < 10) {
if (usedNum[_local2] < 0) {
winfg = -200;
} else {
winfg = winfg + usedNum[_local2];
}
_local2++;
}
if (maxStep < maxStep1) {
maxStep = maxStep1;
}
}
function methodA() {
var _local1 = false;
var _local2 = 0;
var _local3 = 0;
while ((_local2 < numRows) && (!_local1)) {
_local1 = findTheOnlyOneA(_local3, addNum1);
_local2++;
_local3 = _local3 + numRows;
}
_local2 = 0;
while ((_local2 < numRows) && (!_local1)) {
_local1 = findTheOnlyOneA(_local2, addNum2);
_local2++;
}
_local2 = 0;
_local3 = 0;
while ((_local2 < numRows) && (!_local1)) {
_local1 = findTheOnlyOneA(addNum5[_local2], addNum3);
_local2++;
}
}
function methodB() {
isChange = 0;
var _local1 = 0;
while (_local1 < numRows) {
findTheOnlyOneB(_local1 * numRows, addNum1, (Math.floor(_local1 / 3) * 3) * numRows, 3, _local1 % 3, addNum3);
_local1++;
}
_local1 = 0;
while (_local1 < numRows) {
findTheOnlyOneB(_local1, addNum2, Math.floor(_local1 / 3) * 3, numRows * 3, _local1 % 3, addNum4);
_local1++;
}
_local1 = 0;
while (_local1 < numRows) {
findTheOnlyOneB(addNum5[_local1], addNum3, addNum5[Math.floor(_local1 / 3) * 3], numRows, _local1 % 3, addNum1);
_local1++;
}
_local1 = 0;
while (_local1 < numRows) {
findTheOnlyOneB(addNum5[_local1], addNum4, addNum5[_local1 % 3], 1, Math.floor(_local1 / 3), addNum2);
_local1++;
}
}
function methodC() {
isChange = 0;
var _local1 = 0;
while (_local1 < numCells) {
if (cellOkNum[_local1].length == 3) {
var _local2 = _local1 % numRows;
var _local3 = (_local1 - _local2) / numRows;
findTheOnlyOneC(_local1, _local3 * numRows, addNum1);
findTheOnlyOneC(_local1, _local2, addNum2);
findTheOnlyOneC(_local1, addNum5[(Math.floor(_local3 / 3) * 3) + Math.floor(_local2 / 3)], addNum3);
}
_local1++;
}
}
function methodD() {
isChange = 0;
var _local1 = 0;
while (_local1 < numRows) {
findTheOnlyOneD(_local1 * numRows, addNum1);
_local1++;
}
_local1 = 0;
while (_local1 < numRows) {
findTheOnlyOneD(_local1, addNum2);
_local1++;
}
_local1 = 0;
while (_local1 < numRows) {
findTheOnlyOneD(addNum5[_local1], addNum3);
_local1++;
}
}
function methodX() {
isChange = 0;
var _local1 = 0;
while (_local1 < numRows) {
findTheOnlyOneX(addNum2[_local1], addNum1, 0, 1, addNum2);
_local1++;
}
_local1 = 0;
while (_local1 < numRows) {
findTheOnlyOneX(_local1, addNum2, 0, numRows, addNum1);
_local1++;
}
}
function methodF() {
isChange = 0;
findTheOnlyOneF(addNum2, addNum1);
findTheOnlyOneF(addNum1, addNum2);
}
function methodG() {
isChange = 0;
var _local1 = 0;
while (_local1 < numRows) {
findTheOnlyOneG(_local1 * numRows, addNum1);
_local1++;
}
_local1 = 0;
while (_local1 < numRows) {
findTheOnlyOneG(_local1, addNum2);
_local1++;
}
_local1 = 0;
while (_local1 < numRows) {
findTheOnlyOneG(addNum5[_local1], addNum3);
_local1++;
}
}
function methodH() {
isChange = 0;
var _local1 = 0;
while (_local1 < numRows) {
findTheOnlyOneH(_local1 * numRows, addNum1);
_local1++;
}
_local1 = 0;
while (_local1 < numRows) {
findTheOnlyOneH(_local1, addNum2);
_local1++;
}
_local1 = 0;
while (_local1 < numRows) {
findTheOnlyOneH(addNum5[_local1], addNum3);
_local1++;
}
}
function methodI() {
isChange = 0;
var _local1 = 1;
while ((_local1 <= 9) && (isChange == 0)) {
findTheOnlyOneI(_local1, 0);
_local1++;
}
}
function findTheOnlyOneA(st, theAdd) {
var findfg = false;
var _local1 = 0;
var numCount = [];
var _local3 = 0;
while (_local3 <= numRows) {
numCount[_local3] = 0;
_local3++;
}
_local3 = 0;
while (_local3 < numRows) {
_local1 = st + theAdd[_local3];
var _local2 = 1;
while (_local2 < cellOkNum[_local1].length) {
numCount[Number(cellOkNum[_local1].charAt(_local2))]++;
_local2++;
}
_local3++;
}
var op = 1;
while ((op <= 9) && (!findfg)) {
if (numCount[op] == 1) {
findfg = true;
_local3 = 0;
while (_local3 < numRows) {
_local1 = st + theAdd[_local3];
if (cellOkNum[_local1].indexOf(op) >= 0) {
cellOkNum[_local1] = " " + op;
firstCell = _local1;
}
_local3++;
}
}
op++;
}
return(findfg);
}
function findTheOnlyOneB(st, theAdd, st1, st1Add, st1sp, theAdd2) {
var sp = 0;
var numCount = [];
var numSump = [];
var _local2 = 0;
while (_local2 <= numRows) {
numCount[_local2] = 0;
numSump[_local2] = "";
_local2++;
}
_local2 = 0;
while (_local2 < numRows) {
sp = st + theAdd[_local2];
j = Math.floor(_local2 / 3);
var _local3 = 1;
while (_local3 < cellOkNum[sp].length) {
if (numSump[j].indexOf(cellOkNum[sp].charAt(_local3)) < 0) {
numSump[j] = numSump[j] + cellOkNum[sp].charAt(_local3);
}
_local3++;
}
_local2++;
}
_local2 = 0;
while (_local2 < 3) {
var _local3 = 0;
while (_local3 < numSump[_local2].length) {
numCount[Number(numSump[_local2].charAt(_local3))]++;
_local3++;
}
_local2++;
}
var op = 1;
while (op <= 9) {
if (numCount[op] == 1) {
_local2 = 0;
while (_local2 < 3) {
if (numSump[_local2].indexOf(op) >= 0) {
var j = 0;
while (j < numRows) {
var _local3 = Math.floor(j / 3);
if (_local3 != st1sp) {
var _local1 = (st1 + (st1Add * _local2)) + theAdd2[j];
if (cellOkNum[_local1] != " ") {
var nsp = cellOkNum[_local1].indexOf(op);
if (nsp >= 0) {
var pt5 = cellOkNum[_local1];
cellOkNum[_local1] = strDelChar(cellOkNum[_local1], nsp);
trace((((((((((((("B2 \u6578\u5B57 " + op) + " \u50C5\u51FA\u73FE\u5728") + (st + theAdd[_local2 * 3])) + ",") + (st + theAdd[(_local2 * 3) + 1])) + ",") + (st + theAdd[(_local2 * 3) + 2])) + "\u5340\u584A\u4E00\u6B21, \u73FE\u8981\u522A ") + _local1) + " \u539F\u5167\u5BB9=") + pt5) + " \u522A\u5F8C=") + cellOkNum[_local1]);
}
}
}
j++;
}
}
_local2++;
}
}
op++;
}
}
function findTheOnlyOneC(sp, st, theAdd) {
var _local3 = sp;
var i = 0;
while (i < numRows) {
var _local2 = st + theAdd[i];
if ((_local2 > _local3) && (cellOkNum[_local2] == cellOkNum[_local3])) {
var j = 0;
while (j < numRows) {
var _local1 = st + theAdd[j];
if (((_local1 != _local2) && (_local1 != _local3)) && (cellOkNum[_local1] != " ")) {
var nsp = cellOkNum[_local1].indexOf(cellOkNum[_local3].charAt(1));
if (nsp >= 0) {
var pt5 = cellOkNum[_local1];
cellOkNum[_local1] = strDelChar(cellOkNum[_local1], nsp);
trace((((((((((("C2 \u6578\u5C0D " + cellOkNum[_local2]) + " \u51FA\u73FE\u5728=") + _local3) + ",") + _local2) + " \u73FE\u8981\u522A ") + _local1) + " \u539F\u5167\u5BB9=") + pt5) + " \u522A\u5F8C=") + cellOkNum[_local1]);
}
var nsp = cellOkNum[_local1].indexOf(cellOkNum[_local3].charAt(2));
if (nsp >= 0) {
var pt5 = cellOkNum[_local1];
cellOkNum[_local1] = strDelChar(cellOkNum[_local1], nsp);
trace((((((((((("C2 \u6578\u5C0D " + cellOkNum[_local2]) + " \u51FA\u73FE\u5728=") + _local3) + ",") + _local2) + " \u73FE\u8981\u522A ") + _local1) + " \u539F\u5167\u5BB9=") + pt5) + " \u522A\u5F8C=") + cellOkNum[_local1]);
}
}
j++;
}
}
i++;
}
}
function findTheOnlyOneD(st, theAdd) {
var numCount = [];
var _local3 = 0;
while (_local3 <= 9) {
numCount[_local3] = 0;
_local3++;
}
_local3 = 0;
while (_local3 < numRows) {
var sp = (st + theAdd[_local3]);
var k = 1;
while (k < cellOkNum[sp].length) {
numCount[Number(cellOkNum[sp].charAt(k))]++;
k++;
}
_local3++;
}
_local3 = 1;
while (_local3 <= 9) {
if (numCount[_local3] == 2) {
var _local1 = _local3 + 1;
while (_local1 <= 9) {
if (numCount[_local1] == 2) {
var k = 0;
while (k < numRows) {
var sp = (st + theAdd[k]);
if ((cellOkNum[sp].indexOf(_local3) >= 0) && (cellOkNum[sp].indexOf(_local1) >= 0)) {
var m = (k + 1);
while (m < numRows) {
var _local2 = st + theAdd[m];
if ((cellOkNum[_local2].indexOf(_local3) >= 0) && (cellOkNum[_local2].indexOf(_local1) >= 0)) {
if (cellOkNum[sp].length > 3) {
trace(((((("D1 cellOkNum[" + sp) + " ]=") + cellOkNum[sp]) + " ==>") + _local3) + _local1);
isChange = 1;
cellOkNum[sp] = (" " + _local3) + _local1;
}
if (cellOkNum[_local2].length > 3) {
trace(((((("D1 cellOkNum[" + _local2) + " ]=") + cellOkNum[_local2]) + " ==>") + _local3) + _local1);
isChange = 1;
cellOkNum[_local2] = (" " + _local3) + _local1;
}
m = numRows;
k = numRows;
}
m++;
}
}
k++;
}
}
_local1++;
}
}
_local3++;
}
}
function findTheOnlyOneX(st, theAdd, st2, st2add, theAdd2) {
var numCount = [];
var _local3 = 0;
while (_local3 <= 9) {
numCount[_local3] = 0;
_local3++;
}
_local3 = 0;
while (_local3 < numRows) {
var sp = (st + theAdd[_local3]);
var k = 1;
while (k < cellOkNum[sp].length) {
numCount[Number(cellOkNum[sp].charAt(k))]++;
k++;
}
_local3++;
}
_local3 = 1;
while (_local3 <= 9) {
if (numCount[_local3] == 2) {
var j = 0;
while (j < numRows) {
var sp = (st + theAdd[j]);
if (cellOkNum[sp].indexOf(_local3) >= 0) {
var k = (j + 1);
while (k < numRows) {
var sp2 = (st + theAdd[k]);
if (cellOkNum[sp2].indexOf(_local3) >= 0) {
var m = 0;
while (m < numRows) {
var sp3 = ((st2 + (st2add * j)) + theAdd2[m]);
var sp4 = ((st2 + (st2add * k)) + theAdd2[m]);
if (((sp3 != sp) && (cellOkNum[sp3].indexOf(_local3) >= 0)) && (cellOkNum[sp4].indexOf(_local3) >= 0)) {
var nsum = 0;
var n1 = 0;
while (n1 < numRows) {
if (cellOkNum[(st2 + theAdd2[m]) + theAdd[n1]].indexOf(_local3) >= 0) {
nsum++;
}
n1++;
}
if (nsum == 2) {
var m2 = 0;
while (m2 < numRows) {
var _local1 = (st2 + (st2add * j)) + theAdd2[m2];
var _local2 = (st2 + (st2add * k)) + theAdd2[m2];
if (((_local1 != sp) && (_local1 != sp3)) && (cellOkNum[_local1].indexOf(_local3) >= 0)) {
var pt5 = cellOkNum[_local1];
cellOkNum[_local1] = strDelChar(cellOkNum[_local1], cellOkNum[_local1].indexOf(_local3));
trace((((((((((((((("X2 \u6578\u5B57 " + _local3) + " \u51FA\u73FE\u5728\u9802\u9EDE=") + sp) + ",") + sp2) + ",") + sp3) + ",") + sp4) + " \u73FE\u8981\u522A ") + _local1) + " \u539F\u5167\u5BB9=") + pt5) + " \u522A\u5F8C=") + cellOkNum[_local1]);
}
if (((_local2 != sp2) && (_local2 != sp4)) && (cellOkNum[_local2].indexOf(_local3) >= 0)) {
var pt6 = cellOkNum[_local2];
cellOkNum[_local2] = strDelChar(cellOkNum[_local2], cellOkNum[_local2].indexOf(_local3));
trace((((((((((((((("X2 \u6578\u5B57 " + _local3) + " \u51FA\u73FE\u5728\u9802\u9EDE=") + sp) + ",") + sp2) + ",") + sp3) + ",") + sp4) + " \u73FE\u8981\u522A ") + _local2) + " \u539F\u5167\u5BB9=") + pt6) + " \u522A\u5F8C=") + cellOkNum[_local2]);
}
m2++;
}
}
}
m++;
}
k = numRows;
j = numRows;
}
k++;
}
}
j++;
}
}
_local3++;
}
}
function addList(sary, aary) {
var _local2 = sary;
var _local3 = aary;
var _local1 = 0;
while (_local1 < _local3.length) {
if (_local2.indexOf(_local3.charAt(_local1)) < 0) {
_local2 = _local2 + _local3.charAt(_local1);
}
_local1++;
}
return(_local2);
}
function findTheOnlyOneF(theAdd1, theAdd2) {
var numIn = [];
var _local1 = "";
var n = 1;
while (n <= 9) {
var i = 0;
while (i < numRows) {
numIn[i] = "";
var j = 0;
while (j < numRows) {
if (cellOkNum[theAdd1[i] + theAdd2[j]].indexOf(n) >= 0) {
numIn[i] = (numIn[i] + "") + j;
}
j++;
}
i++;
}
var i = 0;
while (i < numRows) {
_local1 = "";
if ((numIn[i].length > 0) && (numIn[i].length < 4)) {
_local1 = addList(_local1, numIn[i]);
var isum = _local1;
var j = (i + 1);
while (j < numRows) {
if ((numIn[j].length > 0) && (numIn[j].length < 4)) {
_local1 = addList(_local1, numIn[j]);
if (_local1.length < 4) {
var jsum = _local1;
var k = (j + 1);
while (k < numRows) {
if ((numIn[k].length > 0) && (numIn[k].length < 4)) {
_local1 = addList(_local1, numIn[k]);
if (_local1.length < 4) {
m = 0;
while (m < _local1.length) {
var sp = Number(_local1.charAt(m));
var _local2 = 0;
while (_local2 < numRows) {
if (((_local2 != i) && (_local2 != j)) && (_local2 != k)) {
var _local3 = theAdd1[_local2] + theAdd2[sp];
var nsp = cellOkNum[_local3].indexOf(n);
if (nsp >= 0) {
var pt5 = cellOkNum[_local3];
cellOkNum[_local3] = strDelChar(cellOkNum[_local3], nsp);
trace((((((((((((("F2 \u6578\u5B57 " + n) + " \u51FA\u73FE\u5728\u95DC\u93C8=") + i) + ",") + j) + ",") + k) + " \u73FE\u8981\u522A ") + _local3) + " \u539F\u5167\u5BB9=") + pt5) + " \u522A\u5F8C=") + cellOkNum[_local3]);
}
}
_local2++;
}
m++;
}
} else {
_local1 = jsum;
}
}
k++;
}
} else {
_local1 = isum;
}
}
j++;
}
}
i++;
}
n++;
}
}
function findTheOnlyOneG(st, theAdd1) {
var _local3 = "";
var i = 0;
while (i < numRows) {
var s1 = (st + theAdd1[i]);
if ((cellOkNum[s1].length > 1) && (cellOkNum[s1].length < 5)) {
_local3 = cellOkNum[s1];
var isum = _local3;
var j = (i + 1);
while (j < numRows) {
var s2 = (st + theAdd1[j]);
if ((cellOkNum[s2].length > 1) && (cellOkNum[s2].length < 5)) {
_local3 = addList(_local3, cellOkNum[s2]);
if (_local3.length < 5) {
var jsum = _local3;
var k = (j + 1);
while (k < numRows) {
var s3 = (st + theAdd1[k]);
if ((cellOkNum[s3].length > 1) && (cellOkNum[s3].length < 5)) {
_local3 = addList(_local3, cellOkNum[s3]);
if (_local3.length < 5) {
m = 1;
while (m < _local3.length) {
var sp = _local3.charAt(m);
var _local1 = 0;
while (_local1 < numRows) {
if (((_local1 != i) && (_local1 != j)) && (_local1 != k)) {
var _local2 = st + theAdd1[_local1];
var nsp = cellOkNum[_local2].indexOf(sp);
if (nsp >= 0) {
var pt5 = cellOkNum[_local2];
cellOkNum[_local2] = strDelChar(cellOkNum[_local2], nsp);
trace((((((((((("G2 \u4E09\u500D\u6578\u51FA\u73FE\u5728\u95DC\u93C8=" + s1) + ",") + s2) + ",") + s3) + " \u73FE\u8981\u522A ") + _local2) + " \u539F\u5167\u5BB9=") + pt5) + " \u522A\u5F8C=") + cellOkNum[_local2]);
}
}
_local1++;
}
m++;
}
} else {
_local3 = jsum;
}
}
k++;
}
} else {
_local3 = isum;
}
}
j++;
}
}
i++;
}
}
function findTheOnlyOneH(st, theAdd) {
var numIn = [];
var _local3 = "";
var n = 1;
while (n <= 9) {
numIn[n] = "";
var i = 0;
while (i < numRows) {
var sp = (st + theAdd[i]);
if (cellOkNum[sp].indexOf(n) >= 0) {
numIn[n] = (numIn[n] + "") + i;
}
i++;
}
n++;
}
var i = 1;
while (i <= 9) {
if ((numIn[i].length > 0) && (numIn[i].length < 4)) {
_local3 = numIn[i];
var isum = _local3;
var j = (i + 1);
while (j <= 9) {
if ((numIn[j].length > 0) && (numIn[j].length < 4)) {
_local3 = addList(_local3, numIn[j]);
if (_local3.length < 4) {
var jsum = _local3;
var k = (j + 1);
while (k <= 9) {
if ((numIn[k].length > 0) && (numIn[k].length < 4)) {
_local3 = addList(_local3, numIn[k]);
if (_local3.length < 4) {
var m = 0;
while (m < _local3.length) {
var m1 = Number(_local3.charAt(m));
var _local1 = st + theAdd[m1];
var _local2 = 1;
while (_local2 < cellOkNum[_local1].length) {
var op2 = Number(cellOkNum[_local1].charAt(_local2));
if (((op2 != i) && (op2 != j)) && (op2 != k)) {
var pt5 = cellOkNum[_local1];
cellOkNum[_local1] = strDelChar(cellOkNum[_local1], _local2);
_local2--;
trace((((((((((((("H2 \u96B1\u6027\u4E09\u500D\u6578" + i) + ",") + j) + ",") + k) + "\u51FA\u73FE\u5728\u95DC\u93C8=") + st) + " \u73FE\u8981\u522A ") + _local1) + " \u539F\u5167\u5BB9=") + pt5) + " \u522A\u5F8C=") + cellOkNum[_local1]);
}
_local2++;
}
m++;
}
} else {
_local3 = jsum;
}
}
k++;
}
} else {
_local3 = isum;
}
}
j++;
}
}
i++;
}
}
function setNonI0(sp, tt, pt) {
var _local2 = sp;
var _local1 = true;
tt[_local2] = 2;
var _local3 = _local2 % numRows;
var cx = Math.floor(_local3 / 3);
var ty = ((_local2 - _local3) / numRows);
var cc = ((Math.floor(ty / 3) * 3) + cx);
_local1 = setNonI1(_local2, addNum2[ty], addNum1, tt, pt);
if (_local1) {
_local1 = setNonI1(_local2, _local3, addNum2, tt, pt);
}
if (_local1) {
_local1 = setNonI1(_local2, addNum5[cc], addNum3, tt, pt);
}
return(_local1);
}
function setNonI1(sp, st, theAdd, tt, pt) {
var _local3 = tt;
var okfg = true;
var _local2 = 0;
while ((_local2 < numRows) && (okfg)) {
var _local1 = st + theAdd[_local2];
if (_local3[_local1] == 1) {
_local3[_local1] = -1;
pt.push(_local1);
} else if ((_local3[_local1] == 2) && (sp != _local1)) {
okfg = false;
}
_local2++;
}
return(okfg);
}
function setNonI2(sp, tt, psp) {
var _local1 = true;
var _local2 = sp % numRows;
var cx = Math.floor(_local2 / 3);
var _local3 = (sp - _local2) / numRows;
var cc = ((Math.floor(_local3 / 3) * 3) + cx);
_local1 = setNonI3(addNum2[_local3], addNum1, tt, psp);
if (_local1) {
_local1 = setNonI3(_local2, addNum2, tt, psp);
}
if (_local1) {
_local1 = setNonI3(addNum5[cc], addNum3, tt, psp);
}
return(_local1);
}
function setNonI3(st, theAdd, tt, psp) {
var _local3 = tt;
var okfg = 0;
var ttp = 0;
var _local2 = 0;
while (_local2 < numRows) {
var _local1 = st + theAdd[_local2];
if (_local3[_local1] > 0) {
okfg = okfg + _local3[_local1];
if (_local3[_local1] == 1) {
ttp = _local1;
}
}
_local2++;
}
if (okfg == 1) {
psp.push(ttp);
}
return(okfg > 0);
}
function findTheOnlyOneI(n, opfg) {
var tt = [];
var _local3 = [];
var _local2 = [];
var _local1 = 0;
var okfg = true;
var opsp = [];
var i = 0;
while (i < numCells) {
tt[i] = ((cellOkNum[i].indexOf(n) >= 0) ? 1 : 0);
i++;
}
var i = 0;
while ((i < numCells) && (okfg)) {
if (tt[i] == 1) {
_local2.push(i);
var ttStr = tt.join(",");
do {
_local1 = _local2.pop();
setNonI0(_local1, tt, _local3);
if (okfg && (_local2.length == 0)) {
while ((okfg && (_local3.length > 0)) && (_local2.length == 0)) {
_local1 = _local3.pop();
okfg = setNonI2(_local1, tt, _local2);
}
}
} while (okfg && (_local2.length > 0));
if (!okfg) {
if (opfg == 1) {
cellOkNum[i] = strDelChar(cellOkNum[i], cellOkNum[i].indexOf(n));
trace(((("I22 \u95DC\u9375\u6578\u522A\u6E1B\u6CD5 n=" + n) + "\u5728 ") + i) + " \u4E0D\u53EF\u70BA\u771F");
} else {
tt = ttStr.split(",");
clearList(opsp);
clearList(_local3);
clearList(_local2);
tt[i] = -1;
_local3.push(i);
do {
while (_local3.length > 0) {
_local1 = _local3.pop();
opsp.push(_local1);
okfg = setNonI2(_local1, tt, _local2);
}
while (_local2.length > 0) {
_local1 = _local2.pop();
setNonI0(_local1, tt, _local3);
}
} while ((_local3.length > 0) || (_local2.length > 0));
trace(((("I2 \u95DC\u9375\u6578\u522A\u6E1B\u6CD5 n=" + n) + "\u5728 ") + opsp.join(",")) + " \u4E0D\u53EF\u70BA\u771F");
while (opsp.length > 0) {
_local1 = opsp.pop();
cellOkNum[_local1] = strDelChar(cellOkNum[_local1], cellOkNum[_local1].indexOf(n));
}
}
} else {
tt = ttStr.split(",");
}
}
i++;
}
}
function setTheStart(st, theAdd, n) {
var _local3;
var _local1 = 0;
while (_local1 < numRows) {
_local3 = st + theAdd[_local1];
var _local2 = cellOkNum[_local3].indexOf(n);
if (_local2 >= 0) {
StrDelOne(_local3, _local2);
}
_local1++;
}
}
function setChessnum(sp, n) {
var _local2 = sp;
var _local1 = _local2 % numRows;
var _local3 = (_local2 - _local1) / numRows;
cellOkNum[_local2] = " ";
setTheStart(_local2 - _local1, addNum1, n);
setTheStart(_local1, addNum2, n);
var x1 = (_local1 - (_local1 % 3));
var y1 = (_local3 - (_local3 % 3));
setTheStart((y1 * numRows) + x1, addNum3, n);
}
function setTheNum2(st, theAdd, n) {
var _local2 = 0;
while (_local2 < numRows) {
var _local1 = st + theAdd[_local2];
var _local3 = _root["p" + _local1].n2.indexOf(n);
if (_local3 >= 0) {
_root["p" + _local1].n2 = strDelChar(_root["p" + _local1].n2, _local3);
}
_local2++;
}
}
function setNum2(sp, n) {
var _local2 = sp;
var _local1 = _local2 % numRows;
var _local3 = (_local2 - _local1) / numRows;
_root["p" + _local2].n2 = "";
setTheNum2(_local2 - _local1, addNum1, n);
setTheNum2(_local1, addNum2, n);
var x1 = (_local1 - (_local1 % 3));
var y1 = (_local3 - (_local3 % 3));
setTheNum2((y1 * numRows) + x1, addNum3, n);
}
function reLoadNum2() {
var _local2 = _root;
if ((numShowfg % 2) == 0) {
} else {
var _local1 = 0;
while (_local1 < numCells) {
_local2["p" + _local1].n2 = "123456789";
_local1++;
}
_local1 = 0;
while (_local1 < numCells) {
if (_local2["p" + _local1].n != " ") {
setNum2(_local1, _local2["p" + _local1].n);
}
_local1++;
}
}
}
function clearNum2() {
var _local2 = _root;
var _local1 = 0;
while (_local1 < numCells) {
_local2["p" + _local1].n2 = "";
_local1++;
}
}
function clearBack() {
var _local2 = _root;
var _local1 = 0;
while (_local1 < numCells) {
_local2["p" + _local1].pn = 0;
if (_local1 != DragSp) {
setOneChess(_local1, 0);
}
_local1++;
}
}
function ShowAllChess() {
var sp;
cellboard._alpha = 100;
var j = 0;
while (j < numCells) {
var p = eval ("p" + j);
var x1 = (j % numRows);
p._x = PieceX(x1);
p._y = PieceY((j - x1) / numRows);
p.bb._visible = (theSelectNum == p.n) && (circleSet == 1);
j++;
}
}
function HideAllChess() {
var sp;
var j = 0;
while (j < numCells) {
var p = eval ("p" + j);
p._x = (p._y = -200);
j++;
}
cellboard._alpha = 0;
}
function setOneChess(sp, n) {
var _local1 = sp;
var _local2 = _root;
if (_local1 < 0) {
} else {
switch (n) {
case 3 :
_local2["p" + _local1].gotoAndStop(3);
return;
case 0 :
if (_local2["p" + _local1].pn > 0) {
_local2["p" + _local1].gotoAndStop(_local2["p" + _local1].pn);
} else if (colorSet == 1) {
var x2 = (Math.floor((_local1 % numRows) / 3) % 2);
var _local3 = Math.floor(Math.floor(_local1 / numRows) / 3) % 2;
if (x2 == _local3) {
_local2["p" + _local1].gotoAndStop(2);
} else {
_local2["p" + _local1].gotoAndStop(1);
}
} else {
_local2["p" + _local1].gotoAndStop(1);
}
}
}
}
function selectNum(sp) {
var _local1 = sp;
if (_local1 == " ") {
_local1 = 0;
}
theSelectNum = ((theSelectNum == _local1) ? -1 : (_local1));
ShowBtSay(0);
}
function setoneNum(keyn) {
var _local2 = keyn;
var op = 0;
var _local1 = _root["p" + DragSp];
if (editpk._currentframe > 2) {
_local1.pn = ((_local1.pn == (editpk._currentframe + 1)) ? 0 : (editpk._currentframe + 1));
setOneChess(DragSp, 0);
} else if (editpk._currentframe == 2) {
var _local3 = "" + _root["p" + DragSp].n2;
var findfg = _local3.indexOf(_local2);
if (findfg >= 0) {
_local3 = strDelChar(_local3, findfg);
} else if (!((_local2 == " ") || (_local2 == "0"))) {
_local3 = _local3 + _local2;
var tt1 = _local3.split("");
tt1.sort();
_local3 = tt1.join("");
}
_root["p" + DragSp].n2 = _local3;
} else {
var my_color = new Color(_local1.nt);
if (((my_color.getRGB() == testColor) && (_local1.n != " ")) && (setBt._visible)) {
return(op);
}
if ((_local2 == " ") || (_local2 == "0")) {
if (_local1.n != " ") {
backList.push(_local1.n + DragSp);
clearList(nextList);
_local1.n = " ";
op = 1;
reLoadNum2();
editCount++;
}
} else {
if (gameStart == 0) {
gameStart = 1;
}
var findfg = cellOkNum[DragSp].indexOf(_local2);
if ((findfg >= 0) || (sayLevel == 0)) {
backList.push(_local1.n + DragSp);
clearList(nextList);
my_color.setRGB(theColor);
_local1.n = _local2;
setNum2(DragSp, _local2);
editCount++;
} else {
var fx = (DragSp % numRows);
var fy = ((DragSp - fx) / numRows);
if (toSayStr != "") {
toSayStr = toSayStr + newline;
}
toSayStr = (((((toSayStr + _local2) + "\u4E0D\u53EF\u586B\u5165(") + (fy + 1)) + ",") + (fx + 1)) + ")";
}
op = 1;
}
}
maxStep1 = 0;
return(op);
}
function setNum(chCode) {
var _local1 = 0;
switch (chCode) {
case 40 :
setOneChess(DragSp, 0);
DragSp = DragSp + numRows;
if (DragSp >= numCells) {
DragSp = DragSp - numCells;
}
setOneChess(DragSp, 3);
break;
case 38 :
setOneChess(DragSp, 0);
DragSp = DragSp - numRows;
if (DragSp < 0) {
DragSp = DragSp + numCells;
}
setOneChess(DragSp, 3);
break;
case 37 :
setOneChess(DragSp, 0);
DragSp = DragSp - 1;
if (DragSp < 0) {
DragSp = numCells - 1;
}
setOneChess(DragSp, 3);
break;
case 39 :
setOneChess(DragSp, 0);
DragSp = DragSp + 1;
if (DragSp >= numCells) {
DragSp = 0;
}
setOneChess(DragSp, 3);
break;
case 32 :
_local1 = setoneNum(" ");
setOneChess(DragSp, 0);
DragSp = DragSp + 1;
if (DragSp >= numCells) {
DragSp = 0;
}
setOneChess(DragSp, 3);
break;
default :
var _local2 = String.fromCharCode(Key.getAscii());
if ((_local2 >= "0") && (_local2 <= "9")) {
_local1 = setoneNum(_local2);
}
setOneChess(DragSp, 0);
DragSp = DragSp + 1;
if (DragSp >= numCells) {
DragSp = 0;
}
setOneChess(DragSp, 3);
}
ShowBtSay(_local1);
}
function SetEnabled(op, fg) {
var _local1 = op;
if (fg) {
_local1._alpha = 100;
_local1.enabled = true;
} else {
_local1._alpha = 20;
_local1.enabled = false;
}
}
function SetAllEnabled(fg) {
var _local1 = fg;
setEnabled(setBt, _local1);
setEnabled(newGameBt, _local1);
setEnabled(goStartBt, _local1);
setEnabled(backBt, _local1);
setEnabled(nextBt, _local1);
setEnabled(goEndBt, _local1);
setEnabled(getAnsBt, _local1);
setEnabled(mySayBt, _local1);
setEnabled(GetAns1Bt, _local1);
setEnabled(numShowBt, _local1);
setEnabled(editpk, _local1);
setEnabled(num1ShowBt, _local1);
setEnabled(clearNum2Bt, _local1);
setEnabled(clearBackBt, _local1);
setEnabled(broadColorBt, _local1);
setEnabled(circleSetBt, _local1);
setEnabled(GetAns2Bt, _local1);
setEnabled(saveGameBt, _local1);
setEnabled(loadGameBt, _local1);
}
function isOnly(st, theAdd) {
var findfg = false;
var _local3 = [];
var _local1 = 0;
while (_local1 <= numRows) {
_local3[_local1] = 0;
_local1++;
}
_local1 = 0;
while (_local1 < numRows) {
var _local2 = _root["p" + (st + theAdd[_local1])];
if ((_local2.n == " ") || ((++_local3[Number(_local2.n)]) > 1)) {
findfg = true;
}
_local1++;
}
return(findfg);
}
function isCheckOk() {
var _local1 = false;
var _local2 = 0;
var _local3 = 0;
while ((_local2 < 9) && (!_local1)) {
_local1 = isOnly(_local3, addNum1);
_local2++;
_local3 = _local3 + numRows;
}
_local2 = 0;
while ((_local2 < 9) && (!_local1)) {
_local1 = isOnly(_local2, addNum2);
_local2++;
}
_local2 = 0;
_local3 = 0;
while ((_local2 < 9) && (!_local1)) {
_local1 = isOnly(addNum5[_local2], addNum3);
_local2++;
}
return(!_local1);
}
function ShowBtSay(op) {
var _local2 = _root;
ShowAllChess();
if (op == 1) {
getAllCellnum();
}
if (winfg == -200) {
gameStart = 2;
OkMv.gotoAndPlay("end");
} else if ((winfg == 0) && (isCheckOk())) {
gameStart = 2;
OkMv.gotoAndPlay("ok");
} else {
OkMv.gotoAndStop("space");
}
SetAllEnabled(true);
if (backList.length == 0) {
setEnabled(backBt, false);
setEnabled(goStartBt, false);
}
if (nextList.length == 0) {
setEnabled(nextBt, false);
setEnabled(goEndBt, false);
}
var _local1 = 1;
while (_local1 < 10) {
_local2["sn" + _local1].n2 = ((usedNum[_local1] == 0) ? " " : (usedNum[_local1]));
_local1++;
}
_local1 = 0;
while (_local1 < 10) {
_local2["sn" + _local1].gotoAndStop(1);
_local1++;
}
if (theSelectNum >= 0) {
_local2["sn" + theSelectNum].gotoAndStop(2);
}
trace(" backList=" + backList);
trace(((((((((((" DragSp=" + DragSp) + " firstCell=") + firstCell) + " ok=") + cellOkNum[firstCell]) + " winfg=") + winfg) + " sayLevel=") + sayLevel) + " maxStep=") + maxStep);
if (((gameStart > 0) && (cellOkNum[DragSp] != " ")) && (sayLevel == 2)) {
var _local3 = DragSp % numRows;
var fy = ((DragSp - _local3) / numRows);
if (toSayStr != "") {
toSayStr = toSayStr + newline;
}
toSayStr = (((((toSayStr + "(") + (fy + 1)) + ",") + (_local3 + 1)) + ")\u53EA\u53EF\u586B\u5165\uFF1A") + cellOkNum[DragSp];
}
if ((falseCell >= 0) && (!((sayLevel == 0) || (winfg == -200)))) {
var _local3 = falseCell % numRows;
var fy = ((falseCell - _local3) / numRows);
if (toSayStr != "") {
toSayStr = toSayStr + newline;
}
toSayStr = ((((toSayStr + "(") + (fy + 1)) + ",") + (_local3 + 1)) + ") \u5C07\u7121\u6578\u53EF\u586B\uFF01";
falseCell = -1;
}
theSayStr = toSayStr;
toSayStr = "";
}
function saveGame() {
sobj.data.testStr = testStr;
while (backList.length > 0) {
backOneStep();
}
sobj.data.nextStr = ((nextList.length > 0) ? ((nextStr = nextList.join(","))) : "");
sobj.flush();
while (nextList.length > 0) {
nextOneStep(0);
}
}
function loadGame() {
var _local2 = _root;
if (sobj.data.testStr != undefined) {
testStr = sobj.data.testStr;
getNewGame(0, 0, 1000);
clearList(backList);
if ((sobj.data.nextStr != undefined) && (sobj.data.nextStr != "")) {
nextStr = sobj.data.nextStr;
nextList = nextStr.split(",");
trace((("nextList=" + nextList) + " nextList.length=") + nextList.length);
while (nextList.length > 0) {
nextOneStep(1);
}
}
sn0.n = " ";
sn0.n2 = " ";
var _local1 = 1;
while (_local1 < 10) {
_local2["sn" + _local1].n = _local1;
_local1++;
}
setOneChess(DragSp, 3);
theColor = ansColor;
ShowBtSay(1);
}
}
function backOneStep() {
if (backList.length > 0) {
setOneChess(DragSp, 0);
var _local1 = backList.pop();
var _local3 = _local1.substring(0, 1);
var _local2 = _local1.substring(1);
DragSp = Number(_local2);
setOneChess(DragSp, 3);
nextList.push(("" + _root["p" + DragSp].n) + DragSp);
_root["p" + DragSp].n = _local3;
maxStep1 = 0;
}
}
function nextOneStep(fg) {
if (nextList.length > 0) {
setOneChess(DragSp, 0);
var _local2 = nextList.pop();
var _local1 = _local2.substring(0, 1);
var t2 = _local2.substring(1);
DragSp = Number(t2);
setOneChess(DragSp, 3);
backList.push(("" + _root["p" + DragSp].n) + DragSp);
if (fg == 1) {
var _local3 = new Color(_root["p" + DragSp].nt);
_local3.setRGB(ansColor);
}
_root["p" + DragSp].n = _local1;
setChessnum(DragSp, _local1);
usedNum[_local1]--;
setNum2(DragSp, _local1);
maxStep1 = 0;
}
}
function \u6E05\u9664\u672C\u55AE\u5143\u5019\u9078\u6578(mode, st, theAdd) {
var _local2 = theAdd;
var _local3 = st;
var _local1 = 0;
while (_local1 < numRows) {
_root["p" + (_local3 + _local2[_local1])].n2 = "";
_local1++;
}
}
function \u88FD\u4F5C\u6578\u5B57\u5730\u5716(num) {
var _local1 = _root;
var _local3 = num;
if (_local3 < 0) {
} else {
var _local2 = 0;
while (_local2 < numCells) {
if (_local1["p" + _local2].n == " ") {
_local1["p" + _local2].n2 = "" + _local3;
} else {
_local1["p" + _local2].n2 == "";
}
_local2++;
}
_local2 = 0;
while (_local2 < numCells) {
if (_local1["p" + _local2].n == _local3) {
\u6E05\u9664\u672C\u55AE\u5143\u5019\u9078\u6578(2, bst[_local2], addNum3);
}
_local2++;
}
_local2 = 0;
while (_local2 < numCells) {
if (_local1["p" + _local2].n == _local3) {
\u6E05\u9664\u672C\u55AE\u5143\u5019\u9078\u6578(0, yst[_local2], addNum1);
}
_local2++;
}
_local2 = 0;
while (_local2 < numCells) {
if (_local1["p" + _local2].n == _local3) {
\u6E05\u9664\u672C\u55AE\u5143\u5019\u9078\u6578(1, xst[_local2], addNum2);
}
_local2++;
}
}
}
function pcThink() {
if (gameStart == 0) {
gameStart = 1;
}
SetAllEnabled(false);
clearNum2();
clearList(pcBack);
oldPlay = -1;
oldNum = 1;
isGuess = 0;
gofg = 1;
timeSum = 0;
getNewfg = 0;
getAllCellnum();
trace(" =============== pc Game Start =================");
if (winfg < 0) {
winfg = -200;
ShowBtSay(0);
} else {
Thinking();
}
}
function pcThinkEnd() {
trace(" pcBack=" + pcBack);
trace(" backList=" + backList);
while (pcBack.length > 0) {
var _local1 = pcBack.shift();
backList.push(" " + _local1.substring(1));
}
reLoadnum2();
ShowBtSay(0);
}
function Thinking() {
var _local3 = _root;
clearInterval(TheDownLoop);
winRun = 1;
do {
if (gofg == 0) {
if (pcBack.length == 0) {
winfg = -200;
} else {
do {
if (pcBack.length == 0) {
winfg = -200;
} else {
var _local2 = pcBack.pop();
oldPlay = Number(_local2.substring(1));
oldNum = Number(_local2.substring(0, 1)) + 1;
var _local1 = _local3["p" + oldPlay];
usedNum[_local1.n]++;
_local1.n = " ";
var my_color = new Color(_local1.nt);
}
} while ((my_color.getRGB() == ansColor) && (winfg >= 0));
if (winfg >= 0) {
getAllCellnum();
firstCell = oldPlay;
}
}
}
if ((gofg == 0) && (winfg > 0)) {
if (cellOkNum[firstCell].length > oldNum) {
gofg = 1;
}
} else if (falseCell >= 0) {
gofg = 0;
} else {
oldNum = 1;
}
trace((((((((("==>firstCell=" + firstCell) + " cellOkNum[]=") + cellOkNum[firstCell]) + " winfg=") + winfg) + " gofg=") + gofg) + " oldNum=") + oldNum);
if (gofg == 1) {
if (cellOkNum[firstCell].length > 2) {
theColor = guessColor;
isGuess = 1;
} else {
theColor = ansColor;
}
var my_color = new Color(_local3["p" + firstCell].nt);
my_color.setRGB(theColor);
_local3["p" + firstCell].n = cellOkNum[firstCell].charAt(oldNum);
pcBack.push(("" + oldNum) + firstCell);
setChessnum(firstCell, _local3["p" + firstCell].n);
usedNum[_local3["p" + firstCell].n]--;
findTheFirst(1);
}
} while ((winfg > 0) && ((--winRun) > 0));
if (((winfg > 0) && (!thinkStep)) && (!((getNewfg > 0) && (isGuess > 0)))) {
TheDownLoop = setInterval(Thinking, 10);
} else if (getNewfg > 0) {
getNewEnd();
} else {
pcThinkEnd();
}
}
function theTimer() {
if (winfg > 0) {
if (gameStart > 0) {
timeSum++;
}
var _local1 = timeSum % 60;
var _local2 = _local1 % 10;
timeShow.s = ("" + ((_local1 - _local2) / 10)) + _local2;
var _local3 = (timeSum - _local1) / 60;
_local1 = _local3 % 60;
_local3 = (_local3 - _local1) / 60;
_local2 = _local1 % 10;
timeShow.m = ("" + ((_local1 - _local2) / 10)) + _local2;
timeShow.h = _local3;
}
pctime++;
}
if (!initialized) {
Initialize();
initialized = true;
stop();
}
cellboard.onrelease = function () {
var _local2 = _root;
var _local1 = 0;
if (hitTest(_local2._xmouse, _local2._ymouse, false)) {
setOneChess(DragSp, 0);
var px = Math.floor(((_local2._xmouse - cellboard._x) + (cellboard._width / 2)) / xSpace);
var _local3 = Math.floor(((_local2._ymouse - cellboard._y) + (cellboard._Height / 2)) / ySpace);
DragSp = (_local3 * numRows) + px;
setOneChess(DragSp, 3);
if ((theSelectNum >= 0) || (editpk._currentframe > 2)) {
_local1 = setoneNum(theSelectNum);
}
}
ShowBtSay(_local1);
};
backBt.onrelease = function () {
backOneStep();
reLoadNum2();
ShowBtSay(1);
};
goStartBt.onrelease = function () {
while (backList.length > 0) {
backOneStep();
}
reLoadNum2();
ShowBtSay(1);
};
nextBt.onrelease = function () {
nextOneStep(0);
findTheFirst(1);
ShowBtSay(0);
};
goEndBt.onrelease = function () {
while (nextList.length > 0) {
nextOneStep(0);
}
findTheFirst(1);
ShowBtSay(0);
};
NewGameBt.onrelease = function () {
ToReStart(0);
};
numShowBt.onrelease = function () {
numShowfg = 1;
reLoadNum2();
};
num1ShowBt.onrelease = function () {
\u88FD\u4F5C\u6578\u5B57\u5730\u5716(theSelectNum);
};
clearBackBt.onrelease = function () {
clearBack();
};
clearNum2Bt.onrelease = function () {
if (numShowfg == 1) {
numShowfg = 2;
}
clearNum2();
};
GetAnsBt.onrelease = function () {
thinkStep = 0;
pcThink();
};
GetAns1Bt.onrelease = function () {
trace(((" firstCell=" + firstCell) + " firstCell._currentframe=") + _root["p" + firstCell]._currentframe);
if (cellOkNum[firstCell].length > 2) {
if (toSayStr != "") {
toSayStr = toSayStr + newline;
}
toSayStr = toSayStr + "\u4E0B\u4E00\u6B65\u9808\u8981\u731C\u6E2C\uFF0C\u7121\u6CD5\u63D0\u793A\uFF01";
} else if ((DragSp == firstCell) && (_root["p" + firstCell]._currentframe == 3)) {
var _local1 = setoneNum(Number(cellOkNum[firstCell].charAt(1)));
ShowBtSay(_local1);
} else {
if (toSayStr != "") {
toSayStr = toSayStr + newline;
}
switch (maxStep1) {
case 0 :
toSayStr = toSayStr + "\u51FA\u73FE\u552F\u4E00\u5019\u9078\u6578\u4E86\uFF01";
break;
case 1 :
toSayStr = toSayStr + "\u9019\u88E1\u6709\u96B1\u6027\u552F\u4E00\u5019\u9078\u6578\u3002";
break;
case 2 :
toSayStr = toSayStr + "\u9700\u8981\u904B\u7528\u6578\u5C0D\u522A\u6E1B\u6CD5";
break;
case 3 :
toSayStr = toSayStr + "\u9700\u8981\u904B\u7528\u5340\u584A\u522A\u6E1B\u6CD5";
break;
case 4 :
toSayStr = toSayStr + "\u9700\u8981\u904B\u7528\u96B1\u6027\u6578\u5C0D\u522A\u6E1B\u6CD5";
break;
case 5 :
toSayStr = toSayStr + "\u9700\u8981\u904B\u7528\u77E9\u5F62\u9802\u9EDE\u522A\u6E1B\u6CD5";
break;
case 6 :
toSayStr = toSayStr + "\u9700\u8981\u904B\u7528\u4E09\u93C8\u5217\u522A\u6E1B\u6CD5";
break;
case 7 :
toSayStr = toSayStr + "\u9700\u8981\u904B\u7528\u4E09\u93C8\u6578\u522A\u6E1B\u6CD5";
break;
case 8 :
toSayStr = toSayStr + "\u9700\u8981\u904B\u7528\u96B1\u6027\u4E09\u93C8\u6578\u522A\u6E1B\u6CD5";
break;
case 9 :
toSayStr = toSayStr + "\u9700\u8981\u904B\u7528\u95DC\u9375\u6578\u522A\u6E1B\u6CD5";
}
maxStep1 = 0;
setOneChess(DragSp, 0);
DragSp = firstCell;
setOneChess(DragSp, 3);
ShowBtSay(0);
}
};
GetAns2Bt.onrelease = function () {
trace(((" firstCell=" + firstCell) + " firstCell._currentframe=") + _root["p" + firstCell]._currentframe);
if (cellOkNum[firstCell].length > 2) {
if (toSayStr != "") {
toSayStr = toSayStr + newline;
}
toSayStr = toSayStr + "\u4E0B\u4E00\u6B65\u9808\u8981\u731C\u6E2C\uFF0C\u7121\u6CD5\u63D0\u793A\uFF01";
} else if ((DragSp == firstCell) && (_root["p" + firstCell]._currentframe == 3)) {
var _local1 = setoneNum(Number(cellOkNum[firstCell].charAt(1)));
ShowBtSay(_local1);
} else {
var _local1 = cellOkNum[firstCell].charAt(1);
if (toSayStr != "") {
toSayStr = toSayStr + newline;
}
switch (maxStep1) {
case 0 :
toSayStr = ((toSayStr + "\u51FA\u73FE\u552F\u4E00\u5019\u9078\u6578 ") + _local1) + " \u4E86\uFF01";
break;
case 1 :
toSayStr = ((toSayStr + "\u9019\u88E1\u6709\u96B1\u6027\u552F\u4E00\u5019\u9078\u6578 ") + _local1) + " ";
break;
case 2 :
toSayStr = ((toSayStr + "\u89E3: ") + _local1) + " \u9700\u8981\u904B\u7528\u6578\u5C0D\u522A\u6E1B\u6CD5";
break;
case 3 :
toSayStr = ((toSayStr + "\u89E3: ") + _local1) + " \u9700\u8981\u904B\u7528\u5340\u584A\u522A\u6E1B\u6CD5";
break;
case 4 :
toSayStr = ((toSayStr + "\u89E3: ") + _local1) + " \u9700\u8981\u904B\u7528\u96B1\u6027\u6578\u5C0D\u522A\u6E1B\u6CD5";
break;
case 5 :
toSayStr = ((toSayStr + "\u89E3: ") + _local1) + " \u9700\u8981\u904B\u7528\u77E9\u5F62\u9802\u9EDE\u522A\u6E1B\u6CD5";
break;
case 6 :
toSayStr = ((toSayStr + "\u89E3: ") + _local1) + " \u9700\u8981\u904B\u7528\u4E09\u93C8\u5217\u522A\u6E1B\u6CD5";
break;
case 7 :
toSayStr = ((toSayStr + "\u89E3: ") + _local1) + " \u9700\u8981\u904B\u7528\u4E09\u93C8\u6578\u522A\u6E1B\u6CD5";
break;
case 8 :
toSayStr = ((toSayStr + "\u89E3: ") + _local1) + " \u9700\u8981\u904B\u7528\u96B1\u6027\u4E09\u93C8\u6578\u522A\u6E1B\u6CD5";
break;
case 9 :
toSayStr = ((toSayStr + "\u89E3: ") + _local1) + " \u9700\u8981\u904B\u7528\u95DC\u9375\u6578\u522A\u6E1B\u6CD5";
}
maxStep1 = 0;
setOneChess(DragSp, 0);
DragSp = firstCell;
setOneChess(DragSp, 3);
ShowBtSay(0);
}
};
setBt.onrelease = function () {
theColor = testColor;
editCount = 0;
gotoAndStop ("SetFm");
sayLevelBt.gotoAndStop(sayLevel + 1);
testStepBt.gotoAndStop(testStep + 1);
colorSetBt.gotoAndStop(colorSet);
};
MySayBt.onrelease = function () {
HideAllChess();
gotoAndStop ("MyFm");
};
Instance of Symbol 15 MovieClip "cellboard" in Frame 1
onClipEvent (keyDown) {
var chCode = Key.getCode();
_root.setNum(chCode);
}
Instance of Symbol 21 MovieClip "sn0" in Frame 1
on (release) {
_root.selectNum(this.n);
}
Instance of Symbol 21 MovieClip "sn1" in Frame 1
on (release) {
_root.selectNum(this.n);
}
Instance of Symbol 21 MovieClip "sn2" in Frame 1
on (release) {
_root.selectNum(this.n);
}
Instance of Symbol 21 MovieClip "sn3" in Frame 1
on (release) {
_root.selectNum(this.n);
}
Instance of Symbol 21 MovieClip "sn4" in Frame 1
on (release) {
_root.selectNum(this.n);
}
Instance of Symbol 21 MovieClip "sn5" in Frame 1
on (release) {
_root.selectNum(this.n);
}
Instance of Symbol 21 MovieClip "sn6" in Frame 1
on (release) {
_root.selectNum(this.n);
}
Instance of Symbol 21 MovieClip "sn7" in Frame 1
on (release) {
_root.selectNum(this.n);
}
Instance of Symbol 21 MovieClip "sn8" in Frame 1
on (release) {
_root.selectNum(this.n);
}
Instance of Symbol 21 MovieClip "sn9" in Frame 1
on (release) {
_root.selectNum(this.n);
}
Instance of Symbol 107 MovieClip "broadColorBt" in Frame 1
on (release) {
gotoAndStop(3 - this._currentframe);
_root.colorSet = this._currentframe;
_root.sobj.data.colorSet = _root.colorSet;
_root.sobj.flush();
_root.reShowboard();
}
Instance of Symbol 110 MovieClip "circleSetBt" in Frame 1
on (release) {
gotoAndStop(3 - this._currentframe);
_root.circleSet = this._currentframe;
_root.sobj.data.circleSet = _root.circleSet;
_root.sobj.flush();
_root.ShowAllChess();
}
Instance of Symbol 120 MovieClip "editpk" in Frame 1
on (release) {
if (this._currentframe == 5) {
gotoAndStop (1);
} else {
gotoAndStop(this._currentframe + 1);
}
}
onClipEvent (mouseMove) {
if (hitTest(_root._xmouse, _root._ymouse, false) && (this.enabled)) {
this.say1._visible = true;
this.say1._width = 160;
this.say1._height = 80;
this.say1._x = 120;
this.say1._y = -20;
} else {
this.say1._visible = false;
this.say1._width = 60;
this.say1._height = 30;
this.say1._x = 0;
this.say1._y = 20;
}
}
Instance of Symbol 143 MovieClip "sayLevelBt" in Frame 4
on (release) {
if (_currentframe == 3) {
gotoAndStop (1);
} else {
gotoAndStop(_currentframe + 1);
}
}
Instance of Symbol 149 MovieClip "testStepBt" in Frame 4
on (release) {
if (_currentframe == 4) {
gotoAndStop (1);
} else {
gotoAndStop(_currentframe + 1);
}
}
Symbol 15 MovieClip Frame 1
stop();
Symbol 15 MovieClip Frame 2
gotoAndStop (1);
Symbol 15 MovieClip Frame 3
gotoAndStop (1);
Symbol 21 MovieClip Frame 1
stop();
Symbol 28 MovieClip Frame 1
stop();
Symbol 33 MovieClip Frame 1
stop();
Symbol 33 MovieClip Frame 11
stop();
Symbol 33 MovieClip Frame 21
stop();
Symbol 61 Button
on (release) {
_root.saveGame();
}
Symbol 76 Button
on (release) {
_root.loadGame();
}
Symbol 107 MovieClip Frame 1
stop();
Symbol 110 MovieClip Frame 1
stop();
Symbol 120 MovieClip Frame 1
stop();
this.say1._visible = false;
Symbol 134 MovieClip Frame 1
stop();
Symbol 143 MovieClip Frame 1
stop();
Symbol 149 MovieClip Frame 1
stop();
Symbol 153 Button
on (release) {
_root.sayLevel = sayLevelBt._currentframe - 1;
_root.testStep = testStepBt._currentframe - 1;
sobj.data.testStep = testStep;
sobj.data.sayLevel = sayLevel;
sobj.flush();
gotoAndStop (1);
InitBoard(_root.editCount > 0);
}
Symbol 157 Button
on (release) {
_root.clearNum2();
_root.clearBack();
var i = 0;
while (i < numCells) {
_root["p" + i].n = " ";
i++;
}
_root.getAllCellnum();
_root.reLoadNum2();
}
Symbol 158 Button
on (release) {
_root.gotoAndStop(1);
_root.InitBoard(2);
}