public static Sudoku GetStandart9(int[,] numbs) { Number.Position[][] block = new Number.Position[9 + 9 + 9][]; ///Добавление блоков (горизонтальные линии); for (int i = 0; i < 9; i++) { block[i] = new Number.Position[9]; for (int j = 0; j < 9; j++) { block[i][j] = new Number.Position(i, j); } } ///Добавление блоков (вертикальные линии); for (int i = 0; i < 9; i++) { block[9 + i] = new Number.Position[9]; for (int j = 0; j < 9; j++) { block[9 + i][j] = new Number.Position(j, i); } } ///Добавление блоков 3x3; int blockIndex = 9 + 9; for (int i = 0; i < 9; i += 3) { for (int j = 0; j < 9; j += 3, blockIndex++) { block[blockIndex] = new Number.Position[9]; int cellIndex = 0; for (int k = 0; k < 3; k++) { for (int l = 0; l < 3; l++, cellIndex++) { block[blockIndex][cellIndex] = new Number.Position(i + k, j + l); } } } } int[,] value = new int[9, 9]; ////////////// for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { value[i, j] = 0; } } //////////////// Number.NumberType[,] mask = new Number.NumberType[9, 9]; for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { mask[i, j] = Number.NumberType.Empty; } } Sudoku sudoku = new Sudoku(new Number.Position(9, 9), value, mask, block, 9); Interface.GenerateSudoku(sudoku); return sudoku; }
public static Sudoku GetStandart16(int[,] numbs) { Number.Position[][] block = new Number.Position[16 + 16 + 16][]; ///Добавление блоков (горизонтальные линии); for (int i = 0; i < 16; i++) { block[i] = new Number.Position[16]; for (int j = 0; j < 16; j++) { block[i][j] = new Number.Position(i, j); } } ///Добавление блоков (вертикальные линии); for (int i = 0; i < 16; i++) { block[16 + i] = new Number.Position[16]; for (int j = 0; j < 16; j++) { block[16 + i][j] = new Number.Position(j, i); } } ///Добавление блоков 4x4; int blockIndex = 16 + 16; for (int i = 0; i < 16; i += 4) { for (int j = 0; j < 16; j += 4, blockIndex++) { block[blockIndex] = new Number.Position[16]; int cellIndex = 0; for (int k = 0; k < 4; k++) { for (int l = 0; l < 4; l++, cellIndex++) { block[blockIndex][cellIndex] = new Number.Position(i + k, j + l); } } } } int[,] value = new int[16, 16]; ////////////// Random rand = new Random(); for (int i = 0; i < 16; i++) { for (int j = 0; j < 16; j++) { value[i, j] = rand.Next(16); } } //////////////// Number.NumberType[,] mask = new Number.NumberType[16, 16]; for (int i = 0; i < 16; i++) { for (int j = 0; j < 16; j++) { mask[i, j] = Number.NumberType.Empty; } } Sudoku sudoku = new Sudoku(new Number.Position(16, 16), value, mask, block, 16); ///Interface.GenerateSudoku(sudoku); return(sudoku); }
public static Sudoku GetStandart16(int[,] numbs) { Number.Position[][] block = new Number.Position[16 + 16 + 16][]; ///Добавление блоков (горизонтальные линии); for (int i = 0; i < 16; i++) { block[i] = new Number.Position[16]; for (int j = 0; j < 16; j++) { block[i][j] = new Number.Position(i, j); } } ///Добавление блоков (вертикальные линии); for (int i = 0; i < 16; i++) { block[16 + i] = new Number.Position[16]; for (int j = 0; j < 16; j++) { block[16 + i][j] = new Number.Position(j, i); } } ///Добавление блоков 4x4; int blockIndex = 16 + 16; for (int i = 0; i < 16; i += 4) { for (int j = 0; j < 16; j += 4, blockIndex++) { block[blockIndex] = new Number.Position[16]; int cellIndex = 0; for (int k = 0; k < 4; k++) { for (int l = 0; l < 4; l++, cellIndex++) { block[blockIndex][cellIndex] = new Number.Position(i + k, j + l); } } } } int[,] value = new int[16, 16]; ////////////// Random rand = new Random(); for (int i = 0; i < 16; i++) { for (int j = 0; j < 16; j++) { value[i, j] = rand.Next(16); } } //////////////// Number.NumberType[,] mask = new Number.NumberType[16, 16]; for (int i = 0; i < 16; i++) { for (int j = 0; j < 16; j++) { mask[i, j] = Number.NumberType.Empty; } } Sudoku sudoku = new Sudoku(new Number.Position(16, 16), value, mask, block, 16); ///Interface.GenerateSudoku(sudoku); return sudoku; }
public static Sudoku GetStandart9(int[,] numbs) { Number.Position[][] block = new Number.Position[9 + 9 + 9][]; ///Добавление блоков (горизонтальные линии); for (int i = 0; i < 9; i++) { block[i] = new Number.Position[9]; for (int j = 0; j < 9; j++) { block[i][j] = new Number.Position(i, j); } } ///Добавление блоков (вертикальные линии); for (int i = 0; i < 9; i++) { block[9 + i] = new Number.Position[9]; for (int j = 0; j < 9; j++) { block[9 + i][j] = new Number.Position(j, i); } } ///Добавление блоков 3x3; int blockIndex = 9 + 9; for (int i = 0; i < 9; i += 3) { for (int j = 0; j < 9; j += 3, blockIndex++) { block[blockIndex] = new Number.Position[9]; int cellIndex = 0; for (int k = 0; k < 3; k++) { for (int l = 0; l < 3; l++, cellIndex++) { block[blockIndex][cellIndex] = new Number.Position(i + k, j + l); } } } } int[,] value = new int[9, 9]; ////////////// for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { value[i, j] = 0; } } //////////////// Number.NumberType[,] mask = new Number.NumberType[9, 9]; for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { mask[i, j] = Number.NumberType.Empty; } } Sudoku sudoku = new Sudoku(new Number.Position(9, 9), value, mask, block, 9); Interface.GenerateSudoku(sudoku); return(sudoku); }