示例#1
0
文件: test.cs 项目: lapolia/hexe
        public void plantMines()
        {
            CGenerator gen = new CGenerator();

            gen.field = new int[5, 5];

            gen.plantMines(10);

            int mines = 0;

            for (int i = 0; i < gen.field.GetLength(0); i++)
            {
                for (int j = 0; j < gen.field.GetLength(1); j++)
                {
                    if (gen.field[i, j] == -1)
                    {
                        mines++;
                    }
                }
            }

            Assert.AreEqual(10, mines);

            bool isBroken = false;

            for (int i = 0; i < gen.field.GetLength(0); i++)
            {
                for (int j = 0; j < gen.field.GetLength(1); j++)
                {
                    if (gen.isBroken(i, j) == true)
                    {
                        isBroken = true;
                    }
                }
            }

            Assert.AreEqual(false, isBroken);

            var ex2 = Assert.Throws <ArgumentException>(() => gen.plantMines(20));

            Assert.That(ex2.Message, Is.EqualTo("МНОГО МИН"));

            var ex3 = Assert.Throws <ArgumentException>(() => gen.plantMines(2));

            Assert.That(ex3.Message, Is.EqualTo("МАЛО МИН"));
        }
示例#2
0
        private void b1_Click(object sender, RoutedEventArgs e)
        {
            h = 0;
            setka.Children.Clear();
            setka.IsEnabled = true;
            //
            gen.init(5);
            gen.plantMines(q);
            gen.calculate();

            //указыается количество строк и столбцов в сетке
            setka.Rows    = 5;
            setka.Columns = 5;
            //указываются размеры сетки (число ячеек * (размер кнопки в ячейки + толщина её границ))
            setka.Width  = 5 * (70 + 4);
            setka.Height = 5 * (70 + 4);
            //толщина границ сетки
            setka.Margin = new Thickness(3);

            this.Width  = 5 * 80;
            this.Height = 6 * 92;

            for (int i = 0; i < 5 * 5; i++)
            {
                //создание кнопки
                Button btn = new Button();
                //запись номера кнопки
                btn.Tag = i;
                //установка размеров кнопки
                btn.Width = 65;
                //btn.Background = Brushes.CadetBlue;
                btn.Height = 65;
                //текст на кнопке
                btn.Content = " ";
                //толщина границ кнопки
                btn.Margin = new Thickness(1);
                //при нажатии кнопки, будет вызываться метод Btn_Click
                btn.Click += Btn_Click;
                //добавление кнопки в сетку
                setka.Children.Add(btn);
            }
        }