Beispiel #1
0
        static void SolveDisplay(SolveProcedure proc)
        {
            Console.Write("Improve: {0} ", Sudoku.ImproveTypeName((ImproveType)proc.type));
            switch ((ImproveType)proc.type)
            {
            case ImproveType.DoNotImprove:
                Console.WriteLine("Do Not Improve");
                break;

            case ImproveType.Row2GridWith2Posibility:
            case ImproveType.Col2GridWith2Posibility:
            case ImproveType.Block2GridWith2Posibility:
                Console.WriteLine("gridOne: {0} {1}, gridTwo: {2} {3}, value: {4} {5}",
                                  proc.gridOneX,
                                  proc.gridOneY,
                                  proc.gridTwoX,
                                  proc.gridTwoY,
                                  proc.numberOne,
                                  proc.numberTwo);
                break;

            case ImproveType.Row3GridWith3Posibility:
            case ImproveType.Col3GridWith3Posibility:
            case ImproveType.Block3GridWith3Posibility:
                Console.WriteLine("gridOne: {0} {1}, gridTwo: {2} {3}, gridThree: {4} {5}, value: {6} {7} {8}",
                                  proc.gridOneX,
                                  proc.gridOneY,
                                  proc.gridTwoX,
                                  proc.gridTwoY,
                                  proc.gridThreeX,
                                  proc.gridThreeY,
                                  proc.numberOne,
                                  proc.numberTwo,
                                  proc.numberThree);
                break;

            case ImproveType.Row2NumberIn2Grid:
            case ImproveType.Col2NumberIn2Grid:
            case ImproveType.Block2NumberIn2Grid:
                Console.WriteLine("value: {0} {1}, gridOne: {2} {3}, gridTwo: {4} {5}",
                                  proc.numberOne,
                                  proc.numberTwo,
                                  proc.gridOneX,
                                  proc.gridOneY,
                                  proc.gridTwoX,
                                  proc.gridTwoY);
                break;

            case ImproveType.Row3NumberIn3Grid:
            case ImproveType.Col3NumberIn3Grid:
            case ImproveType.Block3NumberIn3Grid:
                Console.WriteLine("value: {0} {1} {2}, gridOne: {3} {4}, gridTwo: {5} {6}, gridThree: {7} {8}",
                                  proc.numberOne,
                                  proc.numberThree,
                                  proc.numberTwo,
                                  proc.gridOneX,
                                  proc.gridOneY,
                                  proc.gridTwoX,
                                  proc.gridTwoY,
                                  proc.gridThreeX,
                                  proc.gridThreeY);
                break;

            case ImproveType.InBlockNumberInOneRow:
            case ImproveType.InBlockNumberInOneCol:
                Console.WriteLine("block: {0} {1}, value: {2}, line: {3}", proc.panelRow, proc.panelCol, proc.number, proc.line);
                break;

            case ImproveType.InRowNumberInBlock:
            case ImproveType.InColNumberInBlock:
                Console.WriteLine("line: {0}, value: {1}, block: {2} {3}", proc.line, proc.number, proc.panelRow, proc.panelCol);
                break;

            case ImproveType.TwoRowOneNumberInTwoCol:
                Console.WriteLine("row: {0} {1}, value: {2}, column: {3} {4}",
                                  proc.rowOne,
                                  proc.rowTwo,
                                  proc.number,
                                  proc.colOne,
                                  proc.colTwo);
                break;

            case ImproveType.TwoColOneNumberInTwoRow:
                Console.WriteLine("column: {0} {1}, value: {2}, row: {3} {4}",
                                  proc.colOne,
                                  proc.colTwo,
                                  proc.number,
                                  proc.rowOne,
                                  proc.rowTwo);
                break;

            case ImproveType.ThreeRowOneNumberInThreeCol:
                Console.WriteLine("row: {0} {1} {2}, value: {3}, column: {4} {5} {6}",
                                  proc.rowOne,
                                  proc.rowTwo,
                                  proc.rowThree,
                                  proc.number,
                                  proc.colOne,
                                  proc.colTwo,
                                  proc.colThree);
                break;

            case ImproveType.ThreeColOneNumberInThreeRow:
                Console.WriteLine("column: {0} {1} {2}, value: {3}, row: {4} {5} {6}",
                                  proc.colOne,
                                  proc.colTwo,
                                  proc.colThree,
                                  proc.number,
                                  proc.rowOne,
                                  proc.rowTwo,
                                  proc.rowThree);
                break;

            default:
                Console.WriteLine("Do Not To Here: Default");
                break;
            }
        }