private void update_check_status() { label3.Visible = true; try { main.Check(); label3.Text = "Все нормально"; foreach (TextBox te in mas) { te.BackColor = Color.White; } foreach (TextBox te in mas_sum) { te.BackColor = Color.White; } } catch (MyException_row_or_col e) { label3.Text = "Ошибка заполнения: " + e.Message; if ((int)e.dir / 2 == 0) { for (int i = 0; i < main.n; i++) { mas[e.number, i].BackColor = Color.Red; } } else { for (int i = 0; i < main.n; i++) { mas[i, e.number].BackColor = Color.Red; } } } catch (MyException_row_or_col_and_sum e) { label3.Text = "Ошибка заполнения: " + e.Message; if ((int)e.dir / 2 == 0) { for (int i = 0; i < main.n; i++) { mas[e.number, i].BackColor = Color.Red; } } else { for (int i = 0; i < main.n; i++) { mas[i, e.number].BackColor = Color.Red; } } mas_sum[e.dir, e.number].BackColor = Color.Blue; } catch (MyException_cell e) { label3.Text = "Ошибка заполнения: " + e.Message; mas[e.i, e.j].BackColor = Color.Red; } }
bool Ariadna(table t, point p) { bool l_d = false; if (g_d && l_d) { CallBackMy.callbackEventHandler("Рассматриваем таблицку\n"); t.print(); t.print_cand(); CallBackMy.callbackEventHandler("\n"); } t.set_cell(p); int k = 0; for (k = 0; (k < 5) && !t.is_full(); k++) { try { t.Check(); //методы работы для Ариадны t.creating_blocks(); t.optimization_blocks(); t.Check(); t.sum_two(); t.check_set_single(); t.Check(); t.max_stairs(); t.check_set_single(); t.Check(); t.min_stairs(); t.check_set_single(); t.Check(); t.free_stairs(); t.check_set_single(); t.Check(); //t->print_blocks(); //сама Ариадна //if (t.entry_level < 2 && k >= 4) //{ // t.Ariadna_s_thread(); t.check_set_single(); //} } catch (Exception e) { CallBackMy.callbackEventHandler("Уровень " + t.entry_level + ": Ариадна отсекла кандидат " + p.value + " у ячейки (" + p.x + ", " + p.y + ")\n"); this.candidates[p.x, p.y, p.value - 1] = false; return(true); } } if (g_d && l_d) { CallBackMy.callbackEventHandler("После преобразований\n"); t.print(); t.print_cand(); CallBackMy.callbackEventHandler("\n"); } return(false); }