public bool IsEqualTo(SudokuBoard other) { for (int x = 0; x < 81; x++) { if (this.elements[x].Choices != other.elements[x].Choices) return false; } return true; }
public SudokuBoard(SudokuBoard other) { elements.Clear(); SudokuCell temp; foreach (SudokuCell cell in other.elements) { temp = new SudokuCell(); temp.Choices = cell.Choices; this.elements.Add(temp); } this.AssignHelpers(); }
private void btnSolve_Click(object sender, EventArgs e) { //SudokuBoard board = new SudokuBoard(); SudokuBoard board = new SudokuBoard(txtRow1.Text + txtRow2.Text + txtRow3.Text + txtRow4.Text + txtRow5.Text + txtRow6.Text + txtRow7.Text + txtRow8.Text + txtRow9.Text); btnSolve.Enabled = false; board.Solve(); btnSolve.Enabled = true; string output = board.ToString(); txtRow1.Text = output.Substring(0, 9); txtRow2.Text = output.Substring(9, 9); txtRow3.Text = output.Substring(18, 9); txtRow4.Text = output.Substring(27, 9); txtRow5.Text = output.Substring(36, 9); txtRow6.Text = output.Substring(45, 9); txtRow7.Text = output.Substring(54, 9); txtRow8.Text = output.Substring(63, 9); txtRow9.Text = output.Substring(72, 9); }
public void SetTestData() { SudokuBoard temp = new SudokuBoard("100007090030020008009600500005300900010080002600004000300000010040000007007000300"); SudokuBoard temp2 = new SudokuBoard("000000000030020008009600500005300900010080002600004000300000010040000007007000300"); for (int x = 0; x < 81; x++) { this.elements[x].Choices = temp.elements[x].Choices; } }
private static SudokuBoard OrBoardChoices(SudokuBoard b1, SudokuBoard b2) { SudokuBoard temp = new SudokuBoard(); for (int x = 0; x < 81; x++) { temp.elements[x].Choices = b1.elements[x].Choices | b2.elements[x].Choices; } return temp; }