public void SDK_TransIX(int[] TrPara, bool TransB = false, bool DspSolB = false) { int rx = TrPara[8], cx = 1 - rx; for (int j = 0; j < 2; j++) { for (int k = 0; k < 9; k++) { int n = RCX[j, k / 3 + 9]; RCX[j + 2, k] = RCX[j, n + k % 3]; } } List <UCell> UCL = null; if (TransB) { UCL = new List <UCell>(); } int [] AnsN2 = new int[81]; int r, c, w; for (int rc = 0; rc < 81; rc++) { r = RCX[rx + 2, rc / 9]; c = RCX[cx + 2, rc % 9]; if (rx == 1) { w = r; r = c; c = w; } int rc2 = r * 9 + c; AnsN2[rc] = UPbas.AnsNum[rc2]; if (TransB) { UCell P = UPbas.BDL[rc2]; UCL.Add(new UCell(rc, P.No, P.FreeB)); } } if (TransB) { UPuzzle UP = pGP.Copy(0, 0); UP.BDL = UCL; UP.AnsNum = AnsN2; pGNP.SDKProbLst[ID] = UP; if (!DspSolB) { UP.BDL.ForEach(P => { P.No = Max(P.No, 0); }); } pGNP.CurrentPrbNo = ID; } SetIDCode(TrPara, AnsN2); }