public void Copy1(PuzzleMap map) { for (int i = 0; i < NewArray.GetLength(0); i++) { for (int j = 0; j < NewArray.GetLength(1); j++) { NewArray[i, j] = map.Matran[i, j]; } } }
public void ReverseCopy(PuzzleMap map) { for (int i = 0; i < CopyArray.GetLength(0); i++) { for (int j = 0; j < CopyArray.GetLength(1); j++) { map.Matran[i, j] = CopyArray[i, j]; } } }
public void test(PuzzleMap map) { Copy1(map); for (int i = 0; i < NewArray.GetLength(0); i++) { for (int j = 0; j < NewArray.GetLength(1); j++) { Console.Write(NewArray[i, j] + " "); } Console.WriteLine(); } Console.WriteLine(); ////////////////////////////////////////////////////////////////// for (int i = 0; i < map.Matran.GetLength(0); i++) { for (int j = 0; j < map.Matran.GetLength(1); j++) { if (i == 1 && j == 2) { int tam = map.Matran[i, j]; map.Matran[i, j] = map.Matran[i - 1, j]; map.Matran[i - 1, j] = tam; } } } for (int i = 0; i < map.Matran.GetLength(0); i++) { for (int j = 0; j < map.Matran.GetLength(1); j++) { Console.Write(map.Matran[i, j] + " "); } Console.WriteLine(); } Console.WriteLine(); ////////////////////////////////////////////////////////////////// map.Matran = NewArray; for (int i = 0; i < map.Matran.GetLength(0); i++) { for (int j = 0; j < map.Matran.GetLength(1); j++) { Console.Write(map.Matran[i, j] + " "); } Console.WriteLine(); } }
public void ExchangeLeft(PuzzleMap map, int vtx, int vty) { Copy(map); for (int i = 0; i < map.Matran.GetLength(0); i++) { for (int j = 0; j < map.Matran.GetLength(1); j++) { if (i == vtx && j == vty) { int tam = map.Matran[i, j]; map.Matran[i, j] = map.Matran[i, j - 1]; map.Matran[i, j - 1] = tam; } } } Console.WriteLine("MOVE LEFT : "); map.Output(); AddItem(map); ReverseCopy(map); }
public void CheckAndStorePosition(PuzzleMap map) { // Xác định vị trí khoảng trống để tìm ... map.FindTheNullPosition(); int vtx = map.VTX; // luu lai vi tri x cua khoang trong int vty = map.VTY; // luu lai vi tri y cua khoang trong int n = map.N; if ((vtx == n - 1 || vtx == 0) && (vty == n - 1 || vty == 0)) { Console.WriteLine("Corner !"); } else if ((vtx > 0 && vtx < n - 1) && (vty > 0 && vty < n - 1)) { Console.WriteLine("Center !"); } else { Console.WriteLine("Side !"); ExchangeLeft(map, vtx, vty); ExchangeTop(map, vtx, vty); } }
public void AddItem(PuzzleMap mapk) { ds.Add(mapk); // mapk.CalculateF(); //dsF.Add(mapk.f); }