private void Game_Load(object sender, EventArgs e) { SudokuStandart d = new SudokuStandart(); BaseGrid = new int[9, 9]; d.GenBase(BaseGrid, 3, 9); }
private void Sudoku16x16_Click(object sender, EventArgs e) { Sudoku9x9.Enabled = true; Sudoku16x16.Enabled = false; SudokuStandart d = new SudokuStandart(); BaseGrid = new int[16, 16]; d.GenBase(BaseGrid, 4, 16); }
private void Generate_Click(object sender, EventArgs e) { int rs; int bl; if (Sudoku9x9.Enabled == false) { rs = 9; bl = 3; } else { rs = 16; bl = 4; } SudokuStandart d = new SudokuStandart(); SudokuGrid.Enabled = true; //BaseGrid = new int[rs, rs]; //d.GenBase(BaseGrid, bl, rs); int c; for (int k = 1; k <= 1000; k++) { c = r.Next(1, 6); switch (c) { case 1: d.Transp(BaseGrid, rs); goto case 5; case 2: d.SwapRow(BaseGrid, bl, rs, r); goto case 3; case 3: d.SwapCol(BaseGrid, bl, rs, r); goto case 1; case 4: d.SwapCols(BaseGrid, bl, rs, r); goto case 2; case 5: d.SwapRows(BaseGrid, bl, rs, r); break; } } SudokuGrid.RowCount = rs; SudokuGrid.ColumnCount = rs; SudokuGrid.AllowUserToAddRows = false; SudokuGrid.AllowUserToDeleteRows = false; SudokuGrid.AllowUserToResizeRows = false; SudokuGrid.AllowUserToResizeColumns = false; int w = SudokuGrid.Width; int h = SudokuGrid.Height; for (int i = 0; i < rs; i++) { for (int j = 0; j < rs; j++) { SudokuGrid[i, j].Value = BaseGrid[i, j]; SudokuGrid.Columns[i].Width = w / rs; SudokuGrid.Rows[i].Height = h / rs; SudokuGrid[i, j].Style.BackColor = Color.White; SudokuGrid[i, j].ReadOnly = false; SudokuGrid.Rows[i].DividerHeight = 0; SudokuGrid.Columns[i].DividerWidth = 0; } } int a; int b; for (int s = 0; s < (rs * rs - 15); s++) { a = r.Next(0, rs); b = r.Next(0, rs); SudokuGrid[a, b].Value = " "; } p = 0; for (int i = 0; i < rs; i++) { for (int j = 0; j < rs; j++) { if (SudokuGrid[i, j].Value.ToString() != " ") { SudokuGrid[i, j].ReadOnly = true; SudokuGrid[i, j].Style.BackColor = Color.LightGray; p++; } } } Test.Enabled = true; o = 10; Trys.Text = o.ToString(); st = 0; time = 0; for (int i = 1; i < bl; i++) { SudokuGrid.Rows[bl * i - 1].DividerHeight = 2; SudokuGrid.Columns[bl * i - 1].DividerWidth = 2; } }