Exemplo n.º 1
0
        public static void test( Puzzle initial, String proconFormat )
        {
            String[] lines = proconFormat.Split( new string[]{Environment.NewLine}, StringSplitOptions.None);
            int choiceCount = int.Parse( lines[0] );
            for( int i = 0; i < choiceCount; i++ )
            {
                String pos = lines[1 + i * 3];
                int moveCount = int.Parse(lines[2 + i * 3]);
                int blankColumn = int.Parse(pos[0].ToString(), System.Globalization.NumberStyles.AllowHexSpecifier) + 1;
                int blankRow = int.Parse(pos[1].ToString(), System.Globalization.NumberStyles.AllowHexSpecifier) + 1;
                int blank = initial[blankColumn,blankRow];
                initial.Choice(blank);
                for( int j = 0; j < moveCount; j++ )
                {
                    Puzzle.Position move = initial.CharToPosition(lines[(i + 1) * 3][j]);
                    if (!initial.DoMove(move))
                        throw new Exception();
                }
            }

            Console.WriteLine();
            for (int i = 1; i <= Problem.row; i++)
            {
                for (int j = 1; j <= Problem.column; j++)
                {
                    Console.Write(initial.Data[initial.CoordToPosition(j, i)] + "\t");
                }
                Console.WriteLine();
            }
        }