public void calculate() { generator gen = new generator(); gen.field = new int[, ] { { 0, -1, -1, -1, 0 }, { 0, -1, 0, -1, 0 }, { 0, -1, -1, -1, 0 }, { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }; gen.calculate(); Assert.AreEqual(8, gen.field[1, 2]); Assert.AreEqual(2, gen.field[0, 0]); Assert.AreEqual(3, gen.field[1, 0]); Assert.AreEqual(1, gen.field[3, 0]); Assert.AreEqual(0, gen.field[4, 0]); gen.field = new int[, ] { { 0, -1, -1, -1, 0 }, { 0, -1, 0, -1, 0 }, { 0, 0, 0, -1, 0 }, { 0, 0, 0, -1, -1 }, { 0, 0, 0, 0, 0 } }; gen.calculate(); Assert.AreEqual(6, gen.field[1, 2]); Assert.AreEqual(4, gen.field[2, 4]); gen.field = new int[, ] { { 0, 0, -1, -1, 0 }, { 0, -1, 0, -1, 0 }, { 0, -1, -1, -1, 0 }, { 0, 0, 0, 0, 0 }, { 0, -1, 0, -1, 0 } }; gen.calculate(); Assert.AreEqual(7, gen.field[1, 2]); Assert.AreEqual(5, gen.field[3, 2]); }
private void Button_Click(object sender, RoutedEventArgs e) { open = 0; sp.IsEnabled = true; sp.Children.Clear(); //генерация поля gen.init(5); gen.plantMines(mines, mines); gen.calculate(); //количество ячеек в сетке sp.Rows = 5; sp.Columns = 5; //вычисление размеров сетки число_ячеек * (размер ячейки + толщина границы) sp.Width = 5 * (50 + 4); sp.Height = 5 * (50 + 4); sp.Margin = new Thickness(5, 5, 5, 5); //размеры окна this.Width = 5 * 70; this.Height = 6 * 70; //добавление кнопок в сетку for (int i = 0; i < 5 * 5; i++) { //создание кнопки Button btn = new Button(); //запись номера кнопки btn.Tag = i; //установка размеров кнопки btn.Width = 50; btn.Height = 50; //текст на кнопке btn.Content = " "; //толщина границ кнопки btn.Margin = new Thickness(2); //при нажатии кнопки, будет вызываться метод Btn_Click btn.Click += Btn_Click;; //добавление кнопки в сетку sp.Children.Add(btn); } }