void ExecuteSolver(int size, int startRow, int startCol) { BacktrackSolver s = new BacktrackSolver((int)size, startRow, startCol); s.Start(); lock (locker) { box.Text += $"\nStart: ({startRow}, {startCol})\n" + s.Result.ExampleBoard.ToString() + $"\nPieces Placed: {s.Result.PieceCount}\n" + $"Moves examined: {s.Result.MoveCount}\n" + "\n-------------------------------------------------\n"; } }
private async void button1_Click(object sender, EventArgs e) { richTextBox1.Clear(); var size = boardSize.Value; var upperHalfSize = Math.Ceiling(size / 2); List <Task> solveTasks = new List <Task>(); for (int row = 0; row < upperHalfSize; row++) { for (int col = 0; col < upperHalfSize; col++) { BacktrackSolver s = new BacktrackSolver((int)size, row, col); var task = s.Start(); solveTasks.Add(task); } } }
private void BtnFire_Click(object sender, EventArgs e) { richTextBox1.Clear(); var size = boardSize.Value; var upperHalfSize = Math.Ceiling(size / 2); for (int row = 0; row < upperHalfSize; row++) { for (int col = 0; col < upperHalfSize; col++) { BacktrackSolver s = new BacktrackSolver((int)size, row, col); s.Start(); richTextBox1.Text += $"\nStart: ({row}, {col})\n" + s.Result.ExampleBoard.ToString() + $"\nPieces Placed: {s.Result.PieceCount}\n" + $"Moves examined: {s.Result.MoveCount}\n" + "\n-------------------------------------------------\n"; } } }