public void reveal() { CGenerator gen = new CGenerator(); gen.field = new int[, ] { { 3, -1, 2, 0, 0 }, { -1, -1, 2, 0, 0 }, { 2, 2, 2, 1, 1 }, { 0, 0, 1, -1, 1 } }; gen.reveal(3, 1); gen.reveal(0, 3); Assert.AreEqual(10, gen.field[3, 1]); Assert.AreEqual(10, gen.field[0, 3]); Assert.AreEqual(10, gen.field[3, 0]); Assert.AreEqual(2, gen.field[1, 2]); }
public void reveal() { CGenerator gen = new CGenerator(); gen.field = new int[, ] { { -1, -1, 0, 0, 0 }, { -1, -1, -1, -1, 0 }, { 0, -1, -1, -1, 0 }, { 0, -1, -1, -1, 0 } }; gen.reveal(3, 3); Assert.AreEqual(-1, gen.field[3, 3]); }
private void Btn_Click(object sender, RoutedEventArgs e) { ////получение значения лежащего в Tag int n = (int)((Button)sender).Tag; if (gen.getCell(n % 5, n / 5) == 0) { gen.reveal(n % 5, n / 5); Button[] buts = new Button[setka.Children.Count]; setka.Children.CopyTo(buts, 0); for (int i = 0; i < buts.Length; i++) { int ind = (int)(buts[i]).Tag; if (gen.getCell(ind % 5, ind / 5) == 10) { //установка фона нажатой кнопки, цвета и размера шрифта (buts[i]).Background = Brushes.MediumPurple; (buts[i]).Foreground = Brushes.Red; (buts[i]).FontSize = 23; //запись в нажатую кнопку её номера (buts[i]).Content = 0; h++; (buts[i]).Click -= Btn_Click; } } } else if (gen.getCell(n % 5, n / 5) > 0) { //установка фона нажатой кнопки, цвета и размера шрифта ((Button)sender).Background = Brushes.MediumPurple; ((Button)sender).Foreground = Brushes.Red; ((Button)sender).FontSize = 23; //запись в нажатую кнопку её номера ((Button)sender).Content = gen.getCell(n % 5, n / 5); h++; ((Button)sender).Click -= Btn_Click; if ((25 - h) == q) { MessageBox.Show("Du bist WINNER!"); } } else if (gen.getCell(n % 5, n / 5) == -1) { Button[] buts = new Button[setka.Children.Count]; setka.Children.CopyTo(buts, 0); for (int i = 0; i < buts.Length; i++) { int ind = (int)(buts[i]).Tag; if (gen.getCell(ind % 5, ind / 5) == -1) { Image img = new Image(); img.Source = mine; //создание переменной для отображения изображения мины StackPanel minePnl; //инициализация и установка ориентации, можно вызвать в методе инициализации формы minePnl = new StackPanel(); // minePnl.Orientation = Orientation.Vertical; //установка толщины границы объекта minePnl.Margin = new Thickness(1); //добавление в объект изображения minePnl.Children.Add(img); (buts[i]).Content = minePnl; } } MessageBox.Show("you are R E D I S K A "); setka.IsEnabled = false; } }
private void Btn_Click(object sender, RoutedEventArgs e) { ////получение значения лежащего в Tag int n = (int)((Button)sender).Tag; if (gen.getCell(n % 5, n / 5) == 0) { gen.reveal(n % 5, n / 5); Button[] buts = new Button[setka.Children.Count]; setka.Children.CopyTo(buts, 0); for (int i = 0; i < buts.Length; i++) { int ind = (int)(buts[i]).Tag; if (gen.getCell(ind % 5, ind / 5) == 10) { //установка фона нажатой кнопки, цвета и размера шрифта (buts[i]).Background = Brushes.CadetBlue; (buts[i]).Foreground = Brushes.Bisque; (buts[i]).FontSize = 23; //запись в нажатую кнопку её номера (buts[i]).Content = 0; h++; if ((25 - h) == q) { if (MessageBox.Show("Победа! Продолжить?", "Конец игры", MessageBoxButton.YesNo) == MessageBoxResult.No) { Environment.Exit(0); } else { setka.Children.Clear(); } } } if (gen.getCell(ind % 5, ind / 5) == 11 || gen.getCell(ind % 5, ind / 5) == 12 || gen.getCell(ind % 5, ind / 5) == 13 || gen.getCell(ind % 5, ind / 5) == 14 || gen.getCell(ind % 5, ind / 5) == 15) { //установка фона нажатой кнопки, цвета и размера шрифта (buts[i]).Background = Brushes.CadetBlue; (buts[i]).Foreground = Brushes.Bisque; (buts[i]).FontSize = 23; gen.field[ind % 5, ind / 5] -= 10; //запись в нажатую кнопку её номера (buts[i]).Content = gen.field[ind % 5, ind / 5]; h++; if ((25 - h) == q) { if (MessageBox.Show("Победа! Продолжить?", "Конец игры", MessageBoxButton.YesNo) == MessageBoxResult.No) { Environment.Exit(0); } else { setka.Children.Clear(); } } } } } else if (gen.getCell(n % 5, n / 5) > 0) { //установка фона нажатой кнопки, цвета и размера шрифта ((Button)sender).Background = Brushes.CadetBlue; ((Button)sender).Foreground = Brushes.Bisque; ((Button)sender).FontSize = 23; //запись в нажатую кнопку её номера ((Button)sender).Content = gen.getCell(n % 5, n / 5); h++; if ((25 - h) == q) { if (MessageBox.Show("Победа! Продолжить?", "Конец игры", MessageBoxButton.YesNo) == MessageBoxResult.No) { Environment.Exit(0); } else { setka.Children.Clear(); } } } else if (gen.getCell(n % 5, n / 5) == -1) { Button[] buts = new Button[setka.Children.Count]; setka.Children.CopyTo(buts, 0); for (int i = 0; i < buts.Length; i++) { int ind = (int)(buts[i]).Tag; if (gen.getCell(ind % 5, ind / 5) == -1) { Image img = new Image(); img.Source = mine; //создание переменной для отображения изображения мины StackPanel minePnl; //инициализация и установка ориентации, можно вызвать в методе инициализации формы minePnl = new StackPanel(); // minePnl.Orientation = Orientation.Vertical; //установка толщины границы объекта minePnl.Margin = new Thickness(1); //добавление в объект изображения minePnl.Children.Add(img); (buts[i]).Content = minePnl; } } if (MessageBox.Show("Вы проиграли!? Продолжить?", "Конец игры", MessageBoxButton.YesNo) == MessageBoxResult.No) { Environment.Exit(0); } else { setka.Children.Clear(); } setka.IsEnabled = false; } }