Esempio n. 1
0
            public void scramble1()
            {
                Random rng = new Random();
                logic  l   = new logic(C, R);
                bool   p   = true;
                int    n   = 100;
                int    t;

                l.scramble(n);



                for (int i = 0; i < C; i++)
                {
                    for (int j = 0; j < R; j++)
                    {
                        t = l.img[i, j];

                        for (int k = i + 1; k < C; k++)
                        {
                            for (int m = j + 1; n < R; k++)
                            {
                                if (l.img[m, k] == t)
                                {
                                    p = true;
                                }
                                //else { p = true; }
                            }
                        }
                    }
                }


                Assert.IsTrue(p);
            }
Esempio n. 2
0
            public void move()
            {
                logic l = new logic(C, R);
                bool  p = false;

                //int ii = 1;
                //int jj = 1;
                //int num = 1;
                for (int i = 0; i < C; i++)
                {
                    for (int j = 0; j < R; j++)
                    {
                        int t1 = l.img[i, j];
                        int t2 = l.get(i, j);

                        l.move(i, j, i + j * C);

                        if (l.img[i, j] == t2 && l.get(i, j) == t1)
                        {
                            p = true;
                        }
                    }
                }


                Assert.IsTrue(p);
            }
Esempio n. 3
0
            public void logic()
            {
                logic l = new logic(C, R);
                bool  p = true;

                for (int i = 0; i < C; i++)
                {
                    for (int j = 0; j < R; j++)
                    {
                        if (l.img[i, j] != i + j * C)
                        {
                            p = false;
                        }
                    }
                }
                Assert.IsTrue(p);
            }
Esempio n. 4
0
            public void scramble2()
            {
                Random rng = new Random();
                logic  l   = new logic(C, R);
                bool   p   = true;
                bool   d   = true;
                int    n   = 10;
                int    e   = 0;
                int    t;
                int    y;

                l.scramble(n);


                for (int i = 0; i < C; i++)
                {
                    for (int j = 0; j < R; j++)
                    {
                        for (int k = 0; k < C * R; k++)
                        {
                            t = l.img[i, j];
                            if (l.img[i, j] != t)
                            {
                                p = false;
                            }
                            else
                            {
                                p = true; e++;
                            }
                        }
                    }
                }
                y = (e / n) * 100;


                Assert.IsTrue(y > 50);
            }
Esempio n. 5
0
        private void name_Click(object sender, RoutedEventArgs e)
        {
            DispatcherTimer dtClockTime = new DispatcherTimer();

            dtClockTime.Tick    += dispatcherTimer_Tick;
            dtClockTime.Interval = new TimeSpan(0, 0, 1);
            dtClockTime.Start();

            shapes = new Rectangle[N];

            l = new logic(C, R);
            l.scramble(100);

            desk.Children.Clear();
            desk.Children.Add(raz);

            for (int i = 0; i < C; i++)
            {
                for (int j = 0; j < R; j++)
                {
                    int ind = l.get(i, j);

                    shapes[ind]     = new Rectangle();
                    shapes[ind].Tag = ind;

                    ImageBrush ib = new ImageBrush();
                    //позиция изображения будет указана как координаты левого верхнего угла
                    //изображение будет выведено без растяжения/сжатия
                    ib.AlignmentX = AlignmentX.Left;
                    ib.AlignmentY = AlignmentY.Top;
                    ib.Stretch    = Stretch.None;
                    //участок изображения который будет нарисован
                    //в данном случае, второй кадр первой строки

                    int py = ind / C;
                    int px = ind - (py * C);

                    ib.Viewbox = new Rect(px * W, py * H, px * W + W, py * H + H);

                    ib.ViewboxUnits = BrushMappingMode.Absolute;

                    //загрузка изображения и назначение кисти
                    ib.ImageSource   = img;
                    shapes[ind].Fill = ib;
                    //толщина и цвет обводки
                    shapes[ind].StrokeThickness = 2;
                    shapes[ind].Stroke          = Brushes.Black;
                    //размеры овала
                    shapes[ind].Width  = W;
                    shapes[ind].Height = H;
                    //позиция овала
                    //shapes[i].Margin = new Thickness(0, 0, 0, 0);


                    shapes[ind].RenderTransform = new TranslateTransform(i * W, j * H);

                    //добавление овала в сцену
                    desk.Children.Add(shapes[ind]);

                    shapes[ind].MouseDown += MainWindow_MouseDown;
                    shapes[ind].MouseUp   += MainWindow_MouseUp;
                }
            }
        }