コード例 #1
0
ファイル: MainWindow.xaml.cs プロジェクト: crudm/hs
        private void b1_Click(object sender, RoutedEventArgs e)
        {
            ugr.Children.Clear();

            a = int.Parse(t1.Text);

            pl.set(a);
            pl.mines(a);
            pl.calc();

            if (a > 2 && a < 11)
            {
                ugr.Rows    = a;
                ugr.Columns = a;
                //указываются размеры сетки (число ячеек * (размер кнопки в ячейки + толщина её границ))
                ugr.Width  = a * (50 + 4);
                ugr.Height = a * (50 + 4);
                //толщина границ сетки
                ugr.Margin = new Thickness(5, 5, 5, 5);

                for (int i = 0; i < a * a; i++)
                {
                    //создание кнопки
                    Button btn = new Button();
                    //запись номера кнопки
                    btn.Tag = i;
                    //установка размеров кнопки
                    btn.Width  = 50;
                    btn.Height = 50;
                    //текст на кнопке
                    btn.Content = " ";
                    //толщина границ кнопки
                    btn.Margin = new Thickness(2);
                    //при нажатии кнопки, будет вызываться метод Btn_Click
                    btn.PreviewMouseDown += Btn_MouseDown;
                    //добавление кнопки в сетку
                    ugr.Children.Add(btn);
                }
            }
        }
コード例 #2
0
ファイル: Test.cs プロジェクト: crudm/hs
        public void mines()
        {
            play test = new play();

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

            test.mines(10);

            int mines = 0;

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

            Assert.AreEqual(10, mines);

            bool isBroken = true;

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

            Assert.AreEqual(true, isBroken);
        }