Пример #1
0
        public override Sudoku generate()
        {
            int level = 1;
            switch (m_level)
            {
                case GameLevel.EASY:
                    level = 1;
                    break;
                case GameLevel.Normal:
                    level = 2;
                    break;
                case GameLevel.HARD:
                    level = 3;
                    break;
                case GameLevel.EXTREM:
                    level = 4;
                    break;
                default:
                    level = 2;
                break;
            }

            SudokuPuzzle gererator = new SudokuPuzzle();
            string sudoku = gererator.GetPuzzle(level);
            string solution = gererator.getPossible();

            Sudoku result = new Sudoku();
            for (int i = 0; i < 9;i++ )
            {
                for (int j = 0; j < 9; j++)
                {
                    int valeur = Int16.Parse(sudoku.Substring(i * 9 + j, 1));
                    CellFlag flags;
                    if (valeur==0)
                    {
                        flags=CellFlag.SAISIE;
                    }else{
                        flags=CellFlag.FIXE;
                    }
                    Cell cell = new Cell(flags, valeur, Int16.Parse(solution.Substring(i * 9 + j, 1)));
                    //cell.CellSolution = Int16.Parse(solution.Substring(i * 9 + j, 1));
                    result.Update(i, j, cell);
                }
            }
            return result;
        }