Exemplo n.º 1
0
 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];
         }
     }
 }
Exemplo n.º 2
0
 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];
         }
     }
 }
Exemplo n.º 3
0
        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();
            }
        }
Exemplo n.º 4
0
 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);
 }
Exemplo n.º 5
0
        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);
            }
        }
Exemplo n.º 6
0
 public void AddItem(PuzzleMap mapk)
 {
     ds.Add(mapk);
     // mapk.CalculateF();
     //dsF.Add(mapk.f);
 }